pc2e-pii-shield
pc2e-pii-shield
Ein sicherer, produktionsreifer Model Context Protocol (MCP)-Server, der schreibgeschützte PostgreSQL-Abfragen mit automatischer, clientseitiger und Edge-Pseudonymisierung personenbezogener Daten (PII) ermöglicht. Er erlaubt LLM-Agenten (z. B. Cursor, Cline, Claude Code), SQL-Abfragen auf Datenbanken auszuführen, während die strikte Einhaltung von GDPR, PDPA und Datenschutzprinzipien gewährleistet wird.
Entworfen und entwickelt als wiederverwendbares Sicherheits-Middleware-Produkt, fängt dieser Server Datenbankabfrageergebnisse ab, um den Abfluss sensibler Daten zu verhindern.
Technische Architektur
flowchart TD
Client["AI Agent / Client (Cursor/Cline)"]
Proxy["Nginx Reverse Proxy"]
App["pc2e-pii-shield (Express)"]
DB["Postgres Database (Tailscale-Only)"]
Client ==>|HTTPS / SSE Request| Proxy
Proxy ==>|x-api-key Authentication| App
App ==>|Regex Read-Only Validation| DB
DB ==>|Raw SQL Results| App
App ==>|PII Tokenization & Masking| Proxy
Proxy ==>|Sanitized Event Stream| ClientKernkomponenten
Automatische Maskierungs-Interception (
masking.ts): Scannt dynamisch SQL-Ergebnismengen. Sie verwendet einen hybriden Ansatz: Spaltenschema-Abgleich (z. B. Felder, diename,email,phoneenthalten) kombiniert mit regex-basiertem Inhalts-Scanning, um sensible Identifikatoren zu erkennen und zu maskieren, bevor Daten den Server verlassen.Pseudonymisierungs-Cache (
cache.ts): Ein In-Memory-Cache mit TTL (Standard: 30 Minuten), der Rohwerte auf temporäre Platzhalter abbildet (z. B.__PERSON_A__,__EMAIL_1__). Dies ermöglicht die bidirektionale Wiederherstellung, während ein unbegrenzter Speicherverbrauch verhindert wird.AST-basierte Mutationssperre (
db.ts): Ein strikter Regex-Validator, der rohe SQL-Eingaben abfängt. Er blockiert alle Nicht-SELECT-Befehle und lehnt Abfragen ab, die verbotene Schlüsselwörter wieDROP,ALTER,DELETE,TRUNCATE,CREATEoderGRANTenthalten, wodurch eine strikte Nur-Lese-Grenze auf Anwendungsebene gewährleistet wird.Concurrent Session Manager (
index.ts): Im Gegensatz zu einfachen Einzelverbindungs-Vorlagen verwaltet dieser Server eine aktive Map vonSSEServerTransport-Instanzen, die über die Verbindungs-sessionIdSchlüssel zugeordnet werden. Dadurch können mehrere Remote-Entwickler oder -Agenten gleichzeitig und ohne Zustandskollisionen streamen.Telemetrie- & Metrik-Endpunkt (
/stats): Stellt Verbindungszahlen, die Verfolgung eindeutiger Client-IPs und aggregierte Abfrageausführungsstatistiken bereit, um Installation und aktive Nutzung in Echtzeit zu überwachen.
Related MCP server: PostgreSQL MCP Server
Sicherheitsmodell & Bedrohungsabwehr
Zero-Trust-Datenbankkonnektivität: Entwickelt, um die Offenlegung von Anmeldeinformationen zu verhindern. Die Datenbank läuft auf einer isolierten Tailscale-only-Netzwerkschnittstelle (z. B.
100.92.174.76), wodurch sichergestellt wird, dass der Datenbankport niemals dem öffentlichen Internet ausgesetzt ist.Verschlüsselter Transport & API-Key-Sicherheit: Der Server wird von Nginx über HTTPS (Port 443) mit Wildcard-SSL-Zertifikaten abgesichert, wodurch ein sicherer API-Key-Authentifizierungs-Gateway (
x-api-key) erzwungen wird, bevor Anfragen weitergeleitet werden.In-Memory-Lebenszyklus: Pseudonymisierungszuordnungen werden im Speicher mit strengen TTLs gehalten, sodass keine dauerhaften Datenträgerspuren der maskierten PII zurückbleiben.
Installation & Bereitstellung
1. Vorbereitung der Umgebung
Kopieren Sie die Umgebungsvorlage:
cp .env.example .envKonfigurieren Sie Ihre Datenbankanmeldeinformationen und generieren Sie einen sicheren API-Key in .env.
2. Nativer Build
Stellen Sie sicher, dass Node.js (v18+) installiert ist:
npm install
npm run build
npm start3. Containerisierte Bereitstellung
Bereitstellung mit Docker Compose:
docker compose up -d --buildDies bildet den Host-Port 3088 auf den internen Container-Port 3000 ab und startet den SSE-Server automatisch.
4. Direkte Ausführung (NPX)
Sie können den Server sofort über den Stdio-Transport ausführen, ohne den Code manuell herunterladen zu müssen:
npx -y mcp-pii-shield --db-uri "postgresql://username:password@localhost:5432/your_database"Oder führen Sie den Server über den SSE-Transport aus:
npx -y mcp-pii-shield --sse --port 3000 --db-uri "postgresql://username:password@localhost:5432/your_database" --api-key "your_secret_key"Client-Integration
A. Lokale Client-Integration (über NPX mit Stdio)
Konfigurieren Sie Ihren lokalen KI-Client so, dass er den Server direkt mit npx startet.
Claude Desktop (config.json)
Fügen Sie den folgenden Block zu Ihrer ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) oder %APPDATA%\Claude\claude_desktop_config.json (Windows) hinzu:
{
"mcpServers": {
"pc2e-pii-shield": {
"command": "npx",
"args": [
"-y",
"mcp-pii-shield",
"--db-uri",
"postgresql://username:password@localhost:5432/your_database"
]
}
}
}Cursor (Einstellungen → Features → MCP)
Klicken Sie auf + Neuen MCP-Server hinzufügen.
Setzen Sie Name auf
pc2e-pii-shield.Setzen Sie Typ auf
command.Setzen Sie Befehl auf:
npx -y mcp-pii-shield --db-uri "postgresql://username:password@localhost:5432/your_database"
VS Code (Cline / Roo Code)
Fügen Sie die folgenden Einstellungen zu Ihrer Client-Konfiguration hinzu:
{
"mcpServers": {
"pc2e-pii-shield": {
"command": "npx",
"args": [
"-y",
"mcp-pii-shield",
"--db-uri",
"postgresql://username:password@localhost:5432/your_database"
]
}
}
}B. Remote-Client-Integration (über HTTPS mit SSE)
Wenn Sie eine Verbindung zu einem gehosteten Server herstellen (z. B. Ihrer öffentlichen NAS-Instanz), verbinden Sie sich über die SSE-Transport-URL.
VS Code (Cline / Roo Code)
Fügen Sie die folgenden Einstellungen zu Ihrer Client-Konfiguration hinzu:
{
"mcpServers": {
"pc2e-pii-shield": {
"sseUrl": "https://pii-shield.thegeekybeng.com/sse?api_key=your_api_key_here"
}
}
}Cursor (Einstellungen → Features → MCP)
Klicken Sie auf + Neuen MCP-Server hinzufügen.
Setzen Sie Name auf
pc2e-pii-shield.Setzen Sie Typ auf
SSE.Setzen Sie URL auf:
https://pii-shield.thegeekybeng.com/sse?api_key=your_api_key_here
Projektkontext & Technische Leitung
Dieses Projekt wurde von Andrew Yeo entworfen, entwickelt und als Open Source veröffentlicht.
Über den technischen Leiter
Andrew ist ein Senior Systems Architect und KI-Ingenieur mit Sitz in Singapur und bietet:
25 Jahre Berufserfahrung im asiatisch-pazifischen Raum (APAC), mit Verantwortung für Programmabwicklung, Kunden-Onboarding und technisches Lieferantenmanagement.
16+ Jahre Systemarchitektur und Technologieführung, einschließlich Design und Bereitstellung robuster Unternehmensinfrastrukturen und Microservice-Plattformen.
2+ Jahre praxisorientierte KI/ML-Entwicklung, spezialisiert auf KI-Sicherheit, LLM-Metriken und sichere agentische Workflows.
Verifizierte Referenzprojekte
Sichere Bürgerplattformen: Architektur und Bereitstellung von MPS-Connect (einer Plattform für Bürgerangelegenheiten) und Case-Writer-Intelligence (CWI), die eine 3-stufige Kausalitäts-Engine mit 7 Human-in-the-Loop-Entscheidungstoren integriert und die Bearbeitungszeit für Dokumente um 40 % reduziert.
KI-Messtechnik & -Bewertung: Entwicklung der Portable Continuous Context Engine (PC2E) mit systematischer, empirischer Evaluierung von 50.000 Fällen über sechs LLM-Anbieter hinweg, um Modellkonformität und -ausrichtung zu benchmarken.
Technischer Schwerpunkt: Experte für CI/CD & DevSecOps (GitHub Actions, Docker), containerisierte Bereitstellungen, Zero-Trust-Netzwerktopologien und lokale/Edge-SLM-Orchestrierungen.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA secure MCP server that enables querying PostgreSQL databases through an SSH tunnel with enforced read-only access, connection pooling, and comprehensive data exploration tools.
- AlicenseNot gradedqualityDmaintenanceA production-ready MCP server that enables safe, read-only SQL SELECT queries against PostgreSQL databases with built-in security validation. It features connection pooling, automatic row limits, and structured logging to ensure secure and reliable database interactions.34ISC
- AlicenseNot gradedqualityCmaintenanceRead-only PostgreSQL MCP server that enables running SELECT queries, listing tables and schemas, and describing columns, with built-in protection against writes and malicious SQL attacks.539MIT
- AlicenseAqualityDmaintenanceA secure, read-only PostgreSQL MCP server that provides safe database introspection and querying capabilities.1415MIT
Related MCP Connectors
MCP server for managing Prisma Postgres.
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/thegeekybeng/mcp-pii-shield'
If you have feedback or need assistance with the MCP directory API, please join our Discord server