← 返回公开榜单
xi

XGenerationLab/xiyan_mcp_server

A Model Context Protocol (MCP) server that enables natural language queries to databases

本周新增
41 星
近 3 周倍数
—
距上次推送
269 天
距上次发布
594 天
许可证
Apache-2.0

星标增长

每根柱子是这个周期记录下来的 star 增长:优先取逐个 stargazer 到达时间分桶的到达数,还没被 stargazer 扫描覆盖的仓库改用该周期的 star 净增;两个写者都没记录的周期画成虚线空档,而不是当成 0。柱高按各自窗口的峰值归一,两张图不共用坐标轴。指向任意一根柱子, tooltip 里是该周期的九项指标:当前值与周期内的净增。

指向或点击一根柱子,看当天的九项指标。

12/1712/301/111/242/62/193/33/16

2026 年 3 月 16 日 新增 41 个星标

窗口内最高的一天是 2026 年 3 月 16 日,新增 41 个星标。

证据时间轴

这个项目还没有记录到异动、发布或许可证变化。

README
该仓库存储的文档,若已生成中文翻译则一并显示

XiYan MCP Server

MCP Playwright

一个能够通过自然语言查询数据库的模型上下文协议(MCP)服务器
由 XiYan-SQL 驱动,在开放基准测试中处于文本到SQL技术的领先地位

💻 XiYan-mcp-server | 🌐 XiYan-SQL | 📖 Arxiv | 🏆 XiYanSQL Model | 📄 PapersWithCode 🤗 HuggingFace | 🤖 ModelScope | 🌕 析言GBI
MCP Server License: Apache 2.0 PyPI Downloads Smithery Installs GitHub stars
English | 中文 | 日本語
Ding Group钉钉群| Follow me on Weibo

目录

功能

  • 🌐 通过 XiYanSQL 以自然语言获取数据
  • 🤖 支持通用LLM(GPT,qwenmax)、文本到SQL SOTA模型
  • 💻 支持纯本地模式(高安全性!)
  • 📝 支持MySQL和PostgreSQL。
  • 🖱️ 以资源形式列出可用表格
  • 🔧 读取表格内容

预览

架构

有两种方法可以将此服务器集成到您的项目中,如下所示: 左边是远程模式,这是默认模式。它需要API密钥来访问服务提供商的xiyanSQL-qwencoder-32B模型(参见配置)。 另一种模式是本地模式,它更安全。它不需要API密钥。

architecture.png

最佳实践和报告

"使用MCP + Modelscope API-Inference构建本地数据助手,无需编写一行代码"

"Xiyan MCP on Modelscope"

MCPBench评估

