Local MCP privacy, knowledge and Docker sandbox gateway
Enterprise Gateway has well-structured schemas and descriptions for most tools, but suffers from inconsistent parameter documentation, missing output schema specifications, and composition issues. 6 of 7 tools have complete input schemas with types and descriptions (baseline: 100% of A+ tools). However, output schemas are not documented anywhere in the source, and several tools lack clarity on return structure. Tool naming follows verb_noun convention (anonymize_, deanonymize_, query_, execute_, get_, security_audit_, dsgvo_pii_). Descriptions range 50-180 chars, within the 10-1024 baseline. Key weakness: execute_code and deanonymize_response lack sufficient parameter validation guidance, and no tool documents pagination or result limits despite query_knowledge accepting top_k.
Anonymizes sensitive data in prompts using PII detection and configurable masking strategies
Restores original sensitive data from anonymized LLM responses using session vault
Performs GDPR/DSGVO schema audits for PII risk assessment
Executes sandboxed Python or JavaScript code in unprivileged Docker containers
Retrieves Open Knowledge Format (OKF) markdown concept documents with symlink protection
Executes tenant-authorized vector or hybrid search queries against LanceDB knowledge base
Generates adaptive security audit prompts for evaluating LLM responses
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing response structure. Pattern baseline: 100% of A+ tools have documented return types.
execute_code lacks validation guidance in description. No mention of timeout behavior, sandbox constraints, or what happens on execution failure. LLMs cannot reason about safe usage without explicit constraints.
query_knowledge accepts top_k (1-50) but no pagination guidance. Description does not explain what happens when results exceed top_k or how to retrieve additional results. Pattern baseline: tools returning lists should support pagination.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
deanonymize_response requires session_id but no guidance on session lifecycle, validity window, or error handling if session expires. Undocumented dependency on anonymize_prompt session state.
get_okf_concept description mentions 'symlink protection' but does not explain what the tool returns (markdown content? metadata? both?) or when to use it vs query_knowledge.