Skip to main content
Glama
Stript MCP Bridge

Stript MCP Bridge

by GlaserIngo

Stript MCP Bridge

@stript/mcp is a local Model Context Protocol server that lets Claude (Desktop and Code) anonymize documents through the Stript desktop app on your own machine — so personal data never enters the conversation.

Requires the Stript desktop app with AI integrations enabled in Settings. The bridge does nothing on its own; it is a thin, local client to the app.

What it does

Claude hands the bridge a local reference — a file path, the clipboard, or an existing Stript document id. The bridge asks the local Stript app to detect personal data and replace it with consistent placeholders like [PERSON_1]. Only the anonymized text is returned to the conversation. Restored (real-PII) output is written to your clipboard or a local file and is never returned to the model.

Related MCP server: docuprivado

Install

Claude Desktop — install the signed Stript.mcpb from the Stript app (Settings → Install for Claude Desktop), or from https://downloads.stript.io/Stript.mcpb.

Claude Code:

claude mcp add stript -- npx -y @stript/mcp

Allowed folders (required before file access)

Stript reads files only from folders you explicitly allow. There is no default folder list: until you allow at least one folder, the bridge starts and stript_status works, but every file-reading tool answers with guidance instead of file content (fail-closed).

  • Claude Desktop: set Folders Stript may read documents from in the extension settings.

  • Claude Code / npx: set STRIPT_MCP_ALLOWED_DIRS (path-separator-joined list of absolute paths), e.g. STRIPT_MCP_ALLOWED_DIRS="$HOME/Documents:$HOME/Desktop".

Keep the list as narrow as your workflow allows. Relative paths and unresolved placeholders are ignored rather than guessed.

Tools

Tool

Purpose

Nature

Check the Stript app status

Confirm the app is running and reachable

read-only

Anonymize a document with Stript

Detect + replace PII in a file on disk

writes anonymized output

Anonymize the clipboard text with Stript

Same, for the current clipboard (opt-in; Claude asks first)

writes anonymized output

Fetch a Stript anonymization result

Retrieve a completed result

read-only

Restore original values into placeholder text

Put the real values back (to clipboard or a local file)

writes locally, never to chat

Restore original values into a file

Restore a full file on disk

writes locally, never to chat

How it works — privacy by design

  • The bridge talks only to 127.0.0.1: the Stript app's local backend and a loopback broker inside the signed app. It makes no external network calls with your content.

  • A per-launch, scope-restricted token gates every call; ports and token rotate on each launch.

  • Restored real values never enter tool results — they are written to your clipboard or a local file only.

  • New documents meter through the same local path as the app; the bridge keeps only a small local usage-metering mirror and nothing else persistent.

Privacy Policy

Stript is local-first. From the Stript Privacy Policy:

"Your documents are processed exclusively on your own device."

"No document content, file name, path, document identifier, source commitment, mapping, detection result, entity information, or export activity is transmitted to us or any third party."

This bridge inherits that guarantee:

  • Collects and transmits no document content. All detection and anonymization run locally in the Stript app; the bridge only shuttles data between Claude and the local app over loopback.

  • Stores nothing beyond a local usage-metering mirror on your own machine.

  • Shares nothing with third parties — it makes no off-device network calls.

The broader Stript product's data handling — optional account email, payment processing via Lemon Squeezy, hosting and privacy-preserving analytics via Cloudflare, transactional email via Resend, and the associated retention periods and contact details — is described in full in the Privacy Policy. Direct privacy questions to the contact listed there.

Build from source

npm ci
npm run build     # bundles dist/index.js (esm, node20)
npm test          # vitest
npm run check     # tsc --strict (bridge + card UI)

License

MIT. The Stript desktop app this bridge connects to is a separate, proprietary product.

Available Tools

5 tools
stript_anonymize_fileAnonymize a document with StriptA

