
XiYan MCP Server

2025.03.23
0
Python自然语言查询数据库工具文本到 SQL数据库开发效率
XiYan MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,支持通过自然语言查询数据库。它利用 XiYan-SQL(在开放基准测试中表现最佳的文本到 SQL 模型)来实现这一功能。该服务器支持多种模型配置,包括通用大语言模型(如 GPT 和 qwenmax)、文本到 SQL 的 SOTA 模型以及本地模型,适用于需要高安全性的场景。
View on GitHub
Overview
基本能力
产品定位
XiYan MCP Server 是一个支持自然语言查询数据库的工具,旨在简化数据库查询流程,提升开发效率。
核心功能
- 🌐 通过自然语言查询数据库(基于 XiYan-SQL)。
- 🤖 支持多种模型:通用大语言模型(如 GPT、qwenmax)、文本到 SQL 的 SOTA 模型、本地模型。
- 💻 支持纯本地模式(高安全性)。
- 🖱️ 列出可用的 MySQL 表作为资源。
- 🔧 读取表内容。
适用场景
- 开发人员需要快速查询数据库而不熟悉 SQL 语法。
- 需要高安全性的本地数据库查询场景。
- 数据分析师希望通过自然语言快速获取数据库信息。
工具列表
get_data
:通过自然语言从数据库获取数据,将输入的自然语言转换为 SQL 并返回查询结果。mysql://{table_name}
:获取数据库中指定表的样本数据。mysql://
:列出当前数据库的名称。
常见问题解答
- 问题:如何获取模型的 API key? 解答:对于 Modelscope 版本,需在 Modelscope 官网申请 API key;对于 Dashscope 版本,需通过邮件申请 key。
- 问题:本地模式运行缓慢怎么办? 解答:本地模式受硬件限制,建议使用 Modelscope 版本以获得更快的响应速度。
使用教程
使用依赖
- Python 3.11+ 是必需的。
安装教程
通过 pip 安装
pip install xiyan-mcp-server
运行服务器
python -m xiyan_mcp_server
配置 YML 文件
需提供一个 YML 配置文件,示例内容如下:
model:
name: "XGenerationLab/XiYanSQL-QwenCoder-32B-2412"
key: ""
url: "https://api-inference.modelscope.cn/v1/"
database:
host: "localhost"
port: 3306
user: "root"
password: ""
database: ""
通过 Smithery.ai 安装
参考 @XGenerationLab/xiyan_mcp_server。
调试方式
本地模式调试
- 安装额外依赖:
pip install flask modelscope torch==2.2.2 accelerate>=0.26.0 numpy=2.2.3
- 手动下载模型:
modelscope download --model XGenerationLab/XiYanSQL-QwenCoder-3B-2502
- 运行本地服务器:
python local_xiyan_server.py
- 配置 YML 文件并运行服务器:
model:
name: "xiyansql-qwencoder-3b"
key: "KEY"
url: "http://127.0.0.1:5090"
通用调试命令
env YML=path/to/yml python -m xiyan_mcp_server