BlazeSQL MCP-Server
Dieses Projekt implementiert einen Model Context Protocol (MCP)-Server mit dem @modelcontextprotocol/sdk
der als Proxy für die BlazeSQL Natural Language Query API fungiert. Es ermöglicht MCP-kompatiblen Clients (wie Cursor, Claude 3 mit Tool-Nutzung, dem MCP Inspector usw.) die Interaktion mit BlazeSQL in natürlicher Sprache.
Merkmale
- Erstellt mit der modernen
McpServer
Hilfsklasse aus dem MCP SDK. - Stellt die BlazeSQL Natural Language Query API als MCP-Tool namens
blazesql_query
bereit. - Verwendet
zod
zur robusten Validierung der Tool-Eingabeparameter. - Behandelt die API-Schlüsselauthentifizierung sicher über Umgebungsvariablen.
- Kommuniziert mit Clients über den standardmäßigen MCP-Stdio-Transport.
Workflow-Diagramm
Dieses Diagramm zeigt die Abfolge der Interaktionen, wenn ein Client das Tool blazesql_query
verwendet (Hinweis: Die interne Serverlogik verwendet jetzt McpServer
, was die Toolregistrierung im Vergleich zu den im Diagramm gezeigten Low-Level-Handlern vereinfacht):
Voraussetzungen
- Node.js (LTS-Version empfohlen)
- Garn (Klassisch oder Beere)
- Ein BlazeSQL-Konto mit einem API-Schlüssel (für die API ist ein Team Advanced-Abonnement erforderlich).
- Mindestens eine Datenbankverbindung ist in Ihrem BlazeSQL-Konto konfiguriert.
- BlazeSQL Natural Language Query API-Dokumentation: https://help.blazesql.com/en/article/natural-language-query-api-1fgx4au/
Aufstellen
- Klonen Sie das Repository:
- Abhängigkeiten installieren:Dadurch werden alle erforderlichen Abhängigkeiten installiert, einschließlich
@modelcontextprotocol/sdk
,dotenv
undzod
. - Umgebungsvariablen konfigurieren:
- Kopieren Sie die Beispielumgebungsdatei:
- Bearbeiten Sie die
.env
Datei:Ersetzen SieYOUR_BLAZESQL_API_KEY_HERE
durch Ihren tatsächlichen API-Schlüssel, den Sie aus Ihren BlazeSQL-Kontoeinstellungen erhalten haben.
- Kopieren Sie die Beispielumgebungsdatei:
Ausführen des Servers
- Erstellen Sie den Server: Kompilieren Sie den TypeScript-Code in JavaScript:
- Führen Sie den Server aus: Führen Sie den kompilierten Code aus:Der Server startet und protokolliert Meldungen in
stderr
(möglicherweise wird „API-Schlüssel erfolgreich geladen …“ usw. angezeigt). Er wartet nun über die Standard-Ein-/Ausgabe (stdio) auf eine MCP-Clientverbindung.
Verbinden eines MCP-Clients
Dieser Server verwendet den stdio- Transportmechanismus.
Verwenden des MCP Inspector (zum Testen empfohlen)
- Stellen Sie sicher, dass der Server nicht bereits separat ausgeführt wird.
- Führen Sie den Inspector aus und weisen Sie ihn an, Ihren Server zu starten:
- Die Inspector-Benutzeroberfläche wird gestartet und stellt automatisch eine Verbindung zu Ihrem Server her.
- Navigieren Sie zur Registerkarte „Tools“, um mit dem Tool
blazesql_query
zu interagieren.
Verwendung integrierter Clients (Cursor, Claude 3 usw.)
- Starten Sie den Server in einem Terminal:
- Konfigurieren Sie den Client: In den Einstellungen Ihres MCP-Clients müssen Sie eine benutzerdefinierte Serverkonfiguration hinzufügen.
- Transport: Wählen Sie
stdio
aus. - Befehl: Geben Sie den genauen Befehl zum Ausführen des Servers an. Sie müssen den absoluten Pfad zum Knoten und den absoluten Pfad zur Datei
build/index.js
angeben.- Beispiel (macOS/Linux – Pfade nach Bedarf anpassen):
/usr/local/bin/node /Users/your_username/path/to/blaze-sql-mcp-server/build/index.js
- Sie können den Pfad zum Knoten mithilfe der Angabe
which node
in Ihrem Terminal finden. - Den Pfad zum Projekt finden Sie mit
pwd
im Projektverzeichnis.
- Beispiel (macOS/Linux – Pfade nach Bedarf anpassen):
- Speichern Sie die Konfiguration.
- Transport: Wählen Sie
- Der Client sollte jetzt in der Lage sein, eine Verbindung zu Ihrem lokal laufenden Server herzustellen und dessen Tools aufzulisten/verwenden.
Verwenden des blazesql_query
-Tools
Sobald die Verbindung hergestellt ist, kann der Client das Tool blazesql_query
aufrufen.
- Toolname:
blazesql_query
- Argumente:
db_id
(Zeichenfolge, erforderlich): Die ID der Zieldatenbankverbindung in Ihrem BlazeSQL-Konto. Sie finden diese ID in der BlazeSQL-Webanwendung beim Verwalten Ihrer Datenbankverbindungen.natural_language_request
(Zeichenfolge, erforderlich): Die Abfrage, die Sie ausführen möchten, in einfachem Englisch (z. B. „Zeige mir die Gesamtzahl der Benutzer“). (Die Eingabe wird mitzod
validiert.)
- Beispielaufruf (zur Veranschaulichung wird
mcp test
verwendet): - Ausgabe: Bei Erfolg gibt das Tool einen einzelnen
text
zurück, der Folgendes enthält:- Die Antwort des BlazeSQL-Agenten in natürlicher Sprache.
- Die generierte SQL-Abfrage innerhalb eines Markdown-Code-Zauns (
sql ...
). - Die Datenergebnisse werden als JSON innerhalb eines Markdown-Code-Zauns (
json ...
) formatiert.
Beispielhafte Struktur innerhalb des
text
:Datenergebnis (JSON):
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Ein Model Context Protocol-Server, der KI-Clients die Interaktion mit der Natural Language Query API von BlazeSQL ermöglicht und so Abfragen in natürlicher Sprache an SQL-Datenbanken zulässt.
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server enabling AI agents to access and manipulate ServiceNow data through natural language interactions, allowing users to search for records, update them, and manage scripts.Last updated -9PythonMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables natural language queries to MySQL databases, powered by XiYanSQL text-to-SQL technology.Last updated -114PythonApache 2.0
- -securityAlicense-qualityA Model Context Protocol server that enables AI agents to query Erick Wendel's talks, blog posts, and videos across different platforms using natural language.Last updated -55TypeScriptMIT License
- -securityFlicense-qualityA Model Context Protocol server that enables AI models to interact with MySQL databases through natural language, supporting SQL queries, table creation, and schema exploration.Last updated -2Python