MCPAmpel
# MCPAmpel - MCP Security Scanner
[](https://mcpampel.com/repo/MCPAmpel/mcpampel)
Scan your installed MCP servers for security vulnerabilities, directly from your AI agent.
MCPAmpel discovers MCP servers from your Claude Code, Cursor, Windsurf, or Gemini CLI configuration, submits them to 16 scanning engines, and returns an aggregated trust score with detailed findings.
50 API calls/day included.
## Quick Start
```bash
uvx mcpampel
```
## Configuration
### Claude Code / Claude Desktop
Add to `~/.claude/settings.json` or `claude_desktop_config.json`:
```json
{
"mcpServers": {
"mcpampel": {
"command": "uvx",
"args": ["mcpampel"],
"env": {
"MCPAMPEL_API_KEY": "your_key_here"
}
}
}
}
```
### Cursor
Add to `~/.cursor/mcp.json`:
```json
{
"mcpServers": {
"mcpampel": {
"command": "uvx",
"args": ["mcpampel"],
"env": {
"MCPAMPEL_API_KEY": "your_key_here"
}
}
}
}
```
### Windsurf
Add to `~/.codeium/windsurf/mcp_config.json`:
```json
{
"mcpServers": {
"mcpampel": {
"command": "uvx",
"args": ["mcpampel"],
"env": {
"MCPAMPEL_API_KEY": "your_key_here"
}
}
}
}
```
### Gemini CLI
Add to `~/.gemini/settings.json`:
```json
{
"mcpServers": {
"mcpampel": {
"command": "uvx",
"args": ["mcpampel"],
"env": {
"MCPAMPEL_API_KEY": "your_key_here"
}
}
}
}
```
### Getting an API Key
Register for free at [mcpampel.com](https://mcpampel.com).
### Environment Variables
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `MCPAMPEL_API_KEY` | Yes | - | Your API key (free at mcpampel.com) |
| `MCPAMPEL_BASE_URL` | No | `https://mcpampel.com` | API base URL |
## Tools
### `scan_my_servers`
Discovers all MCP servers from your editor config and scans them with 16 engines. Returns a summary table with trust scores. No input needed.
### `scan_url`
Scan a single GitHub, GitLab, npm, or PyPI URL. Returns trust score, engine breakdown, and findings.
| Parameter | Type | Required |
|-----------|------|----------|
| `url` | string | Yes |
### `check_status`
Show your daily quota usage and remaining scans.
### `get_scan_results`
Get detailed results for a specific scan by ID. Use after `scan_my_servers` or `scan_url` to drill into findings.
| Parameter | Type | Required |
|-----------|------|----------|
| `scan_id` | string | Yes |
## Development
```bash
cd mcp-plugin
uv sync
uv run pytest
```
## License
Apache License 2.0
---
[mcpampel.com](https://mcpampel.com)
<!-- mcp-name: io.github.MCPAmpel/mcpampel -->
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: quota checking, local server scanning, URL scanning, and result retrieval. No functional overlap exists between the four tools.
Tools follow a consistent snake_case pattern with leading action verbs (check, get, scan). Minor deviation with 'scan_my_servers' including the possessive pronoun 'my' while others use direct nouns (scan_url, get_scan_results).
Four tools is an appropriate, focused count for a security scanning service covering status checks, two distinct scan targets (local servers vs remote URLs), and result retrieval.
Core scanning workflows are present, but the absence of a list_scans tool creates a notable gap—agents cannot discover historical scan IDs without perfect memory of previous scan operations, limiting the utility of get_scan_results.