
Bawbel Scanner
io.github.bawbelPublished by GitHub account bawbelv1.1.0Updated Oct 24, 2026
Scan MCP servers and skill files for AVE vulnerabilities. Conformance scoring and threat intel.
Overview
A local MCP server that lets an assistant scan MCP servers and skill files for AVE vulnerabilities, score spec conformance, and query threat intelligence.
- What you can do
- Scan raw text, skill files and remote server cards for AVE vulnerabilities, including credential exposure and unsafe delegation chains, with optional audit mode that shows suppressed findings too. Score a server manifest against the MCP spec with a grade and list of failed checks. Look up, search and list AVE threat intelligence records with severity scores and remediation guidance. Record justified suppressions with reason, reviewer and optional expiry, and detect rug pull drift across a directory of skill files. Read AVE database statistics and individual records as resources.
- When to use it
- Use it when vetting an MCP server or skill file before adding it to a configuration, when checking content for hardcoded secrets or prompt injection, or when you need AVE threat intelligence and remediation guidance during a security review.
- Requirements
- Runs locally over stdio, typically launched with uvx from the bawbel-mcp PyPI package. Needs Python 3.10+ and the bawbel CLI on PATH, which is installed automatically with the package. An optional extra installs all detection engines. Network access is needed to fetch remote server cards and query the threat intel API.
Installation
In SourceWeft
- Open Bawbel Scanner in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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
Or with all detection engines (YARA, Semgrep, LLM, Magika, Sandbox):
Tools
Resources
Usage
Claude Desktop
Add to claude_desktop_config.json:
Claude Code
Cursor / Windsurf
Add to your MCP settings:
Remote deployment (Streamable HTTP)
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
- 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.
Source: README.md at commit 52eac38
Tools
0Version history
1- v1.1.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts