mcp-security-toolkit
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| mcp_server_auditA | Statically audit an MCP server Python source file. Enumerates tools registered with FastMCP-style Args: path: Absolute path to a Python file defining an MCP server. max_bytes: Reject files larger than this (default 5 MB). Prevents DoS via huge input. Pass a larger value if you need to audit a big monolith, but consider splitting it first. Returns:
Structured audit report (see AuditReport schema). Does NOT execute
the target file. Includes a |
| agent_tool_risk_auditA | Statically audit a single agent tool definition for schema-level risks. Accepts OpenAI function-calling, Anthropic tool-use, MCP tool, or a bare JSON Schema. Reports:
Args: schema: A tool definition as a dict. Returns: Structured AuditReport. Pure function, no I/O, no chaining. |
| prompt_injection_auditA | Statically analyze a system prompt / template for prompt-injection surface. Reports:
Pure function. No LLM call, no I/O, no chaining. Args: prompt: The system prompt or template text. Returns: Structured AuditReport. |
| owasp_llm_classifyA | Map a finding or observation to OWASP LLM Top 10 (2025) categories. Pure rule-based: keyword and regex patterns with weights per category.
Returns the top Args: observation: Free-form text describing a finding, scan result, bug report, threat model entry, or security observation. top_n: Number of matches to return (default 3). Returns:
ClassifyReport with ranked matches. If nothing matches, |
| jwt_inspectA | Decode and audit a JWT. Reports algorithm issues ( Args: token: The JWT string (three dot-separated base64url segments). check_weak_secrets: If True, attempt a small dictionary of common secrets against the signature for HS* algorithms. Default True. Returns: Structured inspection report (see JwtInspection schema). |
| http_diffA | Diff two HTTP responses with security-relevant findings. Inputs may be raw HTTP response strings (status line + headers + body)
or dicts shaped Reports:
Stateless. Two inputs in, one report out. |
| default_creds_lookupA | Return known default credentials for a vendor / product / service. Accepts a short product name ( Pure data lookup — no network, no scanning. Args: query: vendor / product / service identifier (case-insensitive). Returns:
LookupReport with |
| sensitive_files_listA | Return curated sensitive-path lists for a given tech stack. Args:
stack: Comma-separated stack hints. Supported keys:
common, php, wordpress, dotnet, java, node, python, k8s, docker, ci.
include_common: If True (default), always include the Returns:
FilesReport with |
| wordlist_genA | Generate a wordlist tailored to the target surface. Modes:
Pure function. No network. Args:
mode: One of Returns:
GenReport with |
| graphql_introspectA | Run a GraphQL introspection query against Single HTTP POST. Read-only. Will not mutate state on the server. By default, requests resolving to private / loopback / link-local /
cloud-metadata addresses are blocked (SSRF protection). Set
Redirects are disabled (an HTTP 3xx from the target raises
Residual risk: DNS rebinding. The pre-flight resolution and the actual HTTP request happen in separate syscalls and the OS may resolve the hostname twice. A hostile DNS that returns a public IP for the check and a private IP for the request can defeat the guard. For high-stakes environments, run this tool inside a network namespace / egress proxy that enforces address restrictions independently. Args:
url: Full GraphQL endpoint URL (e.g. Returns:
IntrospectReport summarizing the schema and security observations.
If the URL resolves to a private address and |
| phpggc_generateA | Generate a single PHP unserialize gadget chain via Args:
chain: Gadget chain identifier (e.g. Returns:
PhpggcReport with the generated payload (string). If |
| interactsh_registerA | Register a new interactsh callback URL via the Spawns interactsh-client detached, captures the assigned callback URL,
and persists a session descriptor for later polling. Returns a token
that pairs with Args:
server: interactsh server hostname (default Returns:
RegisterReport with |
| interactsh_pollA | Read captured OOB interactions for a previously-registered token. Args:
token: token returned by Returns: PollReport with all interactions captured so far. |
| interactsh_stopA | Stop a previously-registered interactsh-client session and clean up. Terminates the spawned Args:
token: token returned by Returns: {"stopped": bool, "log_removed": bool, "note": str | None} |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool has a clearly distinct purpose, from auditing agent tool schemas to generating PHP gadget chains. No two tools overlap in functionality or target domain.
All tool names follow a consistent snake_case pattern with a domain-specific prefix (e.g., graphql_introspect, jwt_inspect, wordlist_gen), making them predictable and easy to distinguish.
14 tools is a well-scoped collection for a security toolkit. Each tool serves a distinct purpose without redundancy, and the count is neither too small nor too large for the domain.
The toolkit covers a wide range of security utilities, but there are notable gaps for a generic security toolkit (e.g., no port scanning, exploitation beyond PHP gadget chains, or vulnerability scanning). The focus seems skewed toward MCP and LLM security, but the presence of generic tools like default_creds_lookup suggests a broader scope, which is not fully covered.