Questa Privacy MCP
Server Details
Anonymize and redact PII before it reaches AI models. GDPR, HIPAA, EU AI Act.
- Status
- Healthy
- Uptime
- 44.8% over 32 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
The six tools mostly have distinct workflows: upload, anonymize, check job, inline redact, legal review, and command listing. Some overlap exists between anonymize_document and redact_pii, but descriptions clarify that one handles files/text under regimes and the other does inline PII redaction by entity type.
Five tools use clear verb_noun or verb_noun_phrase patterns (anonymize_document, get_anonymize_job, list_allowed_commands, review_with_claude_legal, upload_file_chunk). redact_pii is a minor naming deviation using acronym PII but is still readable and consistent in snake_case.
Six tools is well-scoped for a privacy/anonymization workflow. Each tool covers a distinct step: upload, anonymize, poll job, inline redact, legal review, and permission listing.
The set covers upload, anonymization, job status, PII redaction, legal review, and permission discovery, forming a coherent lifecycle. Minor gaps include no explicit delete/cancel job or download/export tool, but the main privacy workflow is complete.
Available Tools
6 toolsanonymize_documentAnonymize documentAInspect
Anonymize text or files (pdf/docx/csv/xlsx) under GDPR, HIPAA, EU AI Act, or CUSTOM. Parameters include upload_id (from upload_file_chunk), filename, file_base64, job_id, file_path, text, regime. After chunk upload, call this with upload_id + filename + regime. Excel jobs can take a few minutes; if status is running, call get_anonymize_job with the returned job_id — do not re-upload. Never paste file bytes in chat. Default regime GDPR.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Inline text only when the user pasted text, not a file | |
| job_id | No | Existing anonymize job to fetch or resume (do not re-upload) | |
| regime | Yes | ||
| filename | No | Original filename with extension, required with file_base64 or upload_id | |
| file_path | No | Local absolute path only when this MCP server can read the same disk. Do not use Claude/Cowork workspace paths. | |
| upload_id | No | ID returned by upload_file_chunk when complete=true | |
| file_base64 | No | Raw file bytes as base64 in this tool argument only — never in chat. Length of tens of thousands of characters is expected. | |
| custom_entities | No | Entity types when regime is CUSTOM |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false, idempotent=false and openWorld=true, so safety is partly covered. The description adds genuinely new behavior: Excel jobs are long-running, jobs return a job_id to poll, and re-uploading is discouraged. Payload handling ('never paste file bytes in chat') and the default regime are useful operational details beyond the annotations.
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-loads the core capability, then flows into workflow and caveats in a compact block. The sentence 'Parameters include upload_id...' is somewhat redundant with the schema but is short enough not to bloat the definition.
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 multi-input async tool with no output schema, the description supplies the critical missing pieces: which input mode to use (upload vs inline text vs path), the async polling behavior, and the job_id return. Only the return payload shape (e.g. status fields) is left implicit, which keeps it short of a 5.
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 88%, so parameters are already well documented in the schema. The description enumerates the parameter names and clarifies the upload_id workflow, but this largely restates what the schema's per-parameter descriptions already say, so the 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 (anonymize) plus the resources it accepts (text or pdf/docx/csv/xlsx files) and the compliance regimes it supports, so the agent knows exactly what the tool produces. It does not, however, distinguish itself from the sibling redact_pii, which an agent could plausibly confuse with anonymization.
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 concrete workflow ('After chunk upload, call this with upload_id + filename + regime') and names an alternative with its triggering condition ('if status is running, call get_anonymize_job ... do not re-upload'), which is strong when-to-use guidance. It stops short of explaining when to prefer this over the redact_pii sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_anonymize_jobGet anonymize jobARead-onlyIdempotentInspect
Check an anonymize job and return the preview when it is completed. Use after anonymize_document returns status running/queued, or to recover job cmup… IDs. Do not re-upload the file.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job id from anonymize_document |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description adds genuinely useful behavior beyond that: this is a polling endpoint whose useful payload (the preview) only appears once the job is completed, and re-uploading is not the recovery path.
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 compact sentences, front-loaded with the action and result. One sentence is marred by the truncated 'job cmup… IDs' text, which reads as a defect rather than intentional brevity.
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 an async job-polling tool with no output schema, the description covers the important things: when to call it, that results arrive only on completion, and the re-upload pitfall. It stops short of stating terminal failure states or polling cadence, which would make it fully self-sufficient.
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 documents it at 100% ('Job id from anonymize_document'). The description reinforces the source of the id but adds no format or syntax detail beyond what the schema already says, so the 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+resource ('Check an anonymize job') and adds the key output behavior ('return the preview when it is completed'), which distinguishes it from anonymize_document. The stray truncated fragment 'job cmup… IDs' slightly blurs an otherwise clear statement.
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 explicit trigger conditions: use after anonymize_document returns running/queued, or to recover job IDs, plus a clear prohibition ('Do not re-upload the file'). It names the sibling and the state that selects this tool, though the truncated 'recover job cmup… IDs' clause is partially unusable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_allowed_commandsList allowed commandsARead-onlyIdempotentInspect
List /questa:* commands and MCP tools the current SaaS role is allowed to run.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered. The description adds genuinely new behavioral context by disclosing that results are filtered by 'the current SaaS role,' which is not encoded in any annotation. It does not describe the shape of the returned list, but that is minor for a zero-argument read.
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?
A single sentence with the verb and the role-scoping constraint front-loaded, and no filler. Every word earns its place.
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-argument, read-only, annotation-rich listing tool this is close to sufficient: what is listed and under what scope are both stated. The only omission is the return shape (names only vs. names with descriptions/metadata), which an agent might want since no output schema exists.
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 and the input schema is an empty object, so there is nothing for the description to disambiguate. Baseline of 4 applies; the description neither adds nor omits parameter meaning.
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?
Specific verb ('List') plus two concrete resources ('/questa:* commands and MCP tools') scoped by role. The four sibling tools (anonymize_document, redact_pii, review_with_claude_legal) are clearly unrelated, so an agent can place this tool without ambiguity, though the description does not explicitly distinguish itself from any of them.
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 implicit: an agent can infer it should call this to discover what the current role is permitted to run, but there is no explicit when-to-use, when-not-to-use, or prerequisite (e.g. that a SaaS role must already be established). No alternatives exist among the siblings, so the absence is less damaging than it would otherwise be.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
redact_piiRedact PIIADestructiveIdempotentInspect
Inline redaction of personal data in contracts, emails, or transcripts by entity type. Returns redacted text and a preview. Does not send content to Claude Legal. If Claude Legal is enabled, wait for the user to confirm then call review_with_claude_legal. Requires tools.text.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| entity_types | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered. The description adds real value beyond them: it states the return content (redacted text plus preview), the external-boundary guarantee (no send to Claude Legal), and an auth prerequisite ('Requires tools.text'). It does not explain irreversibility or whether the source is modified.
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, zero padding, and the core capability is front-loaded before the boundary and workflow conditions. Every sentence carries distinct 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?
Return values are adequately covered despite no output schema, and the auth/workflow context is present. The main gap is the undocumented entity_types vocabulary, which an agent needs in order to call the tool correctly for a 0%-coverage schema.
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 0% for two required parameters. The phrase 'by entity type' hints that entity_types controls which entities are redacted, but no valid entity values or format are given, and the text parameter's accepted input is never addressed. The description only partially compensates for a total schema documentation gap.
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 names a specific verb (redaction) and resource (personal data in contracts, emails, transcripts) with scope qualifier 'by entity type.' It is clear what the tool does, though it never names the closest sibling anonymize_document, so sibling differentiation is only implicit.
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 gives concrete workflow routing: 'Does not send content to Claude Legal' and 'If Claude Legal is enabled, wait for the user to confirm then call review_with_claude_legal.' That is explicit sequencing against a named sibling. It stops short of saying when to prefer this over anonymize_document.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_with_claude_legalReview with Claude LegalAInspect
Send already-anonymized text or a completed file job to Claude Legal. Call only after the user has previewed the anonymized content and confirmed. Requires confirmed=true plus job_id or map_id.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | No | Anonymize job id from anonymize_document (files) | |
| map_id | No | map_id from the previous anonymize or redact result | |
| confirmed | Yes | Must be true after the user confirms the anonymized preview | |
| anonymized_text | No | Anonymized text when no stored map_id job is available |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true). The description adds genuinely non-structured behavior: an explicit user-confirmation gate before invoking an external service. It does not mention cost, latency, or failure behavior, keeping it below 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?
Three short sentences, no padding, with the action and the precondition front-loaded and the parameter requirement last. Every sentence carries required 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?
There is no output schema, but the description does not need to describe return values since it covers the call preconditions and input contract fully. Minor gap: nothing about what happens on rejection or how results are surfaced.
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 baseline is 3. The description adds meaning beyond the schema by specifying the either/or requirement between job_id and map_id and flagging anonymized_text as the fallback path, which the flat schema does not express.
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: send anonymized text or a completed file job to Claude Legal. The 'already-anonymized' and 'completed file job' qualifiers implicitly separate it from anonymize_document and redact_pii, though no sibling is named directly.
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 precondition chain: call only after the user has previewed the anonymized content and confirmed. It also states the required inputs (confirmed=true plus job_id or map_id). No explicit exclusion or named alternative, but the sequencing relative to the anonymize step is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_file_chunkUpload file chunkAInspect
Send a Claude/Cowork file to Questa in small base64 chunks so you never type a huge string in chat. Prefer 4000–8000 characters per chunk. After complete=true, call anonymize_document with parameters upload_id, filename, and regime=GDPR. Do not extract spreadsheet or document text.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | Yes | Original filename with extension, e.g. report.xlsx | |
| upload_id | No | Required after the first chunk | |
| chunk_index | Yes | 0-based chunk index | |
| chunk_base64 | Yes | One slice of the raw file as base64 (tool argument only, not chat) | |
| total_chunks | Yes | Total number of chunks |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this is a non-read-only, non-destructive, non-idempotent write, so the safety bar is partly met structurally. The description adds chunk-size and sequencing behavior, but says nothing about persistence, retention of uploaded chunks, or auth needs, and the phantom 'complete=true' flag conflicts with the actual schema.
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 purpose and immediately followed by the size guidance and the workflow ordering. Every sentence carries information, with only a minor deduction for the misleading 'complete=true' token.
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 multi-step chunked upload with no output schema, the description supplies the chunk strategy, size range, and the required follow-up call, which is most of what an agent needs. It omits error handling and what upload_id looks like on return, but is otherwise solid.
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 baseline is 3, but the description adds genuinely non-schema semantics: the 4000–8000 character guidance for chunk_base64 and the note that upload_id is used to chain into anonymize_document. That is real meaning beyond what the schema documents.
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 (send) and resource (a Claude/Cowork file as base64 chunks) and clearly differentiates itself from siblings by naming the anonymize_document follow-up. The odd reference to 'complete=true' — a parameter that does not exist in the schema — slightly muddies the mechanism.
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?
Provides concrete operational guidance ('prefer 4000–8000 characters per chunk'), specifies the sequencing ('After complete=true, call anonymize_document with...'), and adds a prohibition ('Do not extract spreadsheet or document text'). This gives the agent both the next step and a boundary, though it doesn't cover failure/retry conditions.
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.
2 tool updates
- Changed
anonymize_document3 fields changed- changed
Input schema / properties / filename / descriptionPrevious value: -"Original filename with extension, required with file_base64"New value: +"Original filename with extension, required with file_base64 or upload_id" - added
Input schema / properties / job_idAdded value: +{ + "description": "Existing anonymize job to fetch or resume (do not re-upload)", + "type": "string" +} - changed
Input schema / properties / upload_id / descriptionPrevious value: -"ID from upload_file_chunk after all chunks are complete"New value: +"ID returned by upload_file_chunk when complete=true"
- Added
get_anonymize_job
2 tool updates
- Changed
anonymize_document2 fields changed- changed
Input schema / properties / file_base64 / descriptionPrevious value: -"Raw file bytes as base64 (not extracted cell text). Use this for Claude/Cowork attachments."New value: +"Raw file bytes as base64 in this tool argument only — never in chat. Length of tens of thousands of characters is expected." - added
Input schema / properties / upload_idAdded value: +{ + "description": "ID from upload_file_chunk after all chunks are complete", + "type": "string" +}
- Added
upload_file_chunk
2 tool updates
- Changed
anonymize_document4 fields changed- added
Input schema / properties / file_base64Added value: +{ + "description": "Raw file bytes as base64 (not extracted cell text). Use this for Claude/Cowork attachments.", + "type": "string" +} - changed
Input schema / properties / file_path / descriptionPrevious value: -"Absolute path to pdf/docx/csv/xlsx"New value: +"Local absolute path only when this MCP server can read the same disk. Do not use Claude/Cowork workspace paths." - added
Input schema / properties / filenameAdded value: +{ + "description": "Original filename with extension, required with file_base64", + "type": "string" +} - changed
Input schema / properties / text / descriptionPrevious value: -"Inline text when no file_path"New value: +"Inline text only when the user pasted text, not a file"
- Added
review_with_claude_legal
3 tool updates
- First observed
anonymize_document - First observed
list_allowed_commands - First observed
redact_pii
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1622 npm1MIT
- AlicenseCqualityAmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npmMIT
- AlicenseAqualityCmaintenanceRevnuvo Company Intelligence tells AI agents what changed at a company, with evidence. It observes company websites, technologies, and DNS over time and returns timestamped, confidence-aware changes, signals, and monitoring.9MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.