XiYan MCP Server

XiYan MCP Server

site icon
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

调试方式

本地模式调试

  1. 安装额外依赖:
pip install flask modelscope torch==2.2.2 accelerate>=0.26.0 numpy=2.2.3
  1. 手动下载模型:
modelscope download --model XGenerationLab/XiYanSQL-QwenCoder-3B-2502
  1. 运行本地服务器:
python local_xiyan_server.py
  1. 配置 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

许可证

该项目遵循 Apache 2.0 开源许可条款。