@guardbee/mcp-security-proxy
OfficialProvides a KVKK/GDPR-compliant database gateway with a MySQL adapter, supporting PII masking, RBAC, rate limiting, and audit logging for LLM-to-database access.
Scans npm dependencies for known CVEs using OSV, helping identify vulnerable packages in npm projects.
Provides a KVKK/GDPR-compliant database gateway with a Prisma adapter, supporting PII masking, RBAC, rate limiting, and audit logging for LLM-to-database access.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@guardbee/mcp-security-proxy guard this MCP session against leaked secrets and PII"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GuardBee MCP
🇬🇧 English | 🇹🇷 Türkçe | 🇨🇳 䏿–‡ | 🇯🇵 日本語 | 🇰🇷 한êµì–´ | 🇧🇷 Português | 🇪🇸 Español | 🇩🇪 Deutsch
Security for AI agents and MCP. GuardBee puts a gateway between your agents and their tools and models that masks personal data and secrets, blocks prompt injection and toxic data flows, asks before risky calls and keeps a tamper-evident audit log, plus scanners that check your code and configs against the OWASP MCP Top 10. Open source (MIT), runs on your machine, no account needed.
The gateway and every server speak MCP 2026-07-28 and 2025-11-25 (MCP TypeScript SDK v2), so they work with clients and servers on either revision.
# Put your existing MCP servers behind the gateway (backs up your client config first)
npx -y @guardbee/mcp-security-proxy@^1 init --client claude-desktop # or cursor, claude-code
# Check a codebase against the OWASP MCP Top 10
npx -y @guardbee/mcp-owasp-scan scan . --fail-on=highFirst 5 minutes
Protect your agent —
npx -y @guardbee/mcp-security-proxy@^1 init --client cursor(orclaude-desktop/claude-code). Restarts the client with GuardBee in front of your MCP servers.Scan the repo —
npx -y @guardbee/mcp-owasp-scan scan . --fail-on=highfor OWASP MCP Top 10;npx -y @guardbee/mcp-secret-scanner scan . --historyfor leaked keys (no MCP client required).Pick the next tool — see Which package should I use?. Full install paths (container, Helm, hooks, CI): INSTALL.md.