下图说明了XiYan MCP服务器在MCPBench基准测试中的性能。与MySQL MCP服务器和PostgreSQL MCP服务器相比,XiYan MCP服务器表现出卓越的性能,领先2-22个百分点。详细的实验结果可以在[MCPBench](https://github.com/modelscope/MCP Bench)中找到,报告《MCP服务器的评估报告》也提供了相关信息。

exp_mcpbench.png

工具预览

  • 工具 get_data 提供了从数据库获取数据的自然语言接口。此服务器将输入的自然语言转换为SQL,并调用数据库返回查询结果。

  • {dialect}://{table_name} 资源允许在指定了特定table_name时,从数据库获取部分样本数据,供模型参考。

  • {dialect}:// 资源将列出当前数据库的名称

安装

从pip安装

需要Python 3.11+。 您可以通过pip安装服务器,它会安装最新版本:

pip install xiyan-mcp-server

如果您想从源代码安装开发版本,可以安装github上的源代码:

pip install git+https://github.com/XGenerationLab/xiyan_mcp_server.git

从Smithery.ai安装

参见 @XGenerationLab/xiyan_mcp_server

未完全测试。

配置

您需要一个YAML配置文件来配置服务器。 默认配置文件config_demo.yml中提供了一个默认配置文件,如下所示:

mcp:
  transport: "stdio"
model:
  name: "XGenerationLab/XiYanSQL-QwenCoder-32B-2412"
  key: ""
  url: "https://api-inference.modelscope.cn/v1/"
database:
  host: "localhost"
  port: 3306
  user: "root"
  password: ""
  database: ""

MCP配置

您可以设置传输协议为 stdio 或 sse。

STDIO

对于stdio协议,可以设置如下:

mcp:
  transport: "stdio"

SSE

对于sse协议,可以设置mcp配置如下:

mcp:
  transport: "sse"
  port: 8000
  log_level: "INFO"

默认端口是 8000。如有需要,可以更改端口。 默认日志级别是 ERROR。我们建议将日志级别设置为 INFO 以获取更详细的信息。

其他配置如 debug、host、sse_path、message_path 也可以自定义,但通常您不需要修改它们。

LLM配置

Name 是要使用的模型名称,key 是模型的API密钥,url 是模型的API URL。我们支持以下模型。

版本通用LLM(GPT,qwenmax)Modelscope的SOTA模型Dashscope的SOTA模型本地LLM
描述基础,易于使用最佳性能,稳定,推荐最佳性能,用于试用慢,高安全性
名称官方模型名称(例如 gpt-3.5-turbo,qwen-max)XGenerationLab/XiYanSQL-QwenCoder-32B-2412xiyansql-qwencoder-32bxiyansql-qwencoder-3b
密钥服务提供商的API密钥(例如 OpenAI, 阿里云)Modelscope的API密钥通过电子邮件获取的API密钥""
URL服务提供商的端点(例如"https://api.openai.com/v1")https://api-inference.modelscope.cn/v1/https://xiyan-stream.biz.aliyun.com/service/api/xiyan-sqlhttp://localhost:5090

通用LLM

如果您想使用通用LLM,例如gpt3.5,可以直接配置如下:

model:
  name: "gpt-3.5-turbo"
  key: "YOUR KEY "
  url: "https://api.openai.com/v1"
database:

如果您想使用来自阿里的Qwen,例如Qwen-max,可以使用以下配置:

model:
  name: "qwen-max"
  key: "YOUR KEY "
  url: "https://dashscope.aliyuncs.com/compatible-mode/v1"
database:

文本到SQL SOTA模型

我们推荐使用XiYanSQL-qwencoder-32B(https://github.com/XGenerationLab/XiYanSQL-QwenCoder),它是文本到SQL领域的SOTA模型,参见[鸟基准](https://bird-bench.github.io/)。 使用该模型有两种方法。您可以选择其中任何一种。 (1) Modelscope, (2) 阿里云DashScope.

(1) Modelscope版本

您需要申请Modelscope的API-inference密钥,https://www.modelscope.cn/docs/model-service/API-Inference/intro 然后您可以使用以下配置:

model:
  name: "XGenerationLab/XiYanSQL-QwenCoder-32B-2412"
  key: ""
  url: "https://api-inference.modelscope.cn/v1/"

阅读我们的模型描述以获取更多详细信息。

(2) Dashscope版本

我们在阿里云DashScope上部署了该模型,因此您需要设置以下环境变量: 将您的电子邮件发送给我以获取 key。 ( godot.lzl@alibaba-inc.com ) 在电子邮件中,请附上以下信息:

name: "YOUR NAME",
email: "YOUR EMAIL",
organization: "your college or Company or Organization"

我们将根据您的电子邮件发送 key。然后您可以在yml文件中填写 key。 key 将在1个月内过期或200次查询或其他合法限制下过期。

model:
  name: "xiyansql-qwencoder-32b"
  key: "KEY"
  url: "https://xiyan-stream.biz.aliyun.com/service/api/xiyan-sql"

注意:此模型服务仅用于试用,如果您需要在生产环境中使用它,请联系我们。

(3) 本地版本

或者,您也可以在自己的服务器上部署XiYanSQL-qwencoder-32B模型。 参见本地模型以获取更多详细信息。

数据库配置

host、port、user、password、database 是数据库的连接信息。

您可以使用本地或任何远程数据库。目前我们支持MySQL和PostgreSQL(更多方言即将支持)。

MySQL

database:
  host: "localhost"
  port: 3306
  user: "root"
  password: ""
  database: ""

PostgreSQL

第一步:安装Python包

pip install psycopg2

第二步:准备如下所示的config.yml:

database:
  dialect: "postgresql"
  host: "localhost"
  port: 5432
  user: ""
  password: ""
  database: ""

请注意,对于postgresql,dialect 应该是 postgresql。

启动

服务器启动

如果您想使用 sse 启动服务器,必须在终端中运行以下命令:

YML=path/to/yml python -m xiyan_mcp_server

然后您应该在浏览器中看到 http://localhost:8000/sse 的信息。(默认情况下,如果您的mcp服务器在其他主机/端口上运行,请更改)

否则,如果您使用 stdio 传输协议,通常您会在特定的mcp应用程序中声明mcp服务器命令,而不是在终端中启动它。 但是,如果需要,您仍然可以使用此命令进行调试。

客户端设置

Claude桌面版

在您的Claude桌面配置文件中添加此内容,参考 Claude桌面配置示例

{
    "mcpServers": {
        "xiyan-mcp-server": {
            "command": "/xxx/python",
            "args": [
                "-m",
                "xiyan_mcp_server"
            ],
            "env": {
                "YML": "PATH/TO/YML"
            }
        }
    }
}

请注意,这里的Python命令需要Python可执行文件的完整路径(/xxx/python);否则,无法找到Python解释器。您可以通过命令 which python 确定此路径。其他应用程序也适用。

Claude桌面目前不支持SSE传输协议。

Cline

准备如Claude桌面版的配置

Goose

如果您使用 stdio,在配置中添加以下命令,参考 Goose配置示例

env YML=path/to/yml /xxx/python -m xiyan_mcp_server

否则,如果您使用 sse,将类型更改为 SSE 并将端点设置为 http://127.0.0.1:8000/sse

Cursor

使用以下类似命令。

对于 stdio:

{
  "mcpServers": {
    "xiyan-mcp-server": {
      "command": "/xxx/python",
      "args": [
        "-m",
        "xiyan_mcp_server"
      ],
      "env": {
        "YML": "path/to/yml"
      }
    }
  }
}

对于 sse:

{
  "mcpServers": {
    "xiyan-mcp-server_1": {
      "url": "http://localhost:8000/sse"
    }
  }
}

Witsy

在命令中添加以下内容:

/xxx/python -m xiyan_mcp_server

添加一个env:键是YML,值是您的yml文件路径。 参考 Witsy配置示例

无法工作!

联系我们: Ding Group钉钉群| Follow me on Weibo

其他相关链接

MseeP.ai Security Assessment Badge

页面上的每个数字都来自记录下来的 stargazer 到达时间,没有评分公式,也没有 AI 判定。 任何结论都可以用 /api/v1/repos/{id}/stats 里的原始增量自己重算。