首页
学习
活动
专区
圈层
工具
发布
MCP广场 >详情页
析言MCP2026-04-22127分享添加福利群:解决AI开发者的「MCP实战痛点」
一个支持自然语言查询数据库的模型上下文协议(MCP)插件。
By XGenerationLab
2026-04-22127
github
详情内容

析言 MCP 服务器

MCP Playwright

一个支持自然语言查询数据库的模型上下文协议(MCP)服务器
XiYan-SQL 提供支持,在开放基准测试中达到文本到SQL的SOTA水平

💻 XiYan-mcp-server | 🌐 XiYan-SQL | 📖 Arxiv | 🏆 XiYanSQL Model | 📄 PapersWithCode 🤗 HuggingFace | 🤖 ModelScope | 🌕 析言GBI
MCP Server License: Apache 2.0 PyPI Downloads

Trust Score Smithery Installs GitHub stars
English | 中文 | 日本語
Ding Group钉钉群关注我的微博

目录

特性

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

预览

架构

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

architecture.png

最佳实践和报告

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

"在Modelscope上的析言MCP"

在MCPBench上的评估

下图展示了析言MCP服务器在MCPBench基准测试中的表现。析言MCP服务器相比MySQL MCP服务器和PostgreSQL MCP服务器表现出色,领先2-22个百分点。详细实验结果可在MCPBench和报告"MCP服务器评估报告"中找到。

exp_mcpbench.png

工具预览

  • 工具get_data提供了一个自然语言接口,用于从数据库中检索数据。此服务器将使用内置模型将输入的自然语言转换为SQL,并调用数据库返回查询结果。

  • {dialect}://{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配置

您可以将传输协议设置为stdiosse

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-2412 xiyansql-qwencoder-32b xiyansql-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-sql http://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模型,参见Bird基准测试。 有两种方式可以使用该模型。您可以使用其中任何一种。 (1) Modelscope, (2) 阿里云DashScope.

(1) Modelscope版本

您需要从Modelscope申请一个API-inference的key,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: "您的姓名",
email: "您的电子邮件",
organization: "您的学校、公司或组织"

我们将根据您的电子邮件发送 key。您可以将 key 填写在 yml 文件中。 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 模型。 有关详细信息,请参阅本地模型

数据库配置

hostportuserpassworddatabase 是数据库的连接信息。

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

MySQL

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

PostgreSQL

步骤 1:安装 Python 包

pip install psycopg2

步骤 2:准备 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 Desktop

将此添加到您的 Claude Desktop 配置文件中,参考 Claude Desktop 配置示例

{
    "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 Desktop 目前不支持 SSE 传输协议。

Cline

准备类似于 Claude Desktop 的配置

Goose

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

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

否则,如果您使用 sse,将 Type 更改为 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

添加一个环境变量:键为 YML,值为您的 yml 文件路径。 参考 Witsy 配置示例

联系我们:

如果您对我们的研究或产品感兴趣,请随时联系我们。

联系信息:

Yifu Liu, zhencang.lyf@alibaba-inc.com

加入我们的钉钉群

钉钉群

其他相关链接

MseeP.ai 安全评估徽章

引用

如果您觉得我们的工作有帮助,请随时引用我们。

@article{XiYanSQL,
      title={XiYan-SQL: A Novel Multi-Generator Framework For Text-to-SQL}, 
      author={Yifu Liu and Yin Zhu and Yingqi Gao and Zhiling Luo and Xiaoxia Li and Xiaorong Shi and Yuntao Hong and Jinyang Gao and Yu Li and Bolin Ding and Jingren Zhou},
      year={2025},
      eprint={2507.04701},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2507.04701}, 
}
@article{xiyansql_pre,
      title={A Preview of XiYan-SQL: A Multi-Generator Ensemble Framework for Text-to-SQL}, 
      author={Yingqi Gao and Yifu Liu and Xiaoxia Li and Xiaorong Shi and Yin Zhu and Yiming Wang and Shiqi Li and Wei Li and Yuntao Hong and Zhiling Luo and Jinyang Gao and Liyu Mou and Yu Li},
      year={2024},
      journal={arXiv preprint arXiv:2411.08599},
      url={https://arxiv.org/abs/2411.08599},
      primaryClass={cs.AI}
}
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档