Run it yourself: examples/demo (npm install && npm start).
Install anywhere: npm, a signed multi-arch container image (ghcr.io/guardbee/mcp-security-proxy), a Helm chart, coding-agent hooks (Claude Code, Cursor, Codex, Gemini CLI, Windsurf), a GitHub Action and IDEs: see INSTALL.md.
Which package should I use?
You want to… | Install | How |
Protect agents at runtime: mask personal data, block injection and toxic flows, approve risky calls, keep an audit log | Put it in front of your MCP servers ( | |
Check a codebase against the OWASP MCP Top 10 in one pass, in CI |
| |
Give an agent many GuardBee checks from one MCP server |
| |
Find leaked keys in files, git history or agent transcripts |
| |
Audit the MCP servers configured on developer machines |
| |
Let an agent query a database without seeing raw personal data | Point it at your database with a policy | |
Use the detectors in your own code |
|
Every other package is a single check (one OWASP risk, one protocol, one file type); each is in security-suite too. npx @guardbee/security-suite list shows them with what they check.
Related MCP server: MCP Agent Firewall
Benchmarks
Detection is measured, not claimed: packages/pii-bench is a reproducible benchmark for Turkish and international personal data, with bootstrap 95% intervals and the datasets in the repo.
Benchmark | Result |
Identifiers (TC Kimlik, IBAN, card, phone, e-mail, …), 400 documents + 160 clean | F1 97.1, recall 100%, false alarms on clean documents 8.1%, 0.04 ms per document |
Person names with the optional NER model, same set | F1 99.5 |
Hand-written hard cases for names (tr-names-challenge) | F1 97.1, 0 false alarms |
KVKK Art. 6 special categories with NER (tr-special-challenge) | F1 97.5, 0 false alarms |
Bypass suite: 5 identifiers × 16 disguises (base64, hex, URL/HTML/ | 80 / 80 masked, 0 of 16 look-alike strings changed |
The identifier detectors were tuned after reading this set's misses, so the challenge sets are the fairer measure; the pii-bench README lists the limits. Any other detector can be run on the same data through its System interface.
MCP attacks: packages/mcp-bench is a public dataset (CC BY 4.0) of poisoned and benign tool definitions, injected and benign tool results, toxic and safe tool catalogs, and rug-pull sequences, in English and Turkish. Third-party baselines run on the same data, and CI fails if GuardBee's scores drop. The leaderboard covers the held-out split:
Task (test split) | GuardBee rules | GuardBee + local judge | mcp-guardian 2.4.0 | Cisco MCP Scanner YARA 4.8.7 |
Tool poisoning, F1 | 0.50 | 0.75 | 0.61 | 0.42 |
Indirect injection in tool results, F1 | 0.47 | 0.83 | 0.59 | 0.27 |
Toxic flows (lethal trifecta), F1 | 0.91 | — | — | — |
Rug pulls (drift + content checks), F1 | 0.89 | — | — | — |
GuardBee's rules alone trail mcp-guardian on tool poisoning: no Turkish patterns yet, and narrower phrasing. The README has the per-class numbers, the settings and the limitations.
Prompt injection and jailbreaks, Turkish + English: packages/injection-bench has 2,394 samples: Turkish 576 attacks / 569 benign, English 653 / 596. They come from public datasets (Gandalf, deepset, jackhhao, OpenAssistant) and from hand-written Turkish cases, and the provenance is documented. The leaderboard covers the held-out split:
F1 (test split) | Turkish | English |
GuardBee rules (what the proxy blocks) | 28.6 (0% false positives) | 20.4 (0%) |
GuardBee rules + local LLM judge (qwen2.5:7b, ~1 s) | 89.6 | 90.8 |
ProtectAI DeBERTa-v3 prompt-injection v2 | 70.2 | 89.1 |
GuardBee rules + local classifier ( | 93.7 | 91.6 |
The rules are precise but catch only 11–19% of attacks. GuardBee's optional classifier closes most of that gap in both languages. The English-trained ProtectAI model loses 19 F1 points in Turkish. The README explains both.
Examples
Ready-to-copy proxy policies (minimal, KVKK, coding agent, LLM gateway), client configs for Claude Desktop, Claude Code, Cursor and VS Code, and CI templates for GitHub Actions and GitLab: examples/.
Packages
Package | npm | Description |
| Scans a codebase for insecure LLM/AI integration patterns (client-exposed keys, unsafe output handling, excessive agency, PII→prompt, prompt injection) | |
| KVKK/GDPR/CCPA compliance checks | |
| CVE scanning for npm/pip/cargo dependencies (OSV) | |
| DNS record enumeration, misconfiguration and dangling-subdomain detection | |
| KVKK/GDPR-compliant gateway between an LLM and a database (PII masking, RBAC, rate limiting, queryable audit log; Prisma/Postgres/MySQL/SQLite/MongoDB adapters; optional insert/update/delete support) | |
| Scans other MCP servers' tool definitions for insecure patterns (excessive agency, shell/eval/SQL/SSRF sinks, loose schemas, hardcoded secrets, wildcard CORS) | |
| Scans RAG content/scraped pages for indirect prompt injection (instruction override, spoofed role/chat-template tokens, hidden text, "Dear AI" direct address, data-exfiltration instructions) | |
| Actively red-teams a live LLM endpoint/chatbot with canary-based jailbreak/extraction/obfuscation probes (OpenAI/Anthropic/webhook targets) | |
| Scans ML model files (PyTorch, pickle, safetensors, Keras/H5, ONNX) for supply-chain risks — dangerous pickle deserialization globals, disguised/malformed safetensors headers, Keras Lambda-layer RCE, ONNX external-data path traversal | |
| The defensive side of reverse-engineering MCPs: audits a shipped web build or live site, Electron app, Android APK/AAB, iOS IPA, Unity/PyInstaller/Java build or native/.NET binary for what an analyst gets for free — exposed source maps, missing minification/R8/.NET obfuscation, debug info and symbols, debuggable flags, Electron fuses, missing code signing, embedded keys; A–F grade, build-config fix diffs and CI baselines | |
| Probes vector-database endpoints (Weaviate, Qdrant, Chroma, Elasticsearch/OpenSearch, Redis, Postgres/pgvector) for unauthenticated exposure of embeddings and RAG data | |
| Catches leaked credentials and PII (API keys, TC Kimlik No, credit cards, IBANs) in outbound LLM prompts — as MCP scan tools, and as a live reverse proxy in front of a real LLM API | |
| Finds PII and credentials inside PDFs, screenshots and scanned documents — PDF text layer plus optional OCR (Turkish and English) — before they reach an LLM | |
| Builds a reachability graph across multi-agent orchestration configs (LangGraph, CrewAI, AutoGen/ag2) to find transitive excessive agency — an agent that reaches a dangerous tool only through delegation to another agent | |
| Scans MCP server tool definitions for tool poisoning (hidden instructions embedded in a tool's description) and confused-deputy mismatches (a read-only-sounding tool whose handler has a shell/eval/file-write/env-dump sink) | |
| Connects live to another MCP server (stdio/HTTP), baselines its tools/list response, and detects an "MCP rug pull" — a tool's description/schema/annotations silently changing after it was already approved | |
| Scans agent code for memory poisoning — untrusted input written into persistent, cross-session memory (MemGPT-style archival/core memory, or a long-term vector store) that later gets recalled and trusted as context | |
| Scans an MCP server's own authorization code for OAuth 2.1 anti-patterns named in the MCP spec's Security Considerations — token passthrough, missing audience validation, OAuth/OIDC discovery SSRF, missing PKCE, loose redirect_uri validation, hardcoded client secrets | |
| Scans MCP server code for elicitation anti-patterns in the 2026-07-28 spec — form mode asking for secrets or payment data, URL mode pointed straight at a third-party authorize endpoint, credentials or PII embedded in the elicitation URL | |
| Audits an MCP tool catalog for toxic flows (Simon Willison's lethal trifecta) — untrusted content + sensitive/private data + exfiltration or destruction on the same server; A–F grade, KVKK-aware heuristics, OWASP MCP10:2025 | |
| Audits MCP server source for OWASP MCP08:2025 (Lack of Audit and Telemetry) — missing tool-call trails, raw args/results in logs, hard-disabled audit, silent catches, audit events without correlation ids | |
| Audits agent/MCP source for OWASP MCP10:2025 context oversharing — full conversation dumps, unscoped memory tools, shared global session stores, system-prompt leaks via tools, cross-session tool-result bleed, unfiltered vector queries (complements toxic-flow’s catalog trifecta) | |
| Unified OWASP MCP Top 10 meta-scanner — path orchestration of GuardBee auditors + live/catalog | |
| Audits MCP client configs (Cursor/Claude/Windsurf/VS Code) and agent | |
| MCP bridge to Agent Threat Rules (ATR) — runtime detection for prompt injection, tool poisoning, and MCP attacks, with GuardBee follow-up scanner hints | |
| Scans an agent's Agent2Agent (A2A) protocol implementation (TypeScript and Python) for anti-patterns found in the reference SDKs' own source — unauthenticated push-notification webhook fetches (SSRF), Agent Cards with no authentication requirement, credentials embedded in publicly-served Agent Card metadata | |
| Checks every dependency declared in a project's own manifest (package.json, requirements.txt, pyproject.toml) against the real npm/PyPI registry — flags names that don't exist at all (likely LLM-hallucinated, i.e. slopsquatting) and names that exist but were only very recently published | |
| Scans LLM/agent application code for Unbounded Consumption ("denial of wallet", OWASP LLM Top 10 2026 #6) — missing output token limits, missing timeouts on hand-rolled LLM HTTP calls, unbounded agent tool-calling/retry loops, explicitly disabled framework safety limits (LangChain max_iterations, openai-agents max_turns), and MCP tool handlers with no visible rate limiting | |
| Scans files for leaked secrets and API keys | |
| MCP security gateway: several MCP servers behind one policy, with toxic-flow (lethal trifecta) blocking, approvals, PII masking and a hash-chained audit log | |
| Every scanner and auditor below from one install: one MCP server with the groups you pick, and a CLI that runs any package | |
| TLS certificate/cipher/protocol inspection | |
| Triggers GuardBee scans, queries findings, AI-assisted remediation guidance | |
| (internal) Shared detector library — PII/secret masking, prompt injection rules, tool classification; not an MCP server on its own | |
| (internal) Shared usage-telemetry client — not an MCP server on its own |
Security
Found a vulnerability? Report it privately: see SECURITY.md. Contributions are welcome: CONTRIBUTING.md.
Telemetry
Packages can send usage telemetry to GuardBee via @guardbee/mcp-telemetry: which tool is called, how often, and how long it takes. It is off by default (opt-in); nothing is sent unless you set GUARDBEE_TELEMETRY=1. When it is on, a one-time notice is printed to stderr on first use.
To enable:
GUARDBEE_TELEMETRY=1(ortrue/on/yes); unset it to turn telemetry off againWhat's sent: tool name, short (≤40 character) parameter values (e.g.
table: "users",limit: 50), success/failure, durationWhat's NEVER sent: values under keys like
content/text/data/filter/password/email/apiKey/token, and any string longer than 40 characters — all replaced with"[redacted: ...]"byredactParams()inpackages/telemetry/src/redact.ts. So the full content of scanned files/code, or the real row data from aninsert_row/update_rowcall, is never sent.
Details: packages/telemetry/README.md.
Development
pnpm install
pnpm build # turbo run build — all packages, in dependency order
pnpm test # turbo run testTo work on a single package:
pnpm --filter @guardbee/mcp-ssl-inspector devVersioning and publishing
Packages are versioned independently (Changesets). If you changed something in a PR:
pnpm changesetAfter merging to main, CI automatically opens a version PR; merging that PR publishes the changed packages to npm (see .github/workflows/release.yml).
Stability
Packages at 1.0 or later follow semantic versioning: a breaking change to the CLI, the MCP tool names and parameters, the config format or the exported API comes only with a new major version, and is listed in the package's CHANGELOG.md. New rules and detectors arrive in minor versions; they can report findings an earlier version did not. Packages still at 0.x may change between minor versions.
Package | Stable since |
| 1.0 |
| 1.0 |
| 1.0 |
| 1.0 |
| 1.0 |
| 1.0 |
Structure
pnpm workspaces —
packages/*, realworkspace:*dependencies (e.g.security-suitedepends on the other packages directly from the workspace, not a registry version)Turborepo —
build/test/type-checkpipeline, dependency-graph-aware ordering and cachingShared config —
tsconfig.base.jsonandvitest.shared.tsat the root; each package layers its own settings on top
Project history
The monorepo's earlier write-ups are in CHANGELOG.md; each package's release notes are in its own CHANGELOG.md and on GitHub Releases.
Available Tools
130 toolsa2a_auditor__list_patternsB
List every A2A (Agent2Agent) protocol pattern this auditor detects, grouped by category
Inputs: no named parameters.
a2a_auditor__scan_directoryC
Recursively scan a directory of A2A agent source for protocol anti-patterns
Inputs: path (required), exclude, include, maxFiles.
a2a_auditor__scan_fileB
Scan a single file for A2A (Agent2Agent) protocol anti-patterns
Inputs: path (required).
a2a_auditor__scan_textA
Scan Agent2Agent (A2A) protocol implementation code for anti-patterns found in the reference SDKs and sample agents: an Agent Card fetching a client-supplied push-notification webhook URL with no host allowlist (SSRF), a request handler wired up with no authentication at all, and a literal credential embedded directly in Agent Card metadata (which is served publicly).
Inputs: content (required), label.
agent_graph_auditor__list_patternsA
List every dangerous-capability rule this auditor looks for at the end of a delegation path, grouped by category
Inputs: no named parameters.
agent_graph_auditor__scan_directoryA
Recursively scan a directory of Python files and report excessive-agency paths found in each. Each file's agent/tool graph is analyzed independently — variable references don't resolve across files, so a Crew/GroupChat whose members are defined in a different file than the assembling call won't be connected.
Inputs: path (required), exclude, include, maxFiles.
agent_graph_auditor__scan_fileA
Scan a single Python file for excessive-agency paths across LangGraph/CrewAI/AutoGen orchestration constructs
Inputs: path (required).
agent_graph_auditor__scan_textA
Scan a Python snippet defining a multi-agent orchestration (LangGraph, CrewAI, or AutoGen/ag2) for excessive agency reachable through delegation or group membership — an agent with no dangerous tool of its own that can still reach one (shell/code-exec/file-write/network/credentials) through another agent it can hand off to.
Inputs: content (required), label.
ai_code_scanner__list_patternsB
List all AI/LLM security patterns that the scanner can detect, grouped by category (including any custom rules loaded from .guardbee/rules)
Inputs: no named parameters.
ai_code_scanner__scan_directoryA
Recursively scan a directory for insecure AI/LLM integration patterns. Automatically skips node_modules, .git, dist, and binary files.
Inputs: path (required), exclude, include, maxFiles.
ai_code_scanner__scan_fileB
Scan a single file for insecure AI/LLM integration patterns
Inputs: path (required).
ai_code_scanner__scan_textA
Scan a text string or code snippet for insecure AI/LLM integration patterns (client-exposed keys, unsafe output handling, excessive agent tool permissions, PII sent to a model, prompt injection surface).
Inputs: content (required), label.
audit_gap_auditor__list_patternsA
List every OWASP MCP08 audit-gap check this auditor runs
Inputs: no named parameters.
audit_gap_auditor__scan_directoryA
Recursively scan a directory of MCP server source for OWASP MCP08 audit/telemetry gaps
Inputs: path (required), exclude, include, maxFiles.
audit_gap_auditor__scan_fileC
Scan a single file for OWASP MCP08 audit/telemetry gaps
Inputs: path (required).
audit_gap_auditor__scan_textB
Scan MCP server source for OWASP MCP08:2025 (Lack of Audit and Telemetry) gaps: tools registered with no audit trail, raw args/results logged, audit hard-disabled, silent catch blocks, audit events without a session/request id.
Inputs: content (required), label.
compliance_checker__analyze_privacy_policyA
Fetch and analyze a privacy policy page for completeness against GDPR/KVKK requirements. Works without an API key.
Inputs: url (required).
compliance_checker__check_complianceA
Run a full compliance scan for a URL against a regulatory framework (KVKK, GDPR, or CCPA) using the GuardBee scanner. Returns a gap analysis and action plan.
Inputs: url (required), framework (required), wait.
compliance_checker__compare_frameworksB
Compare KVKK, GDPR, and CCPA requirements side by side to understand overlaps and gaps
Inputs: no named parameters.
compliance_checker__get_compliance_findingsA
Get compliance findings from a completed GuardBee scan, optionally filtered by severity
Inputs: scanId (required), severity, framework.
compliance_checker__list_requirementsB
List all compliance requirements for a framework with legal basis references
Inputs: framework (required), severity.
context_oversharing_auditor__list_patternsA
List every OWASP MCP10 context-oversharing check this auditor runs
Inputs: no named parameters.
context_oversharing_auditor__scan_directoryA
Recursively scan a directory for OWASP MCP10 context-oversharing issues
Inputs: path (required), exclude, include, maxFiles.
context_oversharing_auditor__scan_fileB
Scan a single file for OWASP MCP10 context-oversharing issues
Inputs: path (required).
context_oversharing_auditor__scan_textB
Scan agent/MCP source for OWASP MCP10:2025 context oversharing — full conversation dumps, unscoped memory tools, shared global session stores, system-prompt leaks via tools, cross-session tool-result bleed, and unfiltered vector queries.
Inputs: content (required), label.
db_gateway__describe_tableB
Get the column names and gateway masking policy for a table — helps the LLM understand what data it can access.
Inputs: table (required).
db_gateway__gateway_statusA
Show the active gateway configuration: field masking rules, table policies, and audit settings.
Inputs: no named parameters.
db_gateway__list_tablesA
List all available database tables. Tables marked as 'deny' in gateway policy are omitted.
Inputs: no named parameters.
db_gateway__query_audit_logA
Query the gateway's own audit log — inspect which tools were called, on which tables, whether they were allowed or denied (and why), and which fields were redacted/written. Covers events since this server process started; count is capped by the gateway's audit.bufferSize (default 200).
Inputs: tool, limit, since, table, +2 more.
db_gateway__query_tableB
Query rows from a database table with optional filters. All results pass through the KVKK/GDPR gateway — sensitive fields are automatically masked.
Inputs: table (required), limit, filter.
dependency_auditor__audit_directoryA
Auto-detect and audit every supported project in a directory: npm (package-lock, pnpm, yarn, bun), Python (uv, Poetry, Pipenv, requirements), Rust (Cargo.lock), Go (go.mod), Ruby (Gemfile.lock) and PHP (composer.lock)
Inputs: directory (required), exploitData, includeDevDeps.
dependency_auditor__audit_npmA
Audit npm dependencies for known CVEs using the OSV database. Reads exact versions from package-lock.json, npm-shrinkwrap.json, pnpm-lock.yaml, yarn.lock (v1 and berry) or bun.lock, falling back to package.json ranges
Inputs: directory (required), exploitData, includeDevDeps.
dependency_auditor__audit_packageC
Audit a single package by name, version, and ecosystem
Inputs: name (required), version (required), ecosystem (required), exploitData.
dependency_auditor__audit_pipA
Audit Python dependencies for known CVEs using the OSV database. Reads exact versions from uv.lock, poetry.lock or Pipfile.lock, falling back to requirements.txt / pyproject.toml
Inputs: directory (required), exploitData, includeDevDeps.
dns_intelligence__audit_domainsA
Audit several domains at once (e.g. every brand or country domain) and compare them: an A–F grade per domain from all DNS, email, DNSSEC, CAA and nameserver checks, plus each domain's most serious findings
Inputs: domains (required), nameserverProbe.
dns_intelligence__check_email_securityA
Check a domain's email security: MX, SPF (nested lookup count), DMARC, DKIM key strength, MTA-STS and TLS-RPT, with remediation advice
Inputs: domain (required), dkimSelectors.
dns_intelligence__check_takeoverB
Check specific hostnames (e.g. from your DNS zone or certificate logs) for subdomain takeover
Inputs: hosts (required), httpProbe.
dns_intelligence__enumerate_dnsA
Enumerate all DNS records for a domain and detect misconfigurations: SPF, DMARC, DKIM key strength, MTA-STS/TLS-RPT, MX, DNSSEC (signed / broken / weak algorithms) and CAA (including whether it blocks the CA of the live certificate) and nameservers (lame delegation, anonymous zone transfer, open recursion)
Inputs: domain (required), nameserverProbe.
dns_intelligence__enumerate_subdomainsA
Find subdomains from Certificate Transparency logs and a common-name wordlist, and detect subdomain takeovers: CNAMEs to S3, GitHub Pages, Azure, Heroku, Netlify and other providers whose resource is gone (verified fingerprints), or to targets that no longer exist
Inputs: domain (required), httpProbe, certificateTransparency.
dns_intelligence__lookup_dnsB
Perform a targeted DNS lookup for specific record types on a domain
Inputs: type (required), domain (required).
document_scanner__list_detectorsA
List the PII and credential detectors this scanner runs
Inputs: no named parameters.
document_scanner__scan_base64B
Scan a document given as base64 (an attachment, an image a tool returned) for PII and credentials. The type is detected from the bytes.
Inputs: data (required), ocr, label, include, +1 more.
document_scanner__scan_documentA
Find PII (TC Kimlik No, IBAN, card, passport, e-mail, phone, address…) and credentials inside a PDF, an image (screenshot, scanned page) or a text file on disk, before it is given to an LLM. PDFs are read from their text layer; images and scanned pages with OCR (Turkish and English).
Inputs: path (required), ocr, include, languages.
elicitation_auditor__list_patternsA
List every elicitation check this auditor runs
Inputs: no named parameters.
elicitation_auditor__scan_directoryA
Recursively scan a directory of MCP server source for elicitation anti-patterns
Inputs: path (required), exclude, include, maxFiles.
elicitation_auditor__scan_fileC
Scan a single file for elicitation anti-patterns
Inputs: path (required).
elicitation_auditor__scan_textB
Scan MCP server source for elicitation anti-patterns from the 2026-07-28 spec: form mode requesting secrets or embedding a link, URL mode opened directly on a third-party authorize endpoint, credentials in the elicitation URL, a form answer used as the user's identity, and a result used without checking decline or cancel.
Inputs: content (required), label.
llm_redteam__list_probesA
List all red-team probes this tool can run against a target LLM/chatbot, grouped by category. Every probe is canary-based (safe) — none ask the target to produce genuinely harmful content.
Inputs: no named parameters.
llm_redteam__run_probe_suiteA
Run canary-based red-team probes against a live LLM endpoint or chatbot you control, to test whether known jailbreak/extraction/obfuscation techniques bypass its guardrails. ONLY point this at an endpoint you own or are explicitly authorized to test — every probe consumes API quota on the target. Probes never request genuinely harmful content; success is measured by whether the target reproduces a random one-time token, proving an override instruction was obeyed.
Inputs: target (required), probeIds, maxProbes, categories.
mcp_config_auditor__discover_shadow_mcpA
OWASP MCP09:2025 — discover MCP client configs in well-known host paths (Cursor, Claude Desktop, Windsurf, VS Code, Claude Code) and flag servers that are not on an organization allowlist (Shadow MCP). Does not start any MCP server.
Inputs: home, allowlist, includeContentAudit.
mcp_config_auditor__list_host_config_pathsA
List the well-known MCP client config paths this auditor checks during shadow (MCP09) discovery on the current OS.
Inputs: home.
mcp_config_auditor__list_patternsA
List the MCP config, agent skill, shadow-MCP discovery, and cross-server shadowing checks, with their OWASP MCP Top 10 tags.
Inputs: no named parameters.
mcp_config_auditor__scan_config_textA
Scan an MCP client config JSON string (Cursor mcp.json, Claude Desktop, Windsurf, or VS Code) for unpinned packages, secrets, wildcard auto-approve, unauthenticated remote endpoints, and typosquats.
Inputs: content (required), label.
mcp_config_auditor__scan_directoryB
Find mcp.json, mcp_config.json, claude_desktop_config.json, and SKILL.md under a directory and audit each one. A directory scan also compares skill names. Does not start any MCP server.
Inputs: path (required), exclude, maxFiles.
mcp_config_auditor__scan_fileA
Scan one MCP client config file, or a SKILL.md agent skill when the file has that name.
Inputs: path (required).
mcp_config_auditor__scan_inventoryA
Detect cross-server tool shadowing from an inventory of tool catalogs. Pass the tool names and descriptions already collected from each installed server. This tool does not connect to those servers.
Inputs: inventory (required).
mcp_config_auditor__scan_skill_textA
Scan one agent SKILL.md (YAML frontmatter plus body) for unrestricted allowed-tools, instruction override, credential file reads, and literal secrets. Name collisions across skills require a directory scan.
Inputs: content (required), label.
mcp_server_auditor__list_patternsA
List all MCP server security patterns that the auditor can detect, grouped by category
Inputs: no named parameters.
mcp_server_auditor__scan_directoryA
Recursively scan an MCP server's codebase for insecure tool-definition patterns. Automatically skips node_modules, .git, dist, and binary files.
Inputs: path (required), exclude, include, maxFiles.
mcp_server_auditor__scan_fileC
Scan a single file for insecure MCP server/tool-definition patterns
Inputs: path (required).
mcp_server_auditor__scan_textB
Scan a text string or code snippet for insecure MCP server/tool-definition patterns (excessive-agency tool names, shell/eval/SQL/SSRF sinks fed by raw tool input, overly permissive schemas, hardcoded secrets, wildcard CORS).
Inputs: content (required), label.
memory_poisoning_scanner__list_patternsA
List every memory-write and memory-readback pattern this scanner detects, grouped by category
Inputs: no named parameters.
memory_poisoning_scanner__scan_directoryB
Recursively scan a directory of agent source code for memory-poisoning patterns
Inputs: path (required), exclude, include, maxFiles.
memory_poisoning_scanner__scan_fileB
Scan a single file for memory-write and memory-readback poisoning patterns
Inputs: path (required).
memory_poisoning_scanner__scan_textA
Scan agent code for memory-poisoning risks: untrusted input written into persistent, cross-session memory (MemGPT-style archival/core memory, or a vector store used as a long-term knowledge base) without visible sanitization, and memory retrievals fed into a system/assistant-role message or prompt template as trusted context.
Inputs: content (required), label.
model_scanner__list_patternsA
List every dangerous Python global (module.function) this scanner treats as a red flag when found referenced inside a pickled model file, grouped by risk category
Inputs: no named parameters.
model_scanner__scan_directoryA
Recursively scan a directory for ML model files (.pt, .pth, .ckpt, .pkl, .pickle, .bin, .dill, .joblib, .jbl, .npy, .npz, .safetensors, .h5, .hdf5, .keras, .onnx, .gguf, .pb, .pbtxt, .tflite; a TensorFlow SavedModel directory through its saved_model.pb) and report supply-chain risks in each. Automatically skips node_modules, .git, venv, and other non-model directories.
Inputs: path (required), exclude, include, maxFiles.
model_scanner__scan_fileA
Scan a single ML model file for supply-chain risks: dangerous Python globals reachable during pickle deserialization (os/subprocess/eval/socket/dill gadgets, inside PyTorch zip checkpoints, joblib dumps and NumPy object arrays too), a malformed or disguised .safetensors header, a Keras Lambda-layer RCE pattern in .h5/.keras files, a path-traversal external_data reference in .onnx files, malformed GGUF headers and chat templates that escape the Jinja sandbox or carry hidden instructions, and TensorFlow SavedModel/GraphDef/TFLite graphs that read or write files or call Python.
Inputs: path (required).
model_scanner__scan_hf_repoA
Scan every model file in a Hugging Face model repo at a pinned commit. The revision (branch, tag or commit sha, default main) is resolved to a commit sha and all files are read from it. Files over 256 MB are checked from their first 64 MB (and last 64 MB for zip containers), which hold the headers and pickle streams the checks read. Gated or private repos need HF_TOKEN in the server's environment.
Inputs: repo (required), maxFiles, revision.
oauth_auditor__list_patternsA
List every OAuth/token-handling pattern this auditor detects, grouped by category
Inputs: no named parameters.
oauth_auditor__scan_directoryA
Recursively scan a directory of MCP server source for OAuth/token-handling anti-patterns
Inputs: path (required), exclude, include, maxFiles.
oauth_auditor__scan_fileB
Scan a single file for OAuth/token-handling anti-patterns
Inputs: path (required).
oauth_auditor__scan_textB
Scan an MCP server's authorization code for OAuth 2.1 anti-patterns named in the MCP spec's own Security Considerations: token passthrough (forwarding a client's token to a downstream API unchanged), missing audience validation on JWT verification, OAuth/OIDC discovery SSRF, missing PKCE, loose redirect_uri validation, and hardcoded client secrets.
Inputs: content (required), label.
owasp_scan__list_owasp_coverageA
List OWASP MCP Top 10 categories and which GuardBee scanners cover them in this meta-scan
Inputs: no named parameters.
owasp_scan__owasp_scan_catalogC
Audit a tools/list JSON dump for toxic flows and tool-description poisoning (MCP03/MCP10).
Inputs: catalog (required), label.
owasp_scan__owasp_scan_liveA
Connect to a live MCP server (stdio or HTTP), call tools/list, then grade toxic-flow + tool-poisoning (MCP03/MCP10).
Inputs: url, args, command.
owasp_scan__owasp_scan_pathA
Run a unified OWASP MCP Top 10 scan over a filesystem path — orchestrates secret, server, oauth, audit-gap, context-oversharing, toxic-flow, and tool-poisoning auditors; optional MCP04 supply-chain and MCP06 content injection. Returns A–F grade.
Inputs: path (required), maxFiles, withContent, allowlistPath, +2 more.
prompt_injection_scanner__list_patternsA
List all indirect prompt injection patterns that the scanner can detect, grouped by category
Inputs: no named parameters.
prompt_injection_scanner__scan_directoryA
Recursively scan a directory — e.g. a RAG knowledge base or a corpus of scraped pages — for indirect prompt injection payloads. Automatically skips node_modules, .git, dist, and binary files.
Inputs: path (required), exclude, include, maxFiles.
prompt_injection_scanner__scan_fileA
Scan a single file (a knowledge-base document, an HTML page, extracted text) for indirect prompt injection payloads
Inputs: path (required).
prompt_injection_scanner__scan_textB
Scan a text string — a RAG chunk, a scraped web page, a document, a tool result — for indirect prompt injection payloads (instruction-override phrases, spoofed chat-template roles, hidden/invisible text, content addressing 'the AI' directly, data-exfiltration attempts) before it reaches a model's context.
Inputs: content (required), label.
prompt_leak_scanner__list_patternsB
List every credential/PII pattern this scanner detects, grouped by category
Inputs: no named parameters.
prompt_leak_scanner__scan_directoryA
Recursively scan a directory of prompt logs or request-body fixtures for leaked credentials and PII
Inputs: path (required), exclude, include, maxFiles.
prompt_leak_scanner__scan_fileA
Scan a single file — plain text, or a JSON chat-request-body fixture (auto-detected) — for leaked credentials and PII
Inputs: path (required).
prompt_leak_scanner__scan_messagesA
Scan an OpenAI/Anthropic-style chat request body (a JSON object with a messages array and/or a system field) for leaked credentials and PII in every message's text content, before it would be sent to the model.
Inputs: body (required).
prompt_leak_scanner__scan_textA
Scan a raw text string (e.g. a prompt you're about to send to an LLM) for leaked credentials (API keys, private keys, JWTs) and PII (TC Kimlik No, credit card, IBAN, email, phone) — checksum-validated where applicable to keep false positives low.
Inputs: content (required), label.
rug_pull_detector__baseline_serverA
Connect to an MCP server (stdio command or Streamable HTTP URL), read its current tools/list response, and store it as the trusted baseline for future drift checks. Call this once, right after you've reviewed and approved a server's tools.
Inputs: cwd, env, url, args, +2 more.
rug_pull_detector__check_serverA
Connect to an MCP server and compare its current tools/list response against the stored baseline. A tool whose description, schema, or annotations changed since baseline is a 'rug pull' — approved once, silently different now. If no baseline exists yet, one is captured automatically (set autoBaseline=false to require an explicit baseline_server call first).
Inputs: cwd, env, url, args, +3 more.
rug_pull_detector__list_baselinesB
List every server this scanner has a stored baseline for
Inputs: no named parameters.
secret_scanner__list_patternsB
List all secret patterns that the scanner can detect
Inputs: no named parameters.
secret_scanner__scan_agent_historyA
Scan the transcripts coding agents keep on this machine (Claude Code, Codex, Gemini CLI, Continue) for secrets that were pasted into a chat or printed by a command. Such a secret was already sent to the model provider and should be rotated. Each secret is reported once with how often it appears.
Inputs: entropy.
secret_scanner__scan_directoryA
Recursively scan a directory for exposed secrets and API keys. Automatically skips node_modules, .git, dist, and binary files.
Inputs: path (required), entropy, exclude, include, +2 more.
secret_scanner__scan_fileC
Scan a single file for exposed secrets and API keys
Inputs: path (required), entropy.
secret_scanner__scan_gitA
Scan a git repository for secrets in what git says was added: the staged changes (before a commit) or every commit's added lines (history). History finds secrets that were deleted from the files but are still in the repository.
Inputs: mode (required), path (required), range, entropy, +2 more.
secret_scanner__scan_textB
Scan a text string or code snippet for exposed secrets and API keys
Inputs: content (required), label, entropy.
slopsquat_scanner__check_packageB
Check a single package name against the real npm or PyPI registry
Inputs: name (required), ecosystem (required).
slopsquat_scanner__scan_directoryB
Auto-detect and check both npm and pip manifests (package.json, requirements.txt, pyproject.toml) in a directory against their real registries
Inputs: directory (required).
slopsquat_scanner__scan_npmA
Check every dependency declared in a package.json (dependencies, devDependencies, peerDependencies, optionalDependencies) against the real npm registry -- flags any package name that doesn't exist at all (a likely LLM-hallucinated dependency an attacker may have pre-registered, i.e. 'slopsquatting'), and separately notes any that exist but were only first published very recently.
Inputs: directory (required).
slopsquat_scanner__scan_pipA
Check every dependency declared in requirements.txt or pyproject.toml against the real PyPI registry -- flags any package name that doesn't exist at all (a likely LLM-hallucinated dependency an attacker may have pre-registered), and separately notes any that exist but were only first published very recently.
Inputs: directory (required).
ssl_inspector__check_cert_expiryB
Check certificate expiry for one or more domains and highlight certificates expiring soon
Inputs: hosts (required), warnDays.
ssl_inspector__get_cert_infoB
Get detailed certificate information for a domain including fingerprint, SANs, and issuer chain
Inputs: host (required), port.
ssl_inspector__inspect_sslA
Inspect TLS certificate, cipher suite, and protocol configuration for a single domain
Inputs: host (required), port, probes, checkHsts.
ssl_inspector__inspect_ssl_bulkB
Inspect TLS configuration for multiple domains in parallel
Inputs: hosts (required), port, probes.
threat_rules__evaluate_eventC
Evaluate a structured ATR AgentEvent JSON (type, content, fields, sessionId, …).
Inputs: event (required), lane, format.
threat_rules__evaluate_fileC
Read a local file and evaluate its contents against ATR + GuardBee rules
Inputs: path (required), lane, type, format.
threat_rules__evaluate_textC
Evaluate free text against Agent Threat Rules (ATR) plus GuardBee KVKK/TR rules. Returns matches with follow-up scanner hints.
Inputs: content (required), lane, type, format, +1 more.
threat_rules__explain_bridgeB
Explain how Agent Threat Rules (ATR) complements GuardBee static MCP auditors
Inputs: no named parameters.
threat_rules__framework_mapA
Show how GuardBee's runtime findings map to OWASP Top 10 for LLM Applications (2025) and MITRE ATLAS — the mapping guardbee-proxy report uses
Inputs: no named parameters.
threat_rules__list_rulesC
List loaded ATR + GuardBee detection rules (optionally filter by category or source).
Inputs: lane, source, category.
threat_rules__rule_statsB
Summarize loaded rule counts by category and source (ATR vs GuardBee)
Inputs: lane.
tool_poisoning_scanner__list_patternsA
List every description-injection phrase and confused-deputy sink rule this scanner detects
Inputs: no named parameters.
tool_poisoning_scanner__scan_directoryB
Recursively scan a directory of MCP server source for tool-poisoning and confused-deputy patterns
Inputs: path (required), exclude, include, maxFiles.
tool_poisoning_scanner__scan_fileA
Scan a single file for tool-poisoning and confused-deputy patterns in MCP tool registrations
Inputs: path (required).
tool_poisoning_scanner__scan_textB
Scan MCP server source (TypeScript/JavaScript, Python, Go) for tool poisoning (hidden instructions embedded in a tool's description string, read by the calling LLM as trusted context) and confused-deputy tools (a name/description promising read-only behavior while the handler has a shell/eval/file-write/env-dump sink).
Inputs: content (required), label, language.
toxic_flow_auditor__audit_catalogA
Audit a tools/list-shaped JSON catalog for the lethal trifecta (toxic flow): untrusted content + sensitive/private data + exfiltration or destruction on the same MCP server. Returns an A–F grade.
Inputs: catalog (required), label.
toxic_flow_auditor__explain_trifectaA
Explain the lethal trifecta / toxic-flow model this auditor uses
Inputs: no named parameters.
toxic_flow_auditor__scan_directoryC
Recursively scan a directory of MCP server source for toxic flows across all registered tools
Inputs: path (required), exclude, maxFiles.
toxic_flow_auditor__scan_fileC
Scan a single source file for toxic flows
Inputs: path (required).
toxic_flow_auditor__scan_sourceA
Scan TypeScript/JavaScript MCP server source for .registerTool(...) and .tool(...) registrations and audit them for toxic flows
Inputs: content (required), label.
unbounded_consumption_auditor__list_patternsA
List every Unbounded Consumption / denial-of-wallet pattern this auditor detects, grouped by category
Inputs: no named parameters.
unbounded_consumption_auditor__scan_directoryB
Recursively scan a directory of LLM/agent application source for Unbounded Consumption / denial-of-wallet anti-patterns
Inputs: path (required), exclude, include, maxFiles.
unbounded_consumption_auditor__scan_fileB
Scan a single file for Unbounded Consumption / denial-of-wallet anti-patterns
Inputs: path (required).
unbounded_consumption_auditor__scan_textB
Scan LLM/agent application code for Unbounded Consumption ("denial of wallet") anti-patterns from OWASP LLM Top 10 2026's #6 category: LLM calls with no output token limit, hand-rolled HTTP calls to an LLM endpoint with no timeout, agent tool-calling or retry loops with no iteration cap, framework safety limits (LangChain max_iterations, openai-agents max_turns) explicitly disabled, and MCP tool handlers that make billable calls with no visible rate limiting.
Inputs: content (required), label.
vector_store_scanner__list_patternsA
List the vector-store types this scanner can fingerprint, and what unauthenticated-access checks it runs for each
Inputs: no named parameters.
vector_store_scanner__scan_endpointA
Probe a vector-database (or vector-index-capable) endpoint for unauthenticated exposure — Weaviate, Qdrant, Chroma, Elasticsearch/OpenSearch (HTTP fingerprinting, escalating from instance info → collection/schema listing → actual stored data), Redis (RESP PING without AUTH), and Postgres/pgvector (wire-protocol SSLRequest + StartupMessage handshake, no real credentials sent). Read-only — never writes or authenticates with real credentials.
Inputs: host (required), tls, port, type, +1 more.
vulnerability_scanner__get_findingsB
Get vulnerability findings from a GuardBee scan with optional severity filter. Includes title, description, and remediation recommendation per finding.
Inputs: page, scanId, brandId, pageSize, +1 more.
vulnerability_scanner__get_scan_statusB
Get the current status and summary of a GuardBee scan by ID
Inputs: scanId (required).
vulnerability_scanner__list_scansC
List recent GuardBee scans in your workspace
Inputs: page, status, brandId, pageSize.
vulnerability_scanner__scan_and_reportA
Run a full GuardBee scan and immediately return all critical and high findings with remediation guidance. Best for quick security assessments.
Inputs: url (required), scenario.
vulnerability_scanner__start_scanB
Start a GuardBee security scan on a URL. Returns a scan ID you can use to check status and get findings.
Inputs: url, wait, brandId, scenario.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 130 tools
The module prefixes and detailed descriptions help distinguish scanners, but the set contains many overlapping scan_text/scan_file/scan_directory/list_patterns families plus multiple meta-orchestrators (owasp_scan_path, vulnerability_scanner, threat_rules). An agent must read descriptions carefully to choose between secret/prompt-leak/document scanners, OWASP meta-scans and individual auditors.
Names are consistently snake_case and mostly use a predictable module__verb_noun pattern. Minor deviations exist, such as gateway_status, scan_and_report, and baseline_server/check_server, but overall the convention is clear.
130 tools is far beyond a well-scoped set and creates a severe selection burden for an agent. Although many tools map to distinct security domains, the repeated action variants across dozens of modules make the surface extremely heavy.
Coverage is very broad, spanning OWASP MCP categories, secrets, dependencies, TLS/DNS, models, vector stores, compliance, red-teaming, and runtime gateway auditing. Some lifecycle gaps remain, such as baseline deletion/update and gateway policy mutation, but the core scanning and reporting surface is extensive.
Maintenance
Related MCP Connectors
Security & DLP proxy for MCP: tool-poisoning scans, PII redaction on tool args/results. Beta.
Scan prompts for injection attacks, redact PII, and audit LLM SDK usage from any MCP client
Governed MCP gateway: one endpoint for your tools, with credential custody and audit log.
Security firewall for AI agents — scans MCP calls for injection, secrets, and risks.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceControl-plane proxy that sits in front of MCP servers, enforcing per-identity policy (YAML/OPA/Cedar), budget limits, and an audit trail on every call. Includes real-time anomaly detection that auto-blocks a compromised agent without a human in the loop.17Apache 2.0
- FlicenseNot gradedqualityCmaintenanceEnforces deterministic security policies on Model Context Protocol traffic between agents and remote MCP servers, including request validation, signed human approval, response-side credential blocking, prompt-injection flagging, and privacy-minimized auditing.-
- AlicenseNot gradedqualityDmaintenanceEnables secure MCP traffic by filtering threats with a 3-stage detection pipeline, applying RBAC policies, and redacting sensitive data in real-time via an SSE-inspecting proxy.Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents and MCP clients to safely access upstream MCP servers through centralized policy enforcement, including allow/deny/approval decisions, schema pinning, circuit breakers, and audit logging.MIT