hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
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.
目录
特征
- 🌐 通过XiYanSQL获取自然语言数据
- 🤖 支持通用 LLM(GPT、qwenmax)、Text-to-SQL SOTA 模型
- 💻支持纯本地模式(安全性高!)
- 📝 支持 MySQL 和 PostgreSQL。
- 🖱️ 将可用表列为资源
- 🔧 读取表格内容
预览
建筑学
在您的项目中集成此服务器有两种方式,如下图所示:左侧为远程模式,为默认模式,需要 API key 才能从服务商处访问 xiyanSQL-qwencoder-32B 模型(参见配置)。右侧为本地模式,更安全,无需 API key。
最佳实践和报告
“使用 MCP + Modelscope API-Inference 构建本地数据助手,无需编写任何代码”
MCPBench 评估
下图展示了 XiYan MCP 服务器在 MCPBench 基准测试中的性能表现。XiYan MCP 服务器相比 MySQL MCP 服务器和 PostgreSQL MCP 服务器均表现出色,领先幅度达 2-22 个百分点。详细实验结果可参见MCPBench及《MCP 服务器评测报告》 。
工具预览
get_data
工具提供了从数据库检索数据的自然语言接口。该服务器将使用内置模型将输入的自然语言转换为 SQL,并调用数据库返回查询结果。- 当指定特定的 table_name 时
{dialect}://{table_name}
资源允许从数据库中获取一部分样本数据以供模型参考。 {dialect}://
资源将列出当前数据库的名称
安装
从 pip 安装
需要 Python 3.11+ 版本。您可以通过 pip 安装服务器,它将安装最新版本:
之后,您可以通过以下方式直接运行服务器:
但它不会提供任何功能,直到您完成以下配置。您将获得一个 yml 文件。之后,您可以通过以下方式运行服务器:
从 Smithery.ai 安装
参见@XGenerationLab/xiyan_mcp_server
未经过全面测试。
配置
您需要一个 YAML 配置文件来配置服务器。config_demo.yml 中提供了一个默认配置文件,如下所示:
LLM 配置
Name
是要使用的模型的名称, key
是模型的 API Key, url
是模型的 API URL。我们支持以下模型。
版本 | 普通法学硕士(GPT、qwenmax) | Modelscope 的 SOTA 模型 | Dashscope 的 SOTA 模型 | 本地法学硕士 |
---|---|---|---|---|
描述 | 基础、易用 | 性能最佳,稳定,推荐 | 最佳性能,试用 | 速度慢,安全性高 |
姓名 | 官方型号名称(例如 gpt-3.5-turbo、qwen-max) | XGenerationLab/XiYanSQL-QwenCoder-32B-2412 | xiyansql-qwencoder-32b | xiyansql-qwencoder-3b |
钥匙 | 服务提供商的 API 密钥(例如 OpenAI、阿里云) | modelscope 的 API 密钥 | 通过电子邮件获取 API 密钥 | “” |
网址 | 服务提供商的端点(例如“ 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,例如gpt3.5,可以直接这样配置:
如果您想使用阿里巴巴的 Qwen,例如 Qwen-max,您可以使用以下配置:
文本到 SQL SOTA 模型
我们推荐 XiYanSQL-qwencoder-32B ( https://github.com/XGenerationLab/XiYanSQL-QwenCoder ),它是 Text-to-SQL 领域目前最优秀的模型,具体可以参考Bird benchmark 。该模型有两种使用方式,大家可以自行选择。(1) Modelscope ,(2) 阿里云 DashScope 。
(1)Modelscope版本
您需要从 Modelscope 申请一个 API-inference 的key
, https://www.modelscope.cn/docs/model-service/API-Inference/intro然后您可以使用以下配置:
阅读我们的模型描述以了解更多详细信息。
(2)Dashscope 版本
我们将模型部署在阿里云 DashScope 上,因此您需要设置以下环境变量: 请将您的邮箱发送给我以获取key
。( godot.lzl@alibaba-inc.com ) 在邮件中,请附上以下信息:
我们会根据您的邮箱发送key
。您可以将key
填写在 yml 文件中。 key
有效期为 1 个月、200 次查询或其他法律限制。
注:此模型服务仅供试用,如需在生产中使用,请联系我们。
或者,您也可以在自己的服务器上部署模型XiYanSQL-qwencoder-32B 。
本地模型
注意:本地模型运行速度较慢(在我的 MacBook 上,每个查询大约需要 12 秒)。如果您需要稳定快速的服务,我们仍然建议您使用 modelscope 版本。
要在本地模式下运行 xiyan_mcp_server,您需要
- 至少具有 16GB RAM 的 PC/Mac
- 6GB磁盘空间
步骤 1:安装其他 Python 包
步骤 2:(可选)手动下载模型我们推荐使用xiyansql-qwencoder-3b 。您可以通过以下方式手动下载模型
它将占用您 6GB 的磁盘空间。
第三步:下载脚本并运行服务器。src/xiyan_mcp_server/local_xiyan_server.py
服务器将在http://localhost:5090/上运行
步骤 4:准备配置并运行 xiyan_mcp_server,config.yml 应如下所示:
至此本地模式已经准备就绪。
数据库配置
host
、 port
、 user
、 password
、 database
是数据库的连接信息。
您可以使用本地或任何远程数据库。目前我们支持 MySQL 和 PostgreSQL(更多方言即将推出)。
MySQL
PostgreSQL
步骤 1:安装 Python 包
第 2 步:准备 config.yml,如下所示:
请注意,对于 postgresql, dialect
应该是postgresql
。
发射
克劳德桌面
将其添加到您的 Claude Desktop 配置文件中,参考 Claude Desktop 配置示例
克莱恩
像Claude Desktop一样准备配置
鹅
在配置中添加以下命令,参考 Goose 配置示例
光标
使用与Goose相同的命令。
机智
在命令中添加以下内容:
添加一个环境变量:键为 YML,值是 yml 文件的路径。参考 Witsy 配置示例
它不起作用!
联系我们:鼎集团钉钉群|关注我微博
引文
如果您发现我们的工作有帮助,请随时引用我们。
This server cannot be installed
模型上下文协议服务器,支持对 MySQL 数据库进行自然语言查询,由 XiYanSQL 文本到 SQL 技术提供支持。