npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@stript/mcp

v1.0.9-1

Published

Stript MCP bridge. Anonymize documents with the local Stript app and restore AI answers without PII ever entering the chat.

Readme

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.

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

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.