Sentinel MCP Data Governance Agent
Sentinel MCP Data Governance Agent
Sentinel ist ein kleiner autonomer Data-Governance-Agent, der eine PostgreSQL-Datenbank über das Model Context Protocol (MCP) prüft. Anstatt dem LLM direkten Datenbankzugriff zu gewähren, stellt das Projekt eine kontrollierte FastMCP-Brücke mit zweckgebundenen Tools für Schema-Inspektion, Null-Profilierung und Anomalieerkennung bereit.
Die Demo befüllt eine absichtlich fehlerhafte raw_inventory-Tabelle, weist einen OpenAI-basierten Agenten an, diese über MCP-Tools zu untersuchen, und schreibt einen Markdown-Audit-Bericht in LATEST_AUDIT.md.
Was es demonstriert
Einen Python-MCP-Client, der einem ReAct-artigen Workflow folgt: Reason (Überlegen) -> Act (Handeln) -> Observe (Beobachten).
Einen FastMCP-Server, der als Governance-Brücke zwischen dem Agenten und PostgreSQL fungiert.
SQLAlchemy-basierte Tools für eine sichere, strukturierte Datenbankinspektion.
Datenqualitätsprüfungen auf fehlende E-Mails, negative Lagerbestände und doppelte SKUs.
Einen generierten Datenintegritäts-Audit mit SQL-Korrekturvorschlägen.
Related MCP server: dbecho
Architektur
flowchart LR
U[User question] --> A[Python Agent<br/>MCP Client]
A -->|tools/list and tools/call| M[FastMCP Server<br/>Sentinel-Bridge]
M -->|SQLAlchemy queries| DB[(PostgreSQL 16<br/>raw_inventory)]
DB -->|schema and quality metrics| M
M -->|structured MCP tool results| A
A -->|OpenAI analysis or local fallback| R[LATEST_AUDIT.md]MCP-Tools
inspect_schema() gibt Tabellennamen und Spaltendefinitionen für strukturelle Audits zurück.
get_data_health_sample() gibt 100 aktuelle Zeilen aus raw_inventory für eine zeilenweise Überprüfung zurück.
check_null_ratios(table_name="raw_inventory") gibt Null-Anzahlen und Prozentsätze für jede Spalte zurück.
find_logical_anomalies() gibt Zeilen mit negativen stock_count-Werten und duplizierten sku-Gruppen zurück.
Projektstruktur
agent.py # MCP client and ReAct audit workflow
server.py # FastMCP server exposing database audit tools
seed_data.py # Faker-based dirty data generator
docker-compose.yml # PostgreSQL 16 local database
architecture.md # Mermaid architecture diagram
.env.example # Safe environment variable templateEinrichtung
Anforderungen:
Windows 11, macOS oder Linux
Docker Desktop
Python verwaltet mit
uvEin OpenAI-API-Schlüssel mit verfügbarem API-Kontingent
Erstellen Sie Ihre lokale Umgebungsdatei:
Copy-Item .env.example .envBearbeiten Sie .env und ersetzen Sie die Platzhalterwerte. Committen Sie .env nicht.
Installieren Sie die Abhängigkeiten:
uv syncStarten Sie PostgreSQL:
docker compose up -dBefüllen Sie die fehlerhafte Inventartabelle:
uv run python seed_data.pyStarten Sie den MCP-Server direkt:
uv run python server.pyFühren Sie in einem anderen Terminal den autonomen Audit-Agenten aus:
uv run python agent.pyDer Agent schreibt seinen Bericht nach:
LATEST_AUDIT.mdÜberprüfen der befüllten Daten
docker exec -it sentinel_postgres psql -U sentinel_user -d sentinel_db -c "SELECT COUNT(*) AS negative_stock_rows FROM raw_inventory WHERE stock_count < 0;"Erwartetes Ergebnis nach dem Befüllen:
30Sicherheitshinweise
.envwird von Git ignoriert und darf niemals committet werden..env.exampleenthält nur Platzhalter.Das LLM erhält keine direkten Datenbankzugangsdaten; es interagiert mit genehmigten MCP-Tools.
Der MCP-Server ist die Richtliniengrenze, an der Datenbankfunktionen explizit freigegeben werden.
Rotieren Sie jeden API-Schlüssel, der in Protokollen, Screenshots, Terminalausgaben oder Chats aufgetaucht ist.
Warum MCP anstelle von direktem SQLAlchemy im Agenten?
MCP bietet dem LLM eine eingeschränkte Tool-Schnittstelle anstelle eines uneingeschränkten Datenbankzugriffs. Der FastMCP-Server definiert die erlaubten Aktionen, wodurch die Governance-Grenze explizit und prüfbar wird. Derselbe Agent kann später über MCP mit Katalogen, Richtlinien-Engines, Data Warehouses und Observability-Systemen interagieren, ohne den Agenten für direkte Datenbankverbindungen umschreiben zu müssen.
This server cannot be deployed
Maintenance
Related MCP Connectors
Deterministic safety, correctness & cost gate that vets Postgres SQL before your AI agent runs it.
- dataOAuthco.thinair
PostgreSQL, MySQL, and SQL Server in one session. 26 read-only MCP tools for AI agents.
- SchemaOAuthai.schemalabs
The AI that understands raw data: Schema over your tables and databases, as MCP tools.
Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with PostgreSQL databases through schema intelligence, query execution, and DBA tooling including index analysis and health monitoring. Features configurable access levels and audit logging for secure database operations.529 npmMIT
- AlicenseAqualityBmaintenanceAn MCP server that gives AI agents direct read-only access to PostgreSQL databases, enabling natural language analytics through tools for schema exploration, querying, trend analysis, and data quality checks.115MIT
- AlicenseNot gradedqualityCmaintenanceA read-only natural-language database agent that exposes PostgreSQL schema-discovery and SELECT tools via MCP, enabling users to query databases in plain English.MIT
- FlicenseAqualityBmaintenanceAn MCP server that enables AI agents to securely interact with PostgreSQL databases with least-privilege scopes, PII masking, and human approval for writes.4-