MCPSentinel is a specialized security reconnaissance tool designed to detect exposed and unauthenticated Model Context Protocol (MCP) endpoints, Ollama servers, and common LLM proxies.
- MCP Detection: Scans for common MCP endpoints and validates protocol responses.
- Ollama Scanner: Identifies exposed Ollama instances and lists available models.
- LLM Proxy Identification: Detects LiteLLM, vLLM, and other OpenAI-compatible proxies.
- Asynchronous Scanning: High-performance scanning using
aiohttpandasyncio. - Flexible Reporting: Terminal-based tables and JSON export support.
git clone https://github.com/PremLabs-Security/MCPSentinel.git
cd MCPSentinel
pip install -e .Scan a single target:
mcpsentinel --target http://localhost:11434Scan multiple targets from a file:
mcpsentinel --file targets.txt --output results.jsonimport asyncio
from mcpsentinel.scanner import Scanner
async def run_scan():
scanner = Scanner()
results = await scanner.scan_target("http://localhost:11434")
print(results)
asyncio.run(run_scan())This tool is intended for authorized security testing and research purposes only. Unauthorized scanning of systems you do not own or have explicit permission to test may be illegal. The authors are not responsible for any misuse of this tool.
This project is licensed under the MIT License - see the LICENSE file for details.
Developed by Pramod Jogdand | PremLabs-Security
MCPSentinel is intended for authorized defensive assessment of MCP servers, Ollama instances, and compatible LLM proxies that you own or have explicit permission to test. It helps identify reachable services and indicators of unsafe exposure; it is not a substitute for a full penetration test, code review, or production monitoring program.
The safest way to evaluate the project is in a local lab or an explicitly authorized staging environment. Use private test targets such as localhost, a local container, or an organization-owned test host. Do not scan public IP ranges, third-party services, or systems without written authorization.
MCPSentinel is an open-source research and defensive tooling project. Detection behavior depends on network reachability, endpoint configuration, service versions, and the selected scan options. A positive result is an indicator for investigation, not proof of compromise; a negative result does not prove that a target is secure. Validate findings manually and follow the responsible-disclosure process for issues affecting third parties.
The project currently provides a CLI, a Python API, JSON output, tests, packaging, and continuous-integration checks. Interfaces and detection coverage may evolve between releases. Please open an issue with a reproducible, authorized test case when a detector produces an unexpected result.
Run the scanner only against a local or explicitly authorized target:
mcpsentinel --target http://localhost:11434 --output results.jsonReview the generated JSON before sharing it. Remove tokens, credentials, internal hostnames, and personal data from reports.