Skip to main content

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.

PyPI version PyPI - Python Version PyPI - Downloads License AVE Standard MCP Compatible Powered by


Install

pip install bawbel-mcp

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

pip install "bawbel-mcp[all]"

Tools

Tool Description
scan_content Scan raw text content for AVE vulnerabilities
scan_server_card Fetch and scan an MCP server-card before connecting
scan_creds Credential-focused scan (API keys, tokens, passwords, private keys)
scan_chain Delegation chain scan (unsafe sub-agent spawning and inherited permissions)
check_conformance Score a server manifest against the MCP spec (18 checks, A+ to F)
accept_finding Insert a justified suppression with reason, reviewer, and optional expiry
lookup_ave Get a full AVE record by ID with remediation guidance
search_ave Search AVE records by keyword
list_ave List all AVE records with optional severity/category filters
check_pins Detect rug pull drift in a directory of skill files

Resources

Resource Description
ave://stats Current 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.


Related


Apache 2.0. Built by Bawbel.

Release files for bawbel-mcp 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bawbel-mcp 1.1.0
File Size Uploaded
bawbel_mcp-1.1.0.tar.gz 16.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bawbel-mcp 1.1.0
File Interpreter ABI Platform
bawbel_mcp-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size:32.3 kB

Release files / bawbel_mcp-1.1.0.tar.gz

Download URL bawbel_mcp-1.1.0.tar.gz
Size 16.7 kB
Tags Source
SHA-256 checksum
How to use checksums
886bec169bb32d79d6e09cdbe2714fb864adb8d00ea6e6ffb599a14de95f0786
BLAKE2b-256 checksum
How to use checksums
1410e5bba7278047e0271881ee4b905cb422f6808c914b2b351cfa39feee2430
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 23, 2026.

Transparency log

Release files / bawbel_mcp-1.1.0-py3-none-any.whl

Download URL bawbel_mcp-1.1.0-py3-none-any.whl
Size 15.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
59120673fb5413113f51d4741af6a45a25d3d6d4572cccf362a6bf1e6ea6b688
BLAKE2b-256 checksum
How to use checksums
87e65cff5f0f2b08a01d5b8578746ce34b03a0030be7305871cc23814dee4739
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 23, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page