PromptGuard
Server Details
Scan prompts for injection attacks, redact PII, and audit LLM SDK usage from any MCP client
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 4 tools
The tools mostly have clear, distinct purposes: redaction, threat scanning, code SDK scanning, and status. There is minor potential overlap between redact and scan_text because both involve PII, but their outputs and intended actions are different enough that an agent can choose correctly.
All tools share the promptguard_ prefix and use short action/resource-style names, which is predictable. The only minor inconsistency is that status is a noun rather than an action verb like redact or scan_text, but it remains readable and intuitive.
Four tools is well-scoped for a focused prompt-security and privacy utility. Each tool covers a distinct core capability, and there are no obviously redundant or trivial additions.
The surface covers the main lifecycle: status verification, PII redaction, text threat scanning, and code SDK auditing. Minor gaps could include policy/configuration management or batch operations, but the essential workflows are represented.
Available Tools
4 toolspromptguard_redactRedact PIIARead-onlyInspect
Redact PII (emails, phone numbers, SSNs, credit cards, API keys) from text. Returns sanitized text with each entity replaced by a labeled placeholder, e.g. [EMAIL_REDACTED], [PHONE_REDACTED], [SSN_REDACTED], and the PII types found. Never returns the original text. Each call counts as one Request on your PromptGuard plan. When to use: Before including user data in LLM prompts, when processing customer messages, or when building RAG pipelines that ingest documents containing personal information.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The text content to redact PII from |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes beyond the readOnlyHint/openWorldHint/destructiveHint annotations by disclosing the return shape (labeled placeholders), the guarantee that original text is never returned, and a billing note that each call consumes one Request on the plan. Missing only edge-case behavior such as input size limits or what happens when no PII is found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action and output contract, then a clearly separated usage paragraph; no filler sentences. The placeholder examples are slightly repetitive but earn their place by making the output format concrete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one required string parameter) and an output schema exists, so return values needn't be spelled out — yet the description still summarizes them usefully along with the quota cost. Nearly complete; only input limits and no-PII-match behavior are left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, and the schema already describes it fully at 100% coverage ('The text content to redact PII from'). The description adds no syntax, encoding, or size guidance for that parameter, so the schema carries the whole burden — baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Redact PII ... from text') and enumerates the entity classes it targets, plus the exact output form ([EMAIL_REDACTED], etc.). It implicitly separates itself from promptguard_scan_text by asserting 'Never returns the original text', but never names the scan sibling or contrasts the two explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
A dedicated 'When to use' clause gives three concrete scenarios (pre-LLM prompt, customer messages, RAG ingestion), which is clear context for selection. It stops short of stating when not to use it or pointing to promptguard_scan_text for detection-only needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
promptguard_scan_codeFind LLM SDK calls in codeARead-onlyIdempotentInspect
Analyze code for LLM SDK usage patterns (OpenAI, Anthropic, Cohere, Google Gemini, Bedrock). Detects import statements and client instantiations via pattern matching. When to use: After generating new code that uses LLM SDKs, when reviewing pull requests, or when auditing a codebase for security coverage gaps.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The code content to analyze for LLM SDK usage |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | Yes | |
| summary | Yes | |
| providers | Yes | |
| recommendation | No | |
| totalDetections | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered elsewhere. The description adds real value by disclosing the mechanism ('pattern matching' on imports and client instantiations), which tells the agent results are heuristic and bounded to the five listed SDKs, but it says nothing about result shape or what happens with non-matching or mixed-language input.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: capability and mechanism first, then triggers, with zero repeated field names or filler. Nothing could be removed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only tool with an output schema and full annotation coverage, the description supplies what is needed to invoke it correctly. The remaining gap is routing: it never positions itself against promptguard_scan_text or points to promptguard_redact as the natural next step.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter at 100% schema description coverage, the schema already explains that 'code' is the content to analyze. The description adds no format, size, or language constraints for that input, so it sits at the structural baseline rather than exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Analyze code for LLM SDK usage patterns') and narrows scope to a named vendor list plus import statements and client instantiations. The sibling promptguard_scan_text is not named, so the code-vs-text distinction must be inferred from the tool names rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
An explicit 'When to use' clause gives three concrete triggers: after generating LLM-SDK code, during PR review, and for audit coverage gaps. It stops short of exclusions or naming promptguard_scan_text/promptguard_redact as the follow-on or alternative path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
promptguard_scan_textScan text for threatsARead-onlyInspect
Scan text for security threats including prompt injection, jailbreaks, PII leakage, and toxic content. Returns a decision (allow/block), confidence score, threat type, and reason. Each call counts as one Request on your PromptGuard plan. When to use: When reviewing user-facing prompts, testing LLM inputs for safety, or verifying that content is free of injection attacks before sending to an LLM.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The text content to scan for security threats | |
| content_type | No | Whether the text is a prompt sent to a model or a model's response | prompt |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally; the description's real addition is the cost disclosure that 'each call counts as one Request on your PromptGuard plan', which no annotation conveys. The rest of the behavioral content (decision, confidence, threat type, reason) restates what the existing output schema already returns, so the net value beyond structured fields is modest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the purpose, followed by a clearly labelled usage clause — no filler. The enumeration of return fields is mildly redundant given the output schema exists, but it is short and reads as a useful summary rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with full schema coverage, annotations, and an output schema, the description covers purpose, quota cost, and usage context, which is most of what an agent needs. It stops short of noting any input-size limits or how to act on a 'block' decision, which would be the remaining gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including the content_type enum explaining prompt vs. response, so the schema carries the parameter semantics on its own. The description adds no guidance about how content_type affects scanning or about text size/format expectations, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Scan text') and enumerates the threat classes it detects (prompt injection, jailbreaks, PII leakage, toxic content), which is far more concrete than a generic 'check text'. It never names its near sibling promptguard_scan_code or promptguard_redact, so the agent must infer the boundary from those tools' own names rather than from this description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
An explicit 'When to use' clause lists three concrete scenarios: reviewing user-facing prompts, testing LLM inputs, and pre-flight checking content before sending to a model. What is missing is any exclusion or routing rule, e.g. when to prefer promptguard_scan_code for code payloads or promptguard_redact when PII should be removed rather than flagged.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
promptguard_statusPromptGuard statusARead-onlyIdempotentInspect
Show whether PromptGuard is set up and signed in, with this server's version and the account or configuration details it knows (the hosted server reports your plan; the local CLI server reports its key type, proxy URL and providers). When to use: To verify PromptGuard is properly configured, or to confirm which version is running.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a read-only, idempotent, non-destructive, closed-world call, so the bar is lower, yet the description still adds real value by specifying what the payload contains and how it differs between the hosted server (plan) and the local CLI server (key type, proxy URL, providers). It stops short of saying whether the call makes network requests or what it returns when unconfigured, which is the only remaining behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences: the capability first, then the parenthetical scope of returned fields, then a labeled usage line. Every clause carries information and nothing is repeated from the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema is present, so return-value documentation is not the description's job, and annotations fully cover the safety profile. The description supplies the one thing structured fields cannot: the distinction between hosted and local server reporting.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. Schema coverage is 100% and the empty object schema is unambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb-plus-resource: show whether PromptGuard is set up and signed in, plus version and account/configuration details. The resource is categorically distinct from the sibling scan/redact tools, so an agent can route between them without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It has an explicit 'When to use' clause naming two concrete situations: verifying configuration and confirming the running version. There are no when-not conditions or named alternatives, but no sibling overlaps with status checking, so the guidance is effectively sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
promptguard_redact - First observed
promptguard_scan_code - First observed
promptguard_scan_text - First observed
promptguard_status
Related MCP Connectors
Security firewall for AI agents — scans MCP calls for injection, secrets, and risks.
Security & DLP proxy for MCP: tool-poisoning scans, PII redaction on tool args/results. Beta.
Real-time MCP & A2A prompt-injection, jailbreak, and tool-schema poisoning firewall for AI agents.
Scan text, documents, websites, and MCP metadata for prompt injection and sensitive-data risks.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides prompt injection detection, PII/secrets redaction, and an audit trail for AI agents via MCP tools.4MIT
- FlicenseNot gradedqualityCmaintenanceEnables LLM agents to enforce security policies by authorizing tool calls, scanning for prompt injection, checking memory writes, redacting PII, and accessing audit trails through MCP.-
- AlicenseAqualityFmaintenanceUnified MCP safety server that detects prompt injection (75 patterns), scans LLM outputs for leaked secrets/PII, enforces API cost budgets, and creates signed audit trails. Zero ML dependencies, pure Python.1741 PyPI1MIT
- AlicenseNot gradedqualityFmaintenanceEnables transparent security for any MCP server by intercepting tool calls, blocking prompt injection attempts, masking PII in responses, and writing immutable audit logs.2,302 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.