redactor-mcp
Wraps AWS Comprehend for PII detection and redaction, allowing users to upload files and remove PII via natural language in Claude Desktop.
README
redactor-mcp
MCP server that wraps AWS Comprehend for PII detection and redaction. Upload a plain text file in Claude Desktop, ask it to remove the PII, and get back a redacted version.
This is a demo project, not production software.
Prerequisites
- Node.js 18+ or Bun 1.0+
- AWS credentials with
comprehend:DetectPiiEntitiesandcomprehend:DetectDominantLanguagepermissions
AWS Credentials Setup
Option A: AWS Access Portal (SSO)
aws configure sso
# Profile name: your-profile
# SSO start URL: https://your-org.awsapps.com/start
# SSO region: us-east-1
# Account and role: select from browser
aws sso login --profile your-profile
export AWS_PROFILE=your-profile
Option B: Static Credentials
aws configure
# Enter Access Key ID, Secret Access Key, region (us-east-1)
Required IAM Permissions
{
"Effect": "Allow",
"Action": [
"comprehend:DetectPiiEntities",
"comprehend:DetectDominantLanguage"
],
"Resource": "*"
}
Installation
bun install
Type Checking
bun run typecheck
Building
Build the project to dist/:
bun run build
Running the Server
For development:
bun run dev
For production (after building):
bun run start
Testing with MCP Inspector
Launch the Inspector UI to test tools interactively:
bun run inspector
- Click Connect
- Go to Tools tab, click List Tools
- Test the tools:
Language Detection
{"text": "Bonjour, je m'appelle Marie."}
Returns detected language(s) with confidence scores:
[
{
"language_code": "fr",
"language_name": "French",
"score": 0.9876
}
]
PII Detection
Test detect_pii with: {"text": "My name is Jane Doe and my SSN is 123-45-6789."}
Returns two entities: NAME ("Jane Doe") and SSN ("123-45-6789")
PII Redaction
Test redact_pii with the same text
Returns: "My name is [NAME] and my SSN is [SSN]."
Language Support
- Language Detection: Supports 100+ languages
- PII Detection/Redaction: Currently supports English and Spanish only
You can optionally specify the language code:
{"text": "Mi nombre es Juan García", "language_code": "es"}
Or let the system auto-detect:
{"text": "My name is Jane Doe"}
Note: If non-English/non-Spanish text is provided to PII tools, you'll receive a clear error message with the detected language.
Claude Desktop Configuration
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
Option 1: Development Mode (run from source)
{
"mcpServers": {
"redactor-mcp": {
"command": "bun",
"args": ["run", "/absolute/path/to/redactor-mcp/src/index.ts"],
"env": {
"AWS_PROFILE": "your-profile",
"AWS_REGION": "us-east-1"
}
}
}
}
Option 2: Production Mode (run compiled version)
{
"mcpServers": {
"redactor-mcp": {
"command": "node",
"args": ["/absolute/path/to/redactor-mcp/dist/index.js"],
"env": {
"AWS_PROFILE": "your-profile",
"AWS_REGION": "us-east-1"
}
}
}
}
Important: Replace:
/absolute/path/to/redactor-mcpwith the actual path to this projectyour-profilewith your AWS profile name
For production mode, make sure to run bun run build first.
Packaging for Distribution
Create an MCPB package for easy distribution:
bun run pack
This creates a .mcpb file that can be installed directly in Claude Desktop.
Usage
Upload a .txt, .md, or .csv file in Claude Desktop and try prompts like:
- "What language is this document?"
- "Detect the language in this file"
- "Detect the PII in this file"
- "Remove the PII from this file" (language auto-detected)
- "Find all the email addresses in this file"
- "Redact only names and phone numbers"
- "Redact PII but only high-confidence matches"
- "Detect PII using Spanish language code"
Sample files are in docs/samples/ for testing:
sample-001.md- English text with PIIsample-002.csv- English CSV with multiple employee recordssample-003-spanish.txt- Spanish text with PII (tests Spanish PII detection)sample-004-french.txt- French text (tests language detection and unsupported language handling)
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.