Stript MCP Bridge
Server Quality Checklist
Latest release: v1.0.7
- Disambiguation4/5
The tools are largely distinct: anonymize_file initiates new processing, fetch_result retrieves existing results, restore and restore_file handle inverse operations for text and files, and status checks the app state. Some minor overlap exists between anonymize_file and fetch_result (both return anonymized content) and between the two restore tools, but the descriptions provide sufficient differentiation.
Naming Consistency3/5All tools share the 'stript_' prefix and use snake_case, but the pattern is inconsistent: most are verb_noun (stript_anonymize_file, stript_fetch_result, stript_restore_file), while stript_restore lacks an object and stript_status is a noun rather than a verb. This makes the naming somewhat predictable but not uniform.
Tool Count5/5With 5 tools, the server is well-scoped for its purpose: anonymize, fetch result, restore (both text and file), and check status. This is within the ideal 3-15 range and each tool serves a necessary step in the Stript workflow without unnecessary bloat.
Completeness5/5The tool set covers the full lifecycle: anonymizing files, fetching results (including waiting for review), restoring placeholders in AI responses or files, and checking system status. There are no obvious dead ends or missing operations for the stated purpose of bridging Stript anonymization into MCP.
Average 4.5/5 across 5 of 5 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 1 commit in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the sparse annotations: it explains local detection and replacement of personal data, that only anonymized text enters the conversation, the review mode interaction (opens app and waits), and the quota behavior. It does not explicitly state whether the original file is modified, but the destructiveHint annotation is false, so no contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than the ideal but every sentence contributes unique information (trigger, user instruction, constraint, behavior, restore hint, mode guidance, quota). It is front-loaded with the 'Use this when' guidance and well-structured, earning a high score despite its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has moderate complexity (modes, quota, restore, local processing). The description covers the main aspects including when to use, the review flow, quota limits, and the restore path. It does not detail the output format, but an output schema exists, so that is not required. It is sufficiently complete for effective tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already documented. The description adds minor context about mode (review opens the app) but this is also in the schema description. It does not significantly enhance understanding of path or project parameters, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool anonymizes a document with Stript, specifying the trigger condition ('when the user wants to work with a document that may contain personal data') and giving concrete examples (summarize, translate, draft a reply). It distinguishes from siblings by mentioning stript_restore for restoring placeholders and describing the review mode.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this when...' and provides examples, states to ask for the file path, and gives a strong directive ('Never ask the user to paste document content'). It also clarifies when to use review mode and mentions the free evaluation document quota, giving clear context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description richly discloses behaviors beyond annotations: it writes to clipboard or file, never appears in chat, returns replacement counts only, and is free (never consumes an evaluation document). This adds significant context that annotations alone (readOnlyHint: false, destructiveHint: false) do not convey, and it does not contradict any annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four concise sentences, each adding critical information: when to use, output destination, return type, and cost. It is front-loaded with the primary use case and contains no filler or repetition. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (4 params, output schema, sibling tools), the description covers the purpose, usage scenario, output behavior, destination, and cost. It even includes a user instruction ('always tell the user where it went'). The output schema exists, so the description need not explain return values, but it still does. This is complete for an agent to use effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 parameters clearly. The description adds only a few contextual hints (e.g., examples of placeholders) but does not explain parameters in greater depth or add meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('restore original values into placeholder text') with a clear target (an AI answer containing Stript placeholders like [PERSON_1] or [EMAIL_2]). It distinguishes this tool from siblings by focusing on inline text and noting that restored text never appears in chat, which is unique among the listed tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description opens with 'Use this when...' and gives a concrete scenario, establishing when to use it. It also provides guidance on always telling the user where the output went. However, it does not explicitly mention alternatives like stript_restore_file or when not to use this tool, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral details beyond annotations: 'The restored file is written to the Stript output folder and its content never appears in the chat', 'returns replacement counts and the output path only', and 'Restoring is free'. These specifics about output location, output format, and cost are valuable context not provided by 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, each earning its place: purpose, usage instruction, output behavior, and cost. It is front-loaded and concise, with no redundant or verbose language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three parameters, an output schema, and annotations, the description fully covers the necessary context: what it does, how to use it (ask for path), what it returns (counts and path), where output goes, and that it is free. No significant gaps are apparent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all three parameters with 100% coverage, so the baseline is 3. The description adds minimal parameter-specific meaning, only reinforcing that the path is a file path. It does not elaborate on the 'project' or 'output_filename' parameters beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'restore original values into a file that contains Stript placeholders'. It specifies the resource (file) and the action (restoring), and differentiates from siblings by focusing on file restoration, with the name stript_restore_file and description 'into a file' distinguishing it from stript_restore.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical usage guidance: 'Ask the user for the file path, do not ask them to paste file content into the chat' and notes 'Restoring is free, it never consumes an evaluation document.' It does not explicitly mention when to use this instead of stript_restore or other siblings, but the context is clear enough for this file-specific tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses important blocking behavior ('this call WAITS for the user to finish the review'), the pending_review return/retry pattern, and resource implications ('Reading a stored result is free, it never consumes an evaluation document'). It also states that only anonymized content is returned, never original text. These go well beyond the readOnlyHint/destructiveHint annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Though the description is longer than typical, every sentence adds a distinct piece of information: trigger conditions, blocking behavior, retry instructions, optional parameter semantics, output guarantee, and cost implication. It is front-loaded with the core action and remains tightly structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's wait-and-retry behavior and optional parameter, the description covers the full invocation loop, the output constraint, and the resource impact. Combined with the output schema, this is sufficiently complete for an agent to use the tool correctly without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully describes document_id as optional and says 'Omit for the most recent document.' The description repeats the same information in natural language ('without it the most recent document in the project is fetched') and adds a friendly paraphrase, but no new semantic meaning beyond the schema. With 100% schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the specific verb+resource: 'fetch the anonymized result of a Stript document,' clearly distinguishing it from siblings like stript_anonymize_file (anonymize) and stript_restore (restore). It adds context about pending_review and app restarts, making the purpose precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use: 'after a pending_review status or after the app was restarted mid-review,' and gives a concrete retry loop: 'call it again immediately to keep waiting, and repeat while the result says pending_review.' It also explains the optional parameter use case, so an agent knows a bare call works.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false; the description adds that it 'consumes no evaluation document and changes nothing,' providing domain-specific reassurance and clarifying side effects 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exactly two sentences: the first enumerates the specific checks performed, the second gives usage guidance and side-effect confirmation. Every sentence carries meaningful content with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having zero parameters, the description fully covers the tool's purpose, when to use it, and its side-effect-free nature. An output schema exists, so return value details are already structured and do not need to be repeated in the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is effectively 100%. The description adds no parameter details, but none are needed; the baseline score of 4 applies as there is nothing to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks whether the Stript desktop app is running with AI integrations enabled, which license tier is active, and how many Free Evaluation documents remain. This specific enumeration of checks distinguishes it from sibling tools like stript_anonymize_file or stript_restore.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to call it 'before anonymizing when the state is unclear,' providing a clear use case. It doesn't enumerate alternatives or exclusion cases, but the guidance is sufficient for a read-only status check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GlaserIngo/stript-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server