{
  "markdown": "# Bawbel MCP Server\n\n<!-- mcp-name: io.github.bawbel/bawbel-mcp -->\n\n**Security scanner for MCP servers and agentic AI components, exposed as MCP tools.**\n\nBawbel MCP Server lets any MCP-compatible agent scan servers, check skill files,\nscore conformance, manage justified suppressions, and query the AVE threat\nintelligence database mid-conversation.\n\n[![PyPI version](https://badge.fury.io/py/bawbel-mcp.svg)](https://pypi.org/project/bawbel-mcp/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/bawbel-mcp.svg)](https://pypi.org/project/bawbel-mcp/)\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/bawbel-mcp.svg)](https://pypi.org/project/bawbel-mcp/)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)\n[![AVE Standard](https://img.shields.io/badge/AVE_Records-48-teal.svg)](https://github.com/bawbel/ave)\n[![MCP Compatible](https://img.shields.io/badge/MCP-compatible-blue.svg)](https://modelcontextprotocol.io)\n[![Powered by](https://img.shields.io/badge/powered_by-bawbel--scanner_v1.2.2-1B5E3F.svg)](https://github.com/bawbel/scanner)\n\n---\n\n## Install\n\n```bash\npip install bawbel-mcp\n```\n\nOr with all detection engines (YARA, Semgrep, LLM, Magika, Sandbox):\n\n```bash\npip install \"bawbel-mcp[all]\"\n```\n\n---\n\n## Tools\n\n| Tool | Description |\n|---|---|\n| `scan_content` | Scan raw text content for AVE vulnerabilities |\n| `scan_server_card` | Fetch and scan an MCP server-card before connecting |\n| `scan_creds` | Credential-focused scan (API keys, tokens, passwords, private keys) |\n| `scan_chain` | Delegation chain scan (unsafe sub-agent spawning and inherited permissions) |\n| `check_conformance` | Score a server manifest against the MCP spec (18 checks, A+ to F) |\n| `accept_finding` | Insert a justified suppression with reason, reviewer, and optional expiry |\n| `lookup_ave` | Get a full AVE record by ID with remediation guidance |\n| `search_ave` | Search AVE records by keyword |\n| `list_ave` | List all AVE records with optional severity/category filters |\n| `check_pins` | Detect rug pull drift in a directory of skill files |\n\n## Resources\n\n| Resource | Description |\n|---|---|\n| `ave://stats` | Current AVE database statistics |\n| `ave://record/{ave_id}` | Full AVE record for a specific ID |\n\n---\n\n## Usage\n\n### Claude Desktop\n\nAdd to `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"bawbel\": {\n      \"command\": \"uvx\",\n      \"args\": [\"bawbel-mcp\"]\n    }\n  }\n}\n```\n\n### Claude Code\n\n```bash\nclaude mcp add bawbel uvx bawbel-mcp\n```\n\n### Cursor / Windsurf\n\nAdd to your MCP settings:\n\n```json\n{\n  \"bawbel\": {\n    \"command\": \"uvx\",\n    \"args\": [\"bawbel-mcp\"]\n  }\n}\n```\n\n### Remote deployment (Streamable HTTP)\n\n```bash\nuvx bawbel-mcp --transport streamable-http --host 0.0.0.0 --port 8000\n```\n\n---\n\n## Example conversations\n\n**Scan a server before connecting:**\n\n> \"Before I add this MCP server to my config, scan it for security issues:\n> https://api.some-mcp-server.com\"\n\nClaude calls `scan_server_card(\"https://api.some-mcp-server.com\")` and reports\nfindings with AVE IDs, AIVSS severity scores, and remediation steps.\n\n**Check a skill file:**\n\n> \"Check this skill file content for prompt injection vulnerabilities\"\n\nClaude calls `scan_content(content)` and returns findings including any\ntoxic flow chains detected.\n\n**Check for hardcoded credentials:**\n\n> \"Does this skill file contain any hardcoded API keys or secrets?\"\n\nClaude calls `scan_creds(content)` and returns credential findings only.\n\n**Check for unsafe delegation:**\n\n> \"Does this skill spawn sub-agents without proper trust boundaries?\"\n\nClaude calls `scan_chain(content)` and returns delegation chain findings.\n\n**Accept a false positive:**\n\n> \"Mark AVE-2026-00001 on line 7 of travel.md as a false positive.\n> Reason: internal registry endpoint, not attacker-controlled.\"\n\nClaude calls `accept_finding(...)` and writes the justified suppression\ncomment directly into the file. The approval is tracked in version control.\n\n**Score a server against the spec:**\n\n> \"Does this server follow the MCP spec? https://api.some-mcp-server.com\"\n\nClaude calls `check_conformance(\"https://api.some-mcp-server.com\")` and\nreturns a score, grade, and list of failed checks.\n\n**Look up a vulnerability:**\n\n> \"What is AVE-2026-00041 and how do I fix it?\"\n\nClaude calls `lookup_ave(\"AVE-2026-00041\")` and returns the full record\nwith behavioral fingerprint, IOCs, and remediation steps.\n\n**Search for relevant vulnerabilities:**\n\n> \"What AVE records cover credential exfiltration?\"\n\nClaude calls `search_ave(\"credential exfiltration\")` and returns matching\nrecords with AIVSS scores and OWASP MCP categories.\n\n**Audit mode - see all findings including suppressed:**\n\n> \"Scan this file and show me everything, including suppressed findings.\"\n\nClaude calls `scan_content(content, no_ignore=True)` and bypasses all\nsuppression layers.\n\n---\n\n## Requirements\n\n- Python 3.10+\n- `bawbel-scanner>=1.2.2` (installed automatically)\n- `fastmcp>=3.0.0` (installed automatically)\n\nThe `bawbel` CLI must be available in PATH. Installing `bawbel-mcp` installs\n`bawbel-scanner` which provides the `bawbel` CLI.\n\n---\n\n## Related\n\n- [bawbel-scanner](https://github.com/bawbel/scanner) - CLI scanner\n- [bawbel/ave](https://github.com/bawbel/ave) - AVE standard and records\n- [api.piranha.bawbel.io](https://api.piranha.bawbel.io) - Threat intel API\n- [bawbel.io/docs](https://bawbel.io/docs) - Full documentation\n\n---\n\nApache 2.0. Built by [Bawbel](https://bawbel.io).",
  "bytes": 5484,
  "sha": "dcc10b9bb2947a7c54c90ec49e512d1a381731dc2c2bb3c9c7f0f6551c5d6e91",
  "repo_slug": "bawbel/bawbel-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_bawbel_bawbel_mcp_ac444c9c/readme"
}