DatabaseMCP
MCP-Datenbank-Intelligenz-Server-Architektur
Systemübersicht
Das System stellt KI-Agenten Datenbankfunktionen über das Model Context Protocol (MCP) zur Verfügung.
Der MCP-Server fungiert als Brücke zwischen:
KI-Assistenten
Datenbank-Metadaten
gespeicherten Prozeduren
Datenbank-Erkundungstools
Architektur auf hoher Ebene
KI-Agent / MCP-Client │ ▼ MCP-Server (FastMCP) │ ├── Erkundungstools │ (Datenbankerkundung) │ ├── Dynamische Prozedur-Tools │ (generiert aus Datenbankprozeduren) │ ▼ Intelligenz-Engine (Prozedur-Metadaten + Kategorisierung) │ ▼ Datenbank-Zugriffsschicht │ ▼ MySQL-Datenbank
Kernkomponenten
Related MCP server: MySQL MCP Server
1. MCP-Server (main.py)
Der MCP-Server wird mit FastMCP erstellt.
Verantwortlichkeiten:
Initialisierung des MCP-Servers
Registrierung von Erkundungstools
Registrierung dynamischer Prozedur-Tools
2. Datenbank-Zugriffsschicht (db.py)
Dieses Modul verwaltet die gesamte Datenbankkommunikation.
Verantwortlichkeiten:
Verwaltung von Datenbankverbindungen
Ausführung gespeicherter Prozeduren
Abruf von Metadaten
Durchsetzung von Ergebnisbeschränkungen
Alle Datenbankinteraktionen laufen über diese Schicht.
3. Tool-Generator (tool_generator.py)
Dieses Modul konvertiert Datenbank-Prozeduren dynamisch in MCP-Tools.
Durchgeführte Schritte:
Laden der Prozedur-Metadaten aus der Datenbank
Erkennung von Prozedurparametern
Dynamische Generierung von MCP-Tool-Funktionen
Registrierung der Tools beim MCP-Server
Dies ermöglicht es dem System, neue, der Datenbank hinzugefügte Prozeduren automatisch zu unterstützen.
4. Intelligenz-Engine (intelligence_engine.py)
Die Intelligenz-Engine analysiert gespeicherte Prozeduren, um Metadaten zu generieren.
Zu den Funktionen gehören:
Prozedurkategorisierung
Generierung von Beschreibungen
Parameteranalyse
Beispielkategorien:
Prozedurmuster | Kategorie |
GetLinkCount | Netzwerkanalyse |
GetWeekData | Zeitanalyse |
InterfaceLinkType | Schnittstellenanalyse |
Diese Metadaten helfen KI-Agenten, den Zweck jedes Tools zu verstehen.
5. Erkundungstools (discovery_tools.py)
Erkundungstools ermöglichen es KI-Agenten, die Datenbankstruktur zu erforschen.
Implementierte Tools:
list_databases list_tables describe_table
Diese Tools basieren auf Datenbank-Metadaten aus:
INFORMATION_SCHEMA
Sicherheitsarchitektur
Es wurden mehrere Schutzmaßnahmen implementiert, um eine sichere Datenbankinteraktion zu gewährleisten.
Schlüsselwortbeschränkungen
Prozeduren, die gefährliche Schlüsselwörter enthalten, werden blockiert.
Beispiele:
DELETE DROP TRUNCATE UPDATE INSERT ALTER
Abfrageergebnis-Beschränkungen
Das System begrenzt die Ergebnisgröße mithilfe eines konfigurierbaren Wertes:
MAX_QUERY_ROWS
Dies verhindert die Extraktion großer Datenmengen.
Ratenbegrenzung
Der MCP-Server erzwingt Ratenbegrenzungen für Anfragen, um eine übermäßige Nutzung zu verhindern.
Eingeschränkter Datenbankbenutzer
Der vom MCP-Server verwendete Datenbankbenutzer sollte nur über folgende Berechtigungen verfügen:
SELECT EXECUTE
Dies verhindert die Änderung von Produktionsdaten.
Metadatenquellen
Das System ruft Metadaten aus MySQL-Systemtabellen ab.
Beispiele:
INFORMATION_SCHEMA.ROUTINES INFORMATION_SCHEMA.PARAMETERS INFORMATION_SCHEMA.TABLES INFORMATION_SCHEMA.COLUMNS
Diese Tabellen ermöglichen es dem MCP-Server, die Datenbankstruktur automatisch zu verstehen.
Beispiel für einen KI-Interaktionsfluss
Beispiel für eine Interaktion zwischen einem KI-Agenten und der Datenbank:
list_databases() ↓ list_tables() ↓ describe_table("interface_stats") ↓ GetLinkCount("NodeA")
Dies ermöglicht es der KI, die Datenbankstruktur zu erkunden, bevor analytische Prozeduren ausgeführt werden.
Erweiterbarkeit
Das System ist so konzipiert, dass es zusätzliche Datenbankobjekte unterstützt.
Zukünftige Erweiterungen könnten umfassen:
list_views list_functions list_triggers search_tables explain_query
Die modulare Architektur ermöglicht es, neue Tools einfach hinzuzufügen.
Fazit
Diese Architektur zeigt, wie MCP-Server Datenbankfunktionen sicher für KI-Systeme zugänglich machen können.
Wichtige Designprinzipien:
• modulare Architektur • dynamische Tool-Generierung • metadatengesteuerte Erkundung • sicherer Datenbankzugriff
Dieser Ansatz ermöglicht eine sichere und skalierbare KI-Datenbank-Integration.
Detaillierte Systemdiagramme sind im Verzeichnis docs/ verfügbar.
This server cannot be deployed
Maintenance
Related MCP Connectors
- dataOAuthco.thinair
PostgreSQL, MySQL, and SQL Server in one session. 26 read-only MCP tools for AI agents.
MCP server for building and testing AI agents with multi-model experimentation and insights.
- mcpOAuthcom.gibsonai
GibsonAI MCP server: manage your databases with natural language
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA high-performance MCP server that enables AI assistants to safely interact with MySQL databases through secure CRUD operations, schema inspection, and parameterized queries with built-in SQL injection prevention.1-
- AlicenseNot gradedqualityDmaintenanceA MySQL MCP server for secure database interaction, enabling schema inspection, query execution, and RBAC via AI coding assistants.1,352 npm5MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that connects AI agents to MySQL databases for schema exploration, data querying, and SQL execution via natural language.2MIT
- AlicenseNot gradedqualityDmaintenanceA production-ready MCP server for MySQL database integration with AI agents, enabling database exploration, CRUD operations, schema management, and performance monitoring through natural language.744 npmMIT