Tabla de contenido
Características
- 🌐 Obtenga datos en lenguaje natural a través de XiYanSQL
- 🤖 Admite LLM generales (GPT, qwenmax), modelo SOTA de texto a SQL
- 💻 Admite modo local puro (¡alta seguridad!)
- 📝 Soporte para MySQL y PostgreSQL.
- 🖱️ Listar las tablas disponibles como recursos
- 🔧 Leer el contenido de la tabla
Avance
Arquitectura
Hay dos maneras de integrar este servidor en su proyecto, como se muestra a continuación: El modo remoto, que es el predeterminado, requiere una clave API para acceder al modelo xiyanSQL-qwencoder-32B del proveedor de servicios (consulte Configuración ). El modo local es más seguro y no requiere la clave API.
Mejores prácticas e informes
Evaluación en MCPBench
La siguiente figura ilustra el rendimiento del servidor XiYan MCP, medido mediante el benchmark MCPBench. El servidor XiYan MCP demuestra un rendimiento superior al del servidor MySQL MCP y al del servidor PostgreSQL MCP, alcanzando una ventaja de entre 2 y 22 puntos porcentuales. Los resultados detallados del experimento se pueden consultar en MCPBench y en el informe "Informe de evaluación de servidores MCP" .
Vista previa de herramientas
- La herramienta
get_data
proporciona una interfaz de lenguaje natural para recuperar datos de una base de datos. Este servidor convierte la entrada de lenguaje natural a SQL mediante un modelo integrado y llama a la base de datos para devolver los resultados de la consulta. - El recurso
{dialect}://{table_name}
permite obtener una parte de datos de muestra de la base de datos para la referencia del modelo cuando se especifica un table_name específico. - El recurso
{dialect}://
enumerará los nombres de las bases de datos actuales
Instalación
Instalación desde pip
Se requiere Python 3.11 o superior. Puede instalar el servidor mediante pip; se instalará la versión más reciente:
Si desea instalar la versión de desarrollo desde la fuente, puede instalarla desde el código fuente en github:
Instalación desde Smithery.ai
Ver @XGenerationLab/xiyan_mcp_server
No completamente probado.
Configuración
Necesita un archivo de configuración YAML para configurar el servidor. El archivo de configuración predeterminado se encuentra en config_demo.yml y tiene este aspecto:
Configuración de MCP
Puede configurar el protocolo de transporte en stdio
o sse
.
STDIO
Para el protocolo stdio, puedes configurarlo así:
SSE
Para el protocolo sse, puede configurar mcp de la siguiente manera:
El puerto predeterminado es 8000
Puede cambiarlo si lo necesita. El nivel de registro predeterminado es ERROR
. Recomendamos configurar el nivel de registro en INFO
para obtener información más detallada.
También se pueden personalizar otras configuraciones como debug
, host
, sse_path
y message_path
, pero normalmente no es necesario modificarlas.
Configuración de LLM
Name
es el nombre del modelo a utilizar, key
es la clave API del modelo y url
es la URL API del modelo. Admitimos los siguientes modelos.
versiones | LLM generales (GPT, qwenmax) | Modelo SOTA de Modelscope | Modelo SOTA de Dashscope | LLM locales |
---|---|---|---|---|
descripción | básico, fácil de usar | Mejor rendimiento, estable, recomendado. | Mejor rendimiento, para prueba | lento, alta seguridad |
nombre | el nombre oficial del modelo (por ejemplo, gpt-3.5-turbo,qwen-max) | XGenerationLab/XiYanSQL-QwenCoder-32B-2412 | xiyansql-qwencoder-32b | xiyansql-qwencoder-3b |
llave | la clave API del proveedor de servicios (por ejemplo, OpenAI, Alibaba Cloud) | la clave API de modelscope | la clave API por correo electrónico | "" |
URL | el punto final del proveedor de servicios (por ejemplo, " https://api.openai.com/v1 ") | https://api-inference.modelscope.cn/v1/ | https://xiyan-stream.biz.aliyun.com/service/api/xiyan-sql | http://localhost:5090 |
LLM generales
Si desea utilizar los LLM generales, por ejemplo gpt3.5, puede configurarlos directamente de esta manera:
Si desea utilizar Qwen de Alibaba, por ejemplo Qwen-max, puede utilizar la siguiente configuración:
Modelo SOTA de texto a SQL
Recomendamos XiYanSQL-qwencoder-32B ( https://github.com/XGenerationLab/XiYanSQL-QwenCoder ), que es el modelo SOTA en conversión de texto a SQL. Consulte el benchmark de Bird . Hay dos maneras de usar el modelo. Puede usar cualquiera de ellas: (1) Modelscope , (2) Alibaba Cloud DashScope.
(1) Versión de Modelscope
Debe aplicar una key
de inferencia de API de Modelscope, https://www.modelscope.cn/docs/model-service/API-Inference/intro Luego puede usar la siguiente configuración:
Lea la descripción de nuestro modelo para obtener más detalles.
(2) Versión Dashscope
Implementamos el modelo en Alibaba Cloud DashScope, por lo que debe configurar las siguientes variables de entorno: Envíeme su correo electrónico para obtener la key
. ( godot.lzl@alibaba-inc.com ) En el correo electrónico, adjunte la siguiente información:
Le enviaremos una key
según su correo electrónico. Puede key
en el archivo yml. La key
caducará al cabo de un mes, 200 consultas o cualquier otra restricción legal.
Nota: este modelo de servicio es solo para prueba, si necesita usarlo en producción, contáctenos.
(3) Versión local
Como alternativa, también puede implementar el modelo XiYanSQL-qwencoder-32B en su propio servidor. Consulte "Modelo local" para obtener más información.
Configuración de la base de datos
host
, port
, user
, password
y database
son la información de conexión de la base de datos.
Puedes usar bases de datos locales o remotas. Ahora somos compatibles con MySQL y PostgreSQL (próximamente con más dialectos).
MySQL
PostgreSQL
Paso 1: Instalar paquetes de Python
Paso 2: prepara el config.yml de esta manera:
Tenga en cuenta que dialect
debe ser postgresql
para postgresql.
Lanzamiento
Lanzamiento del servidor
Si desea iniciar el servidor con sse
, debe ejecutar el siguiente comando en una terminal:
Debería ver la información de http://localhost:8000/sse en su navegador. (Por defecto, cambie esta configuración si su servidor mcp se ejecuta en otro host o puerto).
De lo contrario, si usa el protocolo de transporte stdio
, normalmente declara el comando "mcp server" en la aplicación mcp específica en lugar de ejecutarlo en una terminal. Sin embargo, puede depurar con este comando si es necesario.
Configuración del cliente
Escritorio de Claude
Agregue esto en su archivo de configuración de Claude Desktop, consulte el ejemplo de configuración de Claude Desktop
Tenga en cuenta que el comando de Python requiere la ruta completa del ejecutable de Python ( /xxx/python
); de lo contrario, no se podrá encontrar el intérprete de Python. Puede determinar esta ruta con el comando which python
. Esto también aplica a otras aplicaciones.
Claude Desktop actualmente no admite el protocolo de transporte SSE.
Cline
Prepara la configuración como Claude Desktop
Ganso
Si usa stdio
, agregue el siguiente comando en la configuración, consulte el ejemplo de configuración de Goose
De lo contrario, si usa sse
, cambie el Tipo a SSE
y configure el punto final en http://127.0.0.1:8000/sse
Cursor
Utilice un comando similar al siguiente.
Para stdio
:
Para sse
:
Ingenioso
Agregue lo siguiente en el comando:
Agregue un entorno: la clave es YML y el valor es la ruta a su archivo YML. Consulte el ejemplo de configuración de Witsy.
¡No funciona!
Contáctanos: Ding Group钉钉群| Sígueme en Weibo
Otros enlaces relacionados
Citación
Si encuentra útil nuestro trabajo, no dude en citarnos.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Un servidor de protocolo de contexto de modelo que permite realizar consultas en lenguaje natural a bases de datos MySQL, impulsado por la tecnología de texto a SQL XiYanSQL.
- Características
- Avance
- Instalación
- Configuración
- Lanzamiento
- ¡No funciona!
- Otros enlaces relacionados
- Citación
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