AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified MIT-0 Self-run

Redacta

mcp-nickjlamb-redacta · by nickjlamb

Redacta — a Claude/Agent Skill that pseudonymises medical documents before AI processing

No reviews yet
0 installs
13 views
0.0% view→install

Install

$ agentstack add mcp-nickjlamb-redacta

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-nickjlamb-redacta)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Redacta? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Redacta

[](https://doi.org/10.5281/zenodo.21115605)

Pseudonymise medical and clinical documents before they're processed by AI or shared. Redacta replaces patient identifiers with labelled tokens — [PATIENT_NAME_1], [NHS_NUMBER_1], [DATE_OF_BIRTH_1], … — while leaving the clinical meaning intact, and returns a redaction report alongside the cleaned text.

It started as an Agent Skill and is now one engine shipped across eight surfaces — an iOS app, agent skill, MCP server, two libraries, a CLI, and two whiteboard apps.

One engine, many surfaces

| Surface | Folder | Get it | |---------|--------|--------| | iOS app — iPhone (app, Share Extension, widget) | [ios-app/](ios-app/) | Build with Xcode — see [ios-app/README.md](ios-app/README.md) | | Agent skill (Claude Code / apps / API) | SKILL.md, scripts/ | openclaw skills install redacta (ClawHub) | | MCP server (Claude Desktop, Cursor, …) | mcp-server/ | npx -y redacta-mcp (npm · MCP Registry · Anthropic MCP Directory) | | TypeScript library | npm-package/ | npm i @pharmatools/redacta (npm) | | Python library | python-package/ | pip install redacta (PyPI) | | Command-line tool | cli-package/ | npx redacta-cli (npm) | | Miro app | miro-app/ | getpatiently.ai → Redacta | | FigJam plugin | figjam-plugin/ | Figma Community |

The detection logic lives in one place — the TypeScript engine (@pharmatools/redacta, in npm-package/), which the MCP server and both whiteboard apps consume, and which the iOS app runs on-device via JavaScriptCore. The Python package mirrors it for pip users; the agent skill adds LLM reasoning for free-text names on top of the deterministic patterns.

How it works

Two layers:

  • Patterns (deterministic). A bundled script (scripts/redact_structured.py,

Python standard library only, no network) matches fixed-format identifiers: NHS numbers (Modulus-11 validated), UK National Insurance numbers, dates of birth, UK postcodes, phone numbers, emails, and hospital/MRN numbers. US SSN and ZIP codes are also handled.

  • Reasoning (judgement). The skill then has the agent handle what patterns

can't: patient names (told apart from the clinicians treating them), relatives and carers, postal addresses, and identifying ages.

  • Self-check. A final pass re-reads the output for any identifier that slipped

through before the report is written.

It also works in reverse. Re-identification (scripts/reinstate.py) takes the token map from an earlier redaction and restores the original values — so you can redact a document, run it through another AI tool, and put the real details back locally. Redact → process → re-identify is a complete round trip, and identifiers only ever exist on your machine.

Safe Harbor mode. Ask for HIPAA Safe Harbor (or "US de-identification") and Redacta applies a stricter pass: all dates (not just the date of birth), all specific ages, and the remaining HIPAA identifiers — fax, certificate/licence, device serial, VIN, and health-plan beneficiary numbers.

Install

Claude Code

git clone https://github.com/nickjlamb/redacta ~/.claude/skills/redacta

Then invoke it with /redacta, or let it trigger automatically when you ask to redact or de-identify clinical text.

Claude apps / API

Zip the repository folder and upload it as a skill.

Contents

| Path | What it is | |------|------------| | SKILL.md | The skill — instructions plus metadata | | reference.md | Pattern specs, the Modulus-11 algorithm, NI prefix rules, the date-of-birth vs clinical-date rule, token vocabulary, limitations | | scripts/redact_structured.py | The deterministic pattern layer | | scripts/reinstate.py | The re-identification layer (restore originals from a token map) | | scripts/test_redact_structured.py | Tests for the pattern layer | | scripts/test_reinstate.py | Tests for the re-identification layer | | evaluations.json | Example evaluation scenarios |

Run the tests:

python3 scripts/test_redact_structured.py
python3 scripts/test_reinstate.py

A note on limits

Redacta is a strong first line of defence, not a guarantee. It won't catch every possible identifier and isn't a substitute for formal data-protection processes. Always review the redaction report before sharing text.

License

[MIT-0](LICENSE) (MIT No Attribution). Built by PharmaTools.AI.

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.