Der Apache Doris MCP (Model Context Protocol) Server ist ein auf Python und FastAPI basierender Backend-Service, der die nahtlose Integration mit der Apache Doris Datenbank über das Model Context Protocol (MCP) ermöglicht. Er bietet eine standardisierte Schnittstelle für KI-Agenten und Clients und unterstützt Funktionen wie Natural Language to SQL (NL2SQL), SQL-Abfrageausführung, Metadatenverwaltung und Datenanalyse. Das Projekt ist eine wichtige Erweiterung der Apache Doris Community und eignet sich besonders für Geschäftsszenarien, die eine effiziente Dateninteraktion und intelligente Analyse erfordern.
Seit der Veröffentlichung der Version 0.3.0 im Jahr 2025 hat das Projekt eine bedeutende Architekturaktualisierung erfahren, die von einer auf SSE (Server-Sent Events) basierenden Kommunikation zu einem einheitlichen Streamable HTTP-Protokoll übergegangen ist. Außerdem wurden ein Enterprise-Security-Framework und Funktionen zur Leistungsoptimierung hinzugefügt. Das Hauptziel des Projekts ist die Überbrückung von KI-Systemen und der Apache Doris Datenbank über das MCP-Protokoll, um eine intelligente Datenerkundung und -analyse zu ermöglichen.
Der Apache Doris MCP Server bietet die folgenden Hauptfunktionen:
Natural Language to SQL (NL2SQL)
SQL-Abfrageausführung
exec_query
mit anpassbarer Datenbankauswahl, Zeilenbeschränkung und Timeout-Einstellungen.Metadatenverwaltung
get_all_databases
, get_database_tables
).get_table_schema
, get_table_comment
, get_column_comments
, get_table_indexes
).get_catalog_list
).Audit-Log-Abfrage
get_recent_audit_logs
mit Unterstützung für benutzerdefinierte Zeiträume und Aufzeichnungsbeschränkungen.Enterprise-Security-Framework
Leistungsoptimierung
performance_stats
).Mehrere Kommunikationsmodi
/mcp
Endpunkt (src/streamable_server.py
)./sse
und /mcp/messages
(src/sse_server.py
).src/stdio_server.py
).Experimentelle Funktionen
column_analysis
) zur Bereitstellung von Dateneinblicken.Die Architektur des Projekts ist modular und effizient gestaltet und umfasst die folgenden Komponenten:
/mcp
Endpunkt, um die Integration zu vereinfachen.doris_mcp_server/utils/db.py
: Bietet Datenbankverbindung (get_db_connection
) und Abfrageausführung (execute_query
, execute_query_df
).doris_mcp_server/utils/schema_extractor.py
: Die Klasse MetadataExtractor
ist für die Metadatenextraktion zuständig und enthält einen Caching-Mechanismus.doris_mcp_server/utils/sql_executor_tools.py
: Die Funktion execute_sql_query
kapselt die Abfragelogik und enthält Sicherheitsprüfungen und Ergebnisserialisierung.DB_HOST
, DB_PORT
, DB_USER
, DB_PASSWORD
).Architekturänderungen: In Version 0.3.0 wurden ca. 300 Zeilen Legacy-SSE-Code entfernt und auf Streamable HTTP migriert, die Tool-Benennung vereinheitlicht (Entfernung des Präfixes
mcp_doris_
) und der Modularisierungsgrad erhöht.
uv
oder pip
)Repository klonen:
git clone https://github.com/apache/doris-mcp-server.git
cd doris-mcp-server
Abhängigkeiten installieren:
Verwenden Sie uv
(empfohlen) oder pip
zur Installation:
uv sync
oder
pip install -r requirements.txt
Umgebungsvariablen konfigurieren:
Erstellen Sie eine .env
-Datei oder legen Sie die Umgebungsvariablen direkt fest:
export DORIS_HOST=<doris-host>
export DORIS_PORT=<port>
export DORIS_USER=<doris-user>
export DORIS_PASSWORD=<doris-pwd>
export SERVER_PORT=3000
Server starten:
uv run --with mcp-doris --python 3.13 mcp-doris
oder
python -m mcp_doris.mcp_server
Start überprüfen:
Nach erfolgreichem Start kann die Interaktion über einen MCP-Client (z. B. Cursor) oder einen integrierten MCP-Browser (http://localhost:5173
) erfolgen.
Führen Sie ein Testskript aus, um die Datenbankverbindung zu überprüfen:
python src/doris-mcp-server/test.py
Erwartete Ausgabe:
🚀 Doris MCP Server is starting...
[DorisConnector] Connected to 127.0.0.1:9030
✅ Database connection successful.
[DorisConnector] Connection closed.
Echtzeit-Datenanalyse
Metadatenerkundung
KI-gesteuerte Business Intelligence
Sicherheits- und Compliance-Management
Umgebungen mit mehreren Katalogen
column_analysis
) sind experimentell und können Fehler enthalten. Der Apache Doris MCP Server ist ein leistungsstarkes und flexibles Tool, das die Apache Doris Datenbank mit KI-gesteuerten Analyseanforderungen verbindet. Seine Funktionen wie NL2SQL, Metadatenverwaltung, Sicherheit und Leistungsoptimierung machen ihn in Echtzeit-Datenanalysen, Business Intelligence und Enterprise-Anwendungen vielversprechend.