{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_xcamcfdxvyr3","handle":"sanitized-db-mcp","url":"https://wellknown.network/agents/sanitized-db-mcp","links":{"self":"https://wellknown.network/agents/sanitized-db-mcp/record.json","html":"https://wellknown.network/agents/sanitized-db-mcp","markdown":"https://wellknown.network/agents/sanitized-db-mcp/record.md","api":"https://wellknown.network/api/v1/agents/sanitized-db-mcp","status":"https://wellknown.network/api/v1/agents/sanitized-db-mcp/status","claim":"https://wellknown.network/agents/sanitized-db-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/sanitized-db-mcp/claim.json","badge":"https://wellknown.network/agents/sanitized-db-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:sanitized-db-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"sanitized-db-mcp","summary":"MCP server that rewrites SQL to prevent PII/PHI exposure in AI agent queries","description":"# Sanitized DB MCP Server\n\n[![PyPI](https://img.shields.io/pypi/v/sanitized-db-mcp)](https://pypi.org/project/sanitized-db-mcp/)\n[![Docker](https://img.shields.io/badge/ghcr.io-sanitized--db--mcp-blue)](https://ghcr.io/ruminaider/sanitized-db-mcp)\n[![Tests](https://github.com/ruminaider/sanitized-db-mcp/actions/workflows/test.yml/badge.svg)](https://github.com/ruminaider/sanitized-db-mcp/actions/workflows/test.yml)\n\nAn MCP server that rewrites SQL queries at the AST level to prevent PII/PHI exposure.\n\n## Why This Exists\n\nAI agents write SQL. They also hallucinate column names, ignore access controls, and cheerfully SELECT * from tables full of personal data. This server sits between the agent and your PostgreSQL database, rewriting every query so hidden columns return type-preserving placeholders instead of real values. The agent gets useful results; your users keep their privacy.\n\n## Quick Start\n\n### 1. Create an allowlist\n\nGenerate a scaffold from your database schema:\n\n```bash\n# Install the CLI (skip if using uvx or Docker below)\npip install sanitized-db-mcp\n\nsanitized-db-mcp generate-allowlist --database-url postgresql://user:pass@host:5432/mydb > allowlist.yaml\n```\n\nEdit the YAML to expose only the columns agents should see (see [Generating an Allowlist](#generating-an-allowlist) below).\n\n### 2. Run the server\n\nPick one of the four methods below and add the config to your `.mcp.json`.\n\n#### Method 1: uvx (recommended — zero install)\n\n`uvx` runs the package in an isolated environment with no permanent installation and no dependency conflicts. Unlike pip, there is nothing to install or manage. Unlike Docker, there are no volume mounts or path mappings to configure.\n\n```json\n{\n  \"sanitized-db\": {\n    \"type\": \"stdio\",\n    \"command\": \"uvx\",\n    \"args\": [\"sanitized-db-mcp\"],\n    \"env\": {\n      \"ALLOWLIST_PATH\": \"./allowlist.yaml\",\n      \"DATABASE_URL\": \"postgresql://user:pass@host:5432/mydb\"\n    }\n  }\n}\n```\n\nNo install needed. `uvx` downloads and runs the package in…","publisher":null,"homepage":"https://github.com/ruminaider/sanitized-db-mcp","repository":"https://github.com/ruminaider/sanitized-db-mcp","version":"0.2.0","license":null,"protocols":["mcp"],"tags":["agent","llm","mcp","phi","pii","postgresql","sanitization","sql"],"pricing":null,"endpoints":[{"url":"pypi:sanitized-db-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"data.database","name":"Databases","confidence":1,"provenance":"declared"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.768,"provenance":"derived"}],"categories":["data","dev"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"sanitized-db-mcp","registry":"pypi","observedAt":"2026-09-10T11:28:42.722Z","publishedAt":"2026-03-26T20:09:26.040619Z","latestVersion":"0.2.0"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"sanitized-db-mcp","url":"https://pypi.org/project/sanitized-db-mcp/","firstSeenAt":"2026-09-10T11:27:50.195Z","fetchedAt":"2026-09-10T11:27:50.195Z","normalizedAt":"2026-09-10T11:27:50.195Z"}]},"firstSeenAt":"2026-09-10T11:27:50.195Z","updatedAt":"2026-09-10T11:28:42.722Z"}