Integrations
Enables natural language queries to MySQL databases, allowing users to fetch data, list available tables, and read table contents using natural language commands, powered by XiYanSQL text-to-SQL technology.
Supports use of OpenAI models like GPT-3.5-turbo for processing natural language queries to SQL databases, configurable through the server settings.
Inhaltsverzeichnis
Merkmale
- 🌐 Daten in natürlicher Sprache über XiYanSQL abrufen
- 🤖 Unterstützt allgemeine LLMs (GPT, qwenmax), Text-to-SQL SOTA-Modell
- 💻 Unterstützt den rein lokalen Modus (hohe Sicherheit!)
- 📝 Unterstützt MySQL und PostgreSQL.
- 🖱️ Verfügbare Tabellen als Ressourcen auflisten
- 🔧 Tabelleninhalt lesen
Vorschau
Architektur
Es gibt zwei Möglichkeiten, diesen Server in Ihr Projekt zu integrieren, wie unten gezeigt: Die linke ist der Remote-Modus, der Standardmodus. Für den Zugriff auf das xiyanSQL-qwencoder-32B-Modell vom Dienstanbieter ist ein API-Schlüssel erforderlich (siehe Konfiguration ). Ein anderer Modus ist der lokale Modus, der sicherer ist. Hierfür ist kein API-Schlüssel erforderlich.
Best Practice und Berichte
Auswertung auf MCPBench
Die folgende Abbildung veranschaulicht die Leistung des XiYan MCP-Servers, gemessen im MCPBench-Benchmark. Der XiYan MCP-Server zeigt sowohl im Vergleich zum MySQL MCP-Server als auch zum PostgreSQL MCP-Server eine überlegene Leistung und erreicht einen Vorsprung von 2 bis 22 Prozentpunkten. Die detaillierten Versuchsergebnisse finden Sie unter MCPBench und im Bericht „Evaluationsbericht zu MCP-Servern“ .
Werkzeugvorschau
- Das Tool
get_data
bietet eine Schnittstelle für natürliche Sprache zum Abrufen von Daten aus einer Datenbank. Der Server konvertiert die eingegebene natürliche Sprache mithilfe eines integrierten Modells in SQL und ruft die Datenbank auf, um die Abfrageergebnisse zurückzugeben. - Die Ressource
{dialect}://{table_name}
ermöglicht das Abrufen eines Teils der Beispieldaten aus der Datenbank als Modellreferenz, wenn ein bestimmter Tabellenname angegeben ist. - Die Ressource
{dialect}://
listet die Namen der aktuellen Datenbanken auf
Installation
Installation von pip
Python 3.11+ wird benötigt. Sie können den Server über pip installieren. Es wird die neueste Version installiert:
Wenn Sie die Entwicklungsversion aus der Quelle installieren möchten, können Sie die Installation aus dem Quellcode auf GitHub durchführen:
Installation von Smithery.ai
Siehe @XGenerationLab/xiyan_mcp_server
Nicht vollständig getestet.
Konfiguration
Sie benötigen eine YAML-Konfigurationsdatei, um den Server zu konfigurieren. Eine Standardkonfigurationsdatei befindet sich in config_demo.yml und sieht wie folgt aus:
MCP-Konfiguration
Sie können das Transportprotokoll auf stdio
oder sse
einstellen.
STDIO
Für das stdio-Protokoll können Sie Folgendes einstellen:
SSE
Für das SSE-Protokoll können Sie die MCP-Konfiguration wie folgt festlegen:
Der Standardport ist 8000
. Sie können den Port bei Bedarf ändern. Der Standard-Log-Level ist ERROR
. Für detailliertere Informationen empfehlen wir, den Log-Level auf INFO
zu setzen.
Andere Konfigurationen wie debug
, host
, sse_path
und message_path
können ebenfalls angepasst werden, müssen aber normalerweise nicht geändert werden.
LLM-Konfiguration
Name
ist der Name des zu verwendenden Modells, key
ist der API-Schlüssel des Modells, url
ist die API-URL des Modells. Wir unterstützen folgende Modelle.
Versionen | allgemeine LLMs (GPT, qwenmax) | SOTA-Modell von Modelscope | SOTA-Modell von Dashscope | Lokale LLMs |
---|---|---|---|---|
Beschreibung | einfach, leicht zu bedienen | beste Leistung, stabil, empfehlenswert | beste Leistung, zum Ausprobieren | langsam, hohe Sicherheit |
Name | die offizielle Modellbezeichnung (zB gpt-3.5-turbo,qwen-max) | XGenerationLab/XiYanSQL-QwenCoder-32B-2412 | xiyansql-qwencoder-32b | xiyansql-qwencoder-3b |
Schlüssel | den API-Schlüssel des Dienstanbieters (z. B. OpenAI, Alibaba Cloud) | der API-Schlüssel von modelscope | den API-Schlüssel per E-Mail | "" |
URL | der Endpunkt des Dienstanbieters (z. B. „ https://api.openai.com/v1 “) | https://api-inference.modelscope.cn/v1/ | https://xiyan-stream.biz.aliyun.com/service/api/xiyan-sql | http://localhost:5090 |
Allgemeine LLMs
Wenn Sie die allgemeinen LLMs verwenden möchten, z. B. gpt3.5, können Sie die Konfiguration direkt wie folgt vornehmen:
Wenn Sie Qwen von Alibaba verwenden möchten, z. B. Qwen-max, können Sie die folgende Konfiguration verwenden:
Text-zu-SQL-SOTA-Modell
Wir empfehlen den XiYanSQL-qwencoder-32B ( https://github.com/XGenerationLab/XiYanSQL-QwenCoder ), das SOTA-Modell für Text-zu-SQL (siehe Bird-Benchmark) . Es gibt zwei Möglichkeiten, das Modell zu verwenden. Sie können eine der beiden Möglichkeiten verwenden: (1) Modelscope , (2) Alibaba Cloud DashScope.
(1) Modelscope-Version
Sie müssen einen key
der API-Inferenz von Modelscope anwenden, https://www.modelscope.cn/docs/model-service/API-Inference/intro . Dann können Sie die folgende Konfiguration verwenden:
Weitere Einzelheiten finden Sie in unserer Modellbeschreibung .
(2) Dashscope-Version
Wir haben das Modell auf Alibaba Cloud DashScope bereitgestellt, daher müssen Sie die folgenden Umgebungsvariablen festlegen: Senden Sie mir Ihre E-Mail, um den key
zu erhalten. ( godot.lzl@alibaba-inc.com ) Fügen Sie der E-Mail bitte die folgenden Informationen bei:
Wir senden Ihnen einen key
gemäß Ihrer E-Mail-Adresse. Sie können den key
in die YML-Datei eintragen. Der key
verfällt nach einem Monat oder 200 Abfragen oder anderen rechtlichen Einschränkungen.
Hinweis: Dieser Modelldienst dient nur zu Testzwecken. Wenn Sie ihn in der Produktion verwenden müssen, kontaktieren Sie uns bitte.
(3) Lokale Version
Alternativ können Sie das Modell XiYanSQL-qwencoder-32B auch auf Ihrem eigenen Server bereitstellen. Weitere Informationen finden Sie unter Lokales Modell .
Datenbankkonfiguration
host
, port
, user
, password
und database
sind die Verbindungsinformationen der Datenbank.
Sie können lokale oder beliebige Remote-Datenbanken verwenden. Wir unterstützen derzeit MySQL und PostgreSQL (weitere Dialekte folgen in Kürze).
MySQL
PostgreSQL
Schritt 1: Python-Pakete installieren
Schritt 2: Bereiten Sie die Datei config.yml wie folgt vor:
Beachten Sie, dass dialect
für PostgreSQL postgresql
sein sollte.
Start
Serverstart
Wenn Sie den Server mit sse
starten möchten, müssen Sie den folgenden Befehl in einem Terminal ausführen:
Anschließend sollten Sie die Informationen unter http://localhost:8000/sse in Ihrem Browser sehen. (Standardmäßig ändern, wenn Ihr MCP-Server auf einem anderen Host/Port läuft.)
Wenn Sie stdio
Transportprotokoll verwenden, deklarieren Sie den MCP-Serverbefehl normalerweise in einer bestimmten MCP-Anwendung, anstatt ihn in einem Terminal auszuführen. Sie können mit diesem Befehl jedoch bei Bedarf weiterhin debuggen.
Client-Einstellung
Claude Desktop
Fügen Sie dies in Ihre Claude Desktop-Konfigurationsdatei ein, siehe Claude Desktop-Konfigurationsbeispiel
Bitte beachten Sie, dass der Python-Befehl hier den vollständigen Pfad zur Python-Programmdatei ( /xxx/python
) benötigt, da der Python-Interpreter sonst nicht gefunden werden kann. Sie können diesen Pfad mit dem Befehl which python
ermitteln. Dasselbe gilt auch für andere Anwendungen.
Claude Desktop unterstützt derzeit das SSE-Transportprotokoll nicht.
Cline
Bereiten Sie die Konfiguration wie Claude Desktop vor
Gans
Wenn Sie stdio
verwenden, fügen Sie der Konfiguration den folgenden Befehl hinzu (siehe Goose-Konfigurationsbeispiel).
Andernfalls, wenn Sie sse
verwenden, ändern Sie den Typ in SSE
und setzen Sie den Endpunkt auf http://127.0.0.1:8000/sse
Cursor
Verwenden Sie den ähnlichen Befehl wie folgt.
Für stdio
:
Für sse
:
Witzig
Fügen Sie dem Befehl Folgendes hinzu:
Fügen Sie eine Umgebung hinzu: Der Schlüssel ist YML und der Wert ist der Pfad zu Ihrer YML-Datei. Siehe Witsy-Konfigurationsbeispiel
Es funktioniert nicht!
Kontaktieren Sie uns: Ding Group钉钉群| Folgen Sie mir auf Weibo
Andere verwandte Links
Zitat
Wenn Sie unsere Arbeit hilfreich finden, können Sie uns gerne zitieren.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Ein Model Context Protocol-Server, der Abfragen in natürlicher Sprache an MySQL-Datenbanken ermöglicht und auf der Text-zu-SQL-Technologie von XiYanSQL basiert.
Related Resources
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that enables SQL query execution, database management, and business intelligence capabilities through MySQL connections.Last updated -JavaScript
- -security-license-qualityA Model Context Protocol server that enables AI models to interact with MySQL databases, providing tools for querying, executing statements, listing tables, and describing table structures.Last updated -MIT License
- -security-license-qualityA Model Context Protocol server that enables AI models to interact with MySQL databases through a standardized interface, providing tools for querying, executing commands, and managing database schemas.Last updated -JavaScript
- -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 -1Python