PII Shield
Server Details
Redact names, IDs, emails, phones and card numbers before they reach the model; restore them after.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 6 tools
The core actions are clearly separated: detection, text redaction, document redaction, and workspace coverage management. The only likely confusion is between list_detectors and get_coverage, since both deal with detector/coverage inventory, though their descriptions distinguish available types from current workspace settings.
All names use snake_case and begin with an imperative verb, making the set predictable. The main minor deviation is 'redact', which is verb-only while most other tools use verb_noun, though it is still intuitive in context.
Six tools is well-scoped for a PII detection and redaction server. Each tool has a clear role: detect, redact text, redact documents, inspect coverage, list available detectors, and update coverage settings.
The surface covers the full core lifecycle: checking for PII, redacting text and documents, inspecting available detectors and current coverage, and changing workspace masking settings. No obvious operational gaps remain for the stated purpose.
Available Tools
6 toolsdetect_piiAInspect
Report what personal data appears in text (counts by type) without returning the raw values. Use to check whether text is safe to share. NOTE: detection is automated and is not a guarantee; a clean result does not prove the text is free of personal data.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses that only counts are returned and never raw values, and it warns that detection is automated and a clean result is not proof of safety. It stops short of saying whether the scanned text leaves the process or is stored, which matters for a PII tool.
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?
Three short sentences, front-loaded with the core behavior, then usage, then the caveat. Nothing is redundant and every sentence carries information an agent needs.
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?
With no output schema and no annotations, the description supplies both the return shape (counts by type) and a reliability disclaimer, which is the essential context for a one-parameter analysis tool. The remaining gap is data-handling behavior, which is 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?
Schema coverage is 0% and the single required parameter is undocumented. The description clarifies that the input is the text to be scanned and that its contents are analyzed rather than echoed, but adds no guidance on size limits, encoding, or supported content types.
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: reporting which personal data types appear in text, with an explicit output shape (counts by type, no raw values). This implicitly separates it from the redact siblings, though no sibling is named outright.
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?
"Use to check whether text is safe to share" gives one concrete when-to-use context. There is no when-not guidance and no routing to alternatives such as redact (for removal) or list_detectors (for what can be detected), leaving the agent to infer those choices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coverageAInspect
Show your workspace's current PII coverage (which detectors are on, custom terms, custom patterns). Uses the workspace key from your MCP server URL.
| Name | Required | Description | Default |
|---|---|---|---|
| shield_key | No | optional — only if not already in the server URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it does establish that the operation is a read ("Show") and discloses the auth model — the workspace key is taken from the MCP server URL. It does not state that nothing is modified, nor anything about response format or latency, so the behavioral picture is partial.
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 short sentences with no filler: the resource and its contents come first, the credential sourcing second. 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 simple zero-required-parameter read tool with no annotations and no output schema, the description covers what is inspected and how authentication is resolved, which is enough to call it correctly. Only the explicit relationship to set_coverage is missing.
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 coverage is 100%, so the shield_key parameter is already documented, but the description adds genuine meaning by explaining where the key normally comes from (the MCP server URL), clarifying when the optional override is needed. This is a modest but real addition over the schema text.
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?
"Show your workspace's current PII coverage" gives a specific verb and resource, and the parenthetical enumerates exactly what is returned (detectors on, custom terms, custom patterns), which separates it from list_detectors and detect_pii. It does not explicitly name set_coverage as its write counterpart, so the read/write distinction is only implied by "current" and the verb.
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?
The word "current" and the inspection framing imply this is the read-side counterpart to set_coverage, but no alternative is named and no when-to-use or when-not-to-use condition is stated. An agent can infer the routing but is not told it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_detectorsAInspect
List the PII types this shield can mask, and confirm custom regex/terms are supported. Call this to see what coverage is available.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool is a read-style listing of maskable PII types and that custom regex/terms are reported, but it says nothing about return shape, ordering, or whether results are static or configuration-dependent.
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 short sentences, front-loaded with the primary purpose. The second sentence ('Call this to see what coverage is available') is somewhat redundant with the first but still functions as a usage cue.
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 zero-parameter read tool with no output schema, the description adequately conveys what the agent gets back (PII type list plus custom regex/terms support). Minor gaps around result format are acceptable given the tool's simplicity.
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 no parameter semantics to explain; the baseline of 4 applies. The description correctly implies no inputs are needed to enumerate coverage.
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 states a specific verb and resource: 'List the PII types this shield can mask', plus a secondary capability (confirming custom regex/terms support). It is clear what the tool returns, but it does not distinguish itself from the sibling get_coverage, which sounds like it covers overlapping ground.
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?
'Call this to see what coverage is available' gives an implied usage context, but there is no explicit when-to-use versus when-not guidance and no mention of the sibling get_coverage, which an agent could easily confuse with this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
redactAInspect
Redact personal data (email, phone, cards, SA ID, SSN, IP, IBAN, names, custom terms) from text, replacing each value with a stable token like [EMAIL_1]. Call this before putting sensitive text into a prompt or context. NOTE: detection is automated and is not a guarantee; it can miss personal data. Review the output before relying on it.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The text to redact. | |
| reject | No | Finding ids (from a preview) to leave unredacted — a human said 'not PII here'. | |
| preview | No | Dry run: return what WOULD be redacted (type, confidence, rationale) without changing the text or consuming quota. | |
| detectors | No | Optional map of detector→bool to override defaults. | |
| customTerms | No | Extra literal terms to always mask (custom PII). | |
| customPatterns | No | Custom PII as regexes, e.g. {type:'EMPID', pattern:'EMP-\\d{5}'}. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden and does meaningful work: it discloses that replacement is by stable token, that detection is automated and can miss PII, and that the caller should review output. It omits other behavioral facts an agent would want — whether tokens are reversible/consistent across calls, quota consumption, and side effects on 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?
Three tight sentences, front-loaded with what gets redacted and what the output looks like, followed by the when-to-use trigger and the accuracy caveat. No filler or repetition of the tool name.
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?
Covers purpose, timing, and the crucial false-negative caveat for a six-parameter tool with no annotations and no output schema. The main remaining gap is return-value shape beyond token examples (e.g., whether mappings/confidence are returned) and any interaction between preview, reject, and quota.
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%, so all six parameters are already documented in the schema, including preview, reject, customTerms and customPatterns. The description only echoes the custom-terms category and the token format rather than explaining interactions such as using preview before reject or how detectors overrides behave. 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?
States a specific verb (redact) plus the resource (personal data in text) and enumerates the categories handled (email, phone, cards, SA ID, SSN, IP, IBAN, names, custom terms), and even shows the output shape ([EMAIL_1]). It does not distinguish itself from siblings like redact_document or detect_pii, so an agent must infer that this one is for plain text rather than documents or detection-only.
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?
"Call this before putting sensitive text into a prompt or context" gives a concrete triggering condition. There is no explicit when-not guidance and no mention of when to pick detect_pii (detect only) or redact_document (documents) instead, which leaves sibling selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
redact_documentAInspect
Redact PII from an uploaded file or document before sharing it with an AI. Works on PDFs, Word (.docx), Excel (.xlsx), and text-based files (txt, csv, json, code, transcripts, logs). Pass base64 file data with media_type/filename, OR raw text. Returns the redacted text and counts. Requires your workspace key (via the MCP server URL). NOTE: detection is automated and is not a guarantee; it can miss personal data. Review the file yourself before sharing it.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | or raw text instead of a file | |
| base64 | No | base64-encoded file bytes | |
| filename | No | ||
| detectors | No | ||
| media_type | No | e.g. application/pdf, text/csv | |
| customTerms | No | ||
| customPatterns | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full load and does well: it discloses the auth requirement (workspace key via the MCP server URL), the return shape (redacted text and counts), and an honest caveat that automated detection can miss personal data and should be reviewed manually. It does not say whether the original upload is stored, whether redaction is reversible, or what happens to non-text assets in a PDF, which keeps it short of a 5.
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?
Four tight sentences: capability and formats first, invocation modes second, return value third, risk caveat last. The format list is dense but earns its place; the wording is front-loaded with no filler. Minor redundancy between 'file' and 'document' but nothing worth cutting.
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 7-parameter, nested-object tool with no annotations and no output schema, the description covers auth, formats, input modes, and returns. The gap is what the tool actually produces for binary inputs — it says 'returns the redacted text and counts', leaving unclear whether a redacted PDF/DOCX file is emitted or only extracted text — and it gives no guidance on the detector/custom-term parameters.
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 coverage is only 43%, so the description must compensate, and it does explain the main branch point: base64 with media_type/filename, or raw text. However, three parameters that materially change results — 'detectors', 'customTerms', and 'customPatterns' (a nested object and two arrays) — are never mentioned, leaving the most consequential knobs undocumented in both schema and description.
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 an uploaded file or document') and enumerates the supported formats (PDF, .docx, .xlsx, txt/csv/json/code/transcripts/logs). It implicitly contrasts with detect_pii and redact by promising an actual redacted output plus counts, but it never names a sibling, so differentiation is left to inference.
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?
Gives a clear motivating context ('before sharing it with an AI') and describes the two invocation modes (base64 file vs raw text). It does not say when to prefer this over the sibling 'redact' or 'detect_pii' tools, nor when redaction is unnecessary, so the when-to-use decision against alternatives is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_coverageBInspect
Change what this workspace masks, right from your chat. Turn detectors on/off (e.g. enable PERSON name masking), add always-mask terms, or add custom PII as regex (e.g. employee IDs 'EMP-\\d{5}'). Uses the workspace key from your MCP server URL.
| Name | Required | Description | Default |
|---|---|---|---|
| detectors | No | map of detector→bool, e.g. {"PERSON":true} | |
| shield_key | No | optional — only if not already in the server URL | |
| customTerms | No | literal terms to always mask | |
| customPatterns | No | custom PII as regex |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It usefully discloses the auth model ('Uses the workspace key from your MCP server URL') and implies mutation, but never states whether changes are persisted, whether they apply only to future redactions or retroactively, or whether the detectors map merges with or replaces existing settings — a critical ambiguity for a config-mutation tool.
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?
Three tight sentences, front-loaded with the action and then the three capability branches, each with a concrete example. Minor filler in 'right from your chat' that does not earn its place, but no structural waste.
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 no-annotation, no-output-schema mutation tool with a nested-object parameter, the definition omits the essentials: what the call returns, whether the change is idempotent, and how partial updates behave. It covers what can be changed but not the consequences of changing it.
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%, so the schema already documents all four parameters; the description's detector and regex examples largely restate the schema's own examples. The one added signal is the note that shield_key is normally unnecessary because the key comes from the URL, but merge-vs-replace semantics for the nested detectors object remain undefined.
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: 'Change what this workspace masks', and enumerates the three editable dimensions (detector toggles, always-mask terms, custom regex PII). It is clearly distinguishable from read-side siblings like get_coverage and list_detectors, though it never names those siblings 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?
Usage is only implied: the agent can infer this is the write counterpart to get_coverage when masking configuration must be altered. There is no explicit when-to-use statement, no prerequisite chain (e.g. call list_detectors first to learn valid detector names), and no guidance on whether to read current coverage before changing it.
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.
6 tool updates
- First observed
detect_pii - First observed
get_coverage - First observed
list_detectors - First observed
redact - First observed
redact_document - First observed
set_coverage
Related MCP Connectors
Detect and redact PII and secrets before text reaches an LLM, with reversible placeholders.
Detects and redacts PII (emails, phones, SSNs, names, addresses) from text. $0.02/call via x402.
Takes the people out of text before a model sees it, and puts them back in the reply.
Find and redact leaked secrets, wallet keys and PII before an AI agent sends text.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceStrips personal data and credentials from text before it reaches a model, log, or ticket, using checksum-verified detection for cards, IBANs, routing numbers, SSNs, contact details, and API keys. Placeholders such as <EMAIL_1> can later be swapped back in so the model's response is restored with the original values.2 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables reversible anonymization of sensitive PII such as SSNs, credit cards, passport numbers, emails, and phone numbers before sending prompts to external LLMs, then restores original values locally using HMAC isolation.7-
- AlicenseAqualityCmaintenanceDetects and redacts sensitive personal information such as names, emails, phone numbers, ID numbers, and locations in text before it is processed by AI agents, using configurable mask, hash, or remove strategies.1MIT
- FlicenseNot gradedqualityNot gradedmaintenanceEnables reversible anonymization of SSNs, credit cards, passport numbers, emails, and phone numbers in prompts before sending them to external LLMs, and restores original tokens from completions using local HMAC isolation.-
Glama MCP Gateway
Add one secure layer between your agents and this server.