Bawbel Scanner

Official registry Security

Scan MCP servers and skill files for AVE vulnerabilities. Conformance scoring and threat intel.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package bawbel-mcp
Claude Code
claude mcp add bawbel-scanner -- uvx bawbel-mcp==1.1.0
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "bawbel-scanner": {
            "command": "uvx",
            "args": [
                "bawbel-mcp==1.1.0"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Bawbel MCP Server
  2. Install
  3. Tools
  4. Resources
  5. Usage
  6. Example conversations
  7. Requirements
  8. Related

Bawbel MCP Server

Security scanner for MCP servers and agentic AI components, exposed as MCP tools.

Bawbel MCP Server lets any MCP-compatible agent scan servers, check skill files, score conformance, manage justified suppressions, and query the AVE threat intelligence database mid-conversation.


Install

pip install bawbel-mcp

Or with all detection engines (YARA, Semgrep, LLM, Magika, Sandbox):

pip install "bawbel-mcp[all]"

Tools

ToolDescription
scan_contentScan raw text content for AVE vulnerabilities
scan_server_cardFetch and scan an MCP server-card before connecting
scan_credsCredential-focused scan (API keys, tokens, passwords, private keys)
scan_chainDelegation chain scan (unsafe sub-agent spawning and inherited permissions)
check_conformanceScore a server manifest against the MCP spec (18 checks, A+ to F)
accept_findingInsert a justified suppression with reason, reviewer, and optional expiry
lookup_aveGet a full AVE record by ID with remediation guidance
search_aveSearch AVE records by keyword
list_aveList all AVE records with optional severity/category filters
check_pinsDetect rug pull drift in a directory of skill files

Resources

ResourceDescription
ave://statsCurrent AVE database statistics
ave://record/{ave_id}Full AVE record for a specific ID

Usage

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "bawbel": {
      "command": "uvx",
      "args": ["bawbel-mcp"]
    }
  }
}
Claude Code
claude mcp add bawbel uvx bawbel-mcp
Cursor / Windsurf

Add to your MCP settings:

{
  "bawbel": {
    "command": "uvx",
    "args": ["bawbel-mcp"]
  }
}
Remote deployment (Streamable HTTP)
uvx bawbel-mcp --transport streamable-http --host 0.0.0.0 --port 8000

Example conversations

Scan a server before connecting:

"Before I add this MCP server to my config, scan it for security issues: https://api.some-mcp-server.com";

Claude calls scan_server_card("https://api.some-mcp-server.com") and reports findings with AVE IDs, AIVSS severity scores, and remediation steps.

Check a skill file:

"Check this skill file content for prompt injection vulnerabilities"

Claude calls scan_content(content) and returns findings including any toxic flow chains detected.

Check for hardcoded credentials:

"Does this skill file contain any hardcoded API keys or secrets?"

Claude calls scan_creds(content) and returns credential findings only.

Check for unsafe delegation:

"Does this skill spawn sub-agents without proper trust boundaries?"

Claude calls scan_chain(content) and returns delegation chain findings.

Accept a false positive:

"Mark AVE-2026-00001 on line 7 of travel.md as a false positive. Reason: internal registry endpoint, not attacker-controlled."

Claude calls accept_finding(...) and writes the justified suppression comment directly into the file. The approval is tracked in version control.

Score a server against the spec:

"Does this server follow the MCP spec? https://api.some-mcp-server.com";

Claude calls check_conformance("https://api.some-mcp-server.com") and returns a score, grade, and list of failed checks.

Look up a vulnerability:

"What is AVE-2026-00041 and how do I fix it?"

Claude calls lookup_ave("AVE-2026-00041") and returns the full record with behavioral fingerprint, IOCs, and remediation steps.

Search for relevant vulnerabilities:

"What AVE records cover credential exfiltration?"

Claude calls search_ave("credential exfiltration") and returns matching records with AIVSS scores and OWASP MCP categories.

Audit mode - see all findings including suppressed:

"Scan this file and show me everything, including suppressed findings."

Claude calls scan_content(content, no_ignore=True) and bypasses all suppression layers.


Requirements

  • Python 3.10+
  • bawbel-scanner>=1.2.2 (installed automatically)
  • fastmcp>=3.0.0 (installed automatically)

The bawbel CLI must be available in PATH. Installing bawbel-mcp installs bawbel-scanner which provides the bawbel CLI.



Apache 2.0. Built by Bawbel.

Frequently asked questions

What is Bawbel Scanner?

Scan MCP servers and skill files for AVE vulnerabilities. Conformance scoring and threat intel.

How do I install Bawbel Scanner?

It runs on your machine. In Claude Code: claude mcp add bawbel-scanner -- uvx bawbel-mcp==1.1.0. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Bawbel Scanner need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is Bawbel Scanner open source?

Yes. Its code is on GitHub under the Apache-2.0 license.

Who maintains Bawbel Scanner?

It is published by bawbel. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.