Use this when the user wants to work with a document that may contain personal data, for example summarize it, translate it, or draft a reply. Ask the user for the file path. Never ask the user to paste document content into the chat. Stript detects and replaces personal data locally and only the anonymized text enters the conversation. Placeholders like [PERSON_1] can be restored later with stript_restore. Set mode to review when the user wants to check the detections in the Stript app first, Stript then opens the document and you wait for the user. Processing a new document uses one of the 5 Free Evaluation documents, already processed documents are free.

Inputs: path (required), mode, project. Returns: next, types, status, warnings, +10 more

stript_fetch_resultFetch a Stript anonymization resultA
Read-only

Use this to fetch the anonymized result of a Stript document, for example after a pending_review status or after the app was restarted mid-review. If the document is still in review, this call WAITS for the user to finish the review in Stript and returns the result as soon as they click Anonymize. When it returns pending_review instead, call it again immediately to keep waiting, and repeat while the result says pending_review and the user has not cancelled. The document_id is optional, without it the most recent document in the project is fetched, so a plain "fetch my Stript result" works. Returns only anonymized content, never the original document text. Reading a stored result is free, it never consumes an evaluation document.

Inputs: document_id. Returns: next, types, status, warnings, +10 more

stript_restoreRestore original values into placeholder textA

Use this when an AI answer that contains Stript placeholders like [PERSON_1] or [EMAIL_2] should get the original values back. The restored text never appears in the chat. It is written to the user clipboard by default or to a local file, always tell the user where it went. This tool returns replacement counts only. Restoring is free, it never consumes an evaluation document.

Inputs: text (required), project, filename, destination. Returns: path, destination, exact_restore, ambiguous_skipped, +2 more

stript_restore_fileRestore original values into a fileA

Use this to restore original values into a file that contains Stript placeholders like [PERSON_1], keeping the file format where possible. Ask the user for the file path, do not ask them to paste file content into the chat. The restored file is written to the Stript output folder and its content never appears in the chat. This tool returns replacement counts and the output path only. Restoring is free, it never consumes an evaluation document.

Inputs: path (required), project, output_filename. Returns: path, format, warnings, exact_restore, +3 more

stript_statusCheck the Stript app statusA
Read-only

Use this to check whether the Stript desktop app is running with AI integrations enabled, which license tier is active, and how many Free Evaluation documents remain. Call it before anonymizing when the state is unclear. It consumes no evaluation document and changes nothing.

Inputs: no named parameters. Returns: tier, guidance, app_running, app_version, +4 more

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.4/5.0

    Scored across 5 tools

    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/5

    All 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/5

    With 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/5

    The 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.

    Maintenance

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      B
      maintenance
      Zero-Trust local PII & secrets masking MCP (ZTDS RFC v1.0). Zero server logs. Features: 23 zero-trust tools, 30 industry profiles, offline OCR, RAM-only masking. Run: npx -y @privacyscrubber/mcp-server. Website: https://privacyscrubber.com SDK: https://www.npmjs.com/package/@privacyscrubber/sdk
      4
      23
      822 npm
      3
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables Claude Desktop to redact and count personal data in PDFs and images, strip hidden metadata from photos, anonymize Word and text files, prepare watermarked ID copies, and compare contract versions using only user-approved local folders. All processing runs offline on the user's computer, creating new copies instead of modifying or deleting the originals.
      Apache 2.0
    • A
      license
      A
      quality
      B
      maintenance
      Enables an AI assistant to redact text and, more importantly, files without reading them, since file redaction and restoration happen locally and only counts are reported, keeping personal data out of the conversation. It exposes tools for redacting text, writing a redacted copy of a UTF-8 file with an owner-only restore mapping, and putting original values back offline.
      3
      MIT
    • F
      license
      Not graded
      quality
      F
      maintenance
      Enables Claude to work on documents containing personal data by pseudonymizing names, addresses, IBANs, health data and other GDPR categories locally before they are sent, then restoring the real values on your own machine. Supports Word, Excel, PowerPoint, PDF, CSV, Markdown, e-mail and other formats with consistent pseudonyms per project and no data leaving the computer.
      -