{
  "markdown": "# @sladd-no/mcp\n\n**MCP server for [Sladd](https://sladd.no) — detect and redact Norwegian PII before documents leave your agent pipeline.**\n\nSladd finds and removes Norwegian personally identifiable information — fodselsnummer (national IDs, checksum-validated), names, addresses, phone numbers, bank accounts, health information (GDPR Article 9), DUF numbers and more — in plain text and PDFs. This package exposes that capability to any MCP-compatible agent (Claude Desktop, Claude Code, Cursor, VS Code, custom agents) as two tools:\n\n| Tool | What it does |\n|---|---|\n| `detect_pii` | Scan text or a PDF → structured list of findings (type, offsets, confidence, recommended action) |\n| `redact_document` | Text → `redacted_text` with labels/pseudonyms. PDF → new PDF with findings irreversibly removed under black boxes, plus a verification block proving everything detected is gone |\n\nUse it as a guard: **redact first, then let the content continue through the agent flow.**\n\n## Setup in 30 seconds (Claude Desktop)\n\nAdd this to `claude_desktop_config.json` (Settings → Developer → Edit Config):\n\n```json\n{\n  \"mcpServers\": {\n    \"sladd\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@sladd-no/mcp\"],\n      \"env\": { \"SLADD_API_KEY\": \"sk_sladd_...\" }\n    }\n  }\n}\n```\n\nOn Windows, if `npx` is not found, use `\"command\": \"cmd\", \"args\": [\"/c\", \"npx\", \"-y\", \"@sladd-no/mcp\"]`.\n\nRestart Claude Desktop. Then try: *\"Check vedtak.pdf on my desktop for Norwegian PII, and give me a redacted copy.\"*\n\n**Claude Code:**\n\n```bash\nclaude mcp add sladd --env SLADD_API_KEY=sk_sladd_... -- npx -y @sladd-no/mcp\n```\n\nNeed a key? API keys (`sk_sladd_...`) are issued at [sladd.no/api](https://sladd.no/api).\n\n## Remote endpoint (no install)\n\nFor clients that support Streamable HTTP with custom headers (Claude Code, Cursor, VS Code, programmatic agents):\n\n```\nURL:    https://sladd.no/mcp\nHeader: Authorization: Bearer sk_sladd_...\n```\n\n```bash\nclaude mcp add --transport http sladd https://sladd.no/mcp --header \"Authorization: Bearer sk_sladd_...\"\n```\n\nNote: claude.ai web connectors require OAuth and are not supported yet. The remote endpoint accepts base64 PDFs up to ~3 MB per request; for larger files use the local install (`file_path` input has a 20 MB limit).\n\n## How PDFs flow (local install)\n\nThe local server accepts a `file_path` — the agent never has to base64 a document through its context window:\n\n1. The server reads the PDF from disk and sends it to the Sladd API over HTTPS.\n2. The API detects, redacts (rasterized black boxes — underlying text deleted), re-scans its own output, and returns the verified PDF.\n3. The server writes `<name> [sladd].pdf` next to the input (never overwriting anything) and returns the path + verification report.\n\nThe document content never enters the model's context — only the findings and the report do.\n\n## Privacy\n\nThe hosted API processes documents **in memory only**: never written to disk, never queued, never logged. Usage metering records metadata only (document/page counts, mode) — never content, findings text, or filenames. See [sladd.no/personvern](https://sladd.no/personvern). For full data control, the same engine is available as a self-hosted Docker image and CLI.\n\n## Limits\n\n- Max 20 MB and 100 pages per document (remote endpoint: ~3 MB effective for base64 PDFs)\n- 60 requests per minute per key\n- `mode: \"deep\"` (NER layer, higher recall) is rolling out — until active it returns `mode_unavailable`; use the default `fast`\n\n## License\n\nProprietary. © Sladd — [sladd.no](https://sladd.no). Contact: [sladd.no/om](https://sladd.no/om).",
  "bytes": 3599,
  "sha": "995cb695042167519c05932c8356ff27abf2a7cb70aca2bb8cc3899d0a4dff79",
  "repo_slug": "",
  "fonte": "npm",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_no_sladd_mcp_4cc7971f/readme"
}