MCP server exposing Bawbel Scanner as agent-callable security tools
Project description
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, and query the AVE threat intelligence database mid-conversation.
Install
pip install bawbel-mcp
Or with all detection engines (YARA, Semgrep, LLM, Magika):
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 |
check_conformance |
Score a server manifest against the MCP spec (18 checks, A+ to F) |
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 any
findings with AVE IDs, severity, and remediation steps.
Check a skill file:
"Check this skill file content for prompt injection vulnerabilities: [paste content]"
Claude calls scan_content(content) and returns findings.
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.
Requirements
- Python 3.10+
bawbel-scanner>=1.1.1(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
- bawbel-scanner — CLI scanner
- bawbel-ave — AVE standard and records
- api.piranha.bawbel.io — Threat intel API
- bawbel.io/docs — Full documentation
Apache 2.0. Built by Bawbel.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bawbel_mcp-1.0.0.tar.gz.
File metadata
- Download URL: bawbel_mcp-1.0.0.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42a602e0d832ccf674b77eb19ec9a0c049ed30e347484ed6d9dee0388f37029c
|
|
| MD5 |
a255cbe89e0f78706b6a575c729b7bc5
|
|
| BLAKE2b-256 |
318eef1be65770b5d9ab8924e7a7bb7a4e865d92cc2f20891c3ebf28542a5f5d
|
Provenance
The following attestation bundles were made for bawbel_mcp-1.0.0.tar.gz:
Publisher:
publish.yml on bawbel/bawbel-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bawbel_mcp-1.0.0.tar.gz -
Subject digest:
42a602e0d832ccf674b77eb19ec9a0c049ed30e347484ed6d9dee0388f37029c - Sigstore transparency entry: 1452627058
- Sigstore integration time:
-
Permalink:
bawbel/bawbel-mcp@c403aa84e83998ab8816bd0a904459fc825ee31b -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/bawbel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c403aa84e83998ab8816bd0a904459fc825ee31b -
Trigger Event:
release
-
Statement type:
File details
Details for the file bawbel_mcp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: bawbel_mcp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f793bac26ab49b36fc268942f024171efd1f8015b577f60214b7ce898329e844
|
|
| MD5 |
7e2441c2a1aa1fc08410e6656e5f4e80
|
|
| BLAKE2b-256 |
6668ca6896bd3926f3a411c2770a0bfebf54a1a932f57d9b650801078d82edef
|
Provenance
The following attestation bundles were made for bawbel_mcp-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on bawbel/bawbel-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bawbel_mcp-1.0.0-py3-none-any.whl -
Subject digest:
f793bac26ab49b36fc268942f024171efd1f8015b577f60214b7ce898329e844 - Sigstore transparency entry: 1452627425
- Sigstore integration time:
-
Permalink:
bawbel/bawbel-mcp@c403aa84e83998ab8816bd0a904459fc825ee31b -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/bawbel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c403aa84e83998ab8816bd0a904459fc825ee31b -
Trigger Event:
release
-
Statement type: