使用说明

项目简介

XiYan MCP Server 是一个实现了 Model Context Protocol (MCP) 协议的服务器,旨在为大型语言模型(LLM)应用提供数据库上下文访问能力。该服务器基于 XiYan-SQL 技术,可以将自然语言查询转换为 SQL 语句,并从 MySQL 数据库中检索数据,从而使 LLM 能够理解和操作数据库信息。

主要功能点

  • 自然语言查询数据库: 通过 'get_data_via_natural_language' 工具,用户可以使用自然语言提问,服务器会将问题转换为 SQL 查询并在配置的 MySQL 数据库上执行,最终返回查询结果。
  • MySQL 表资源浏览: 通过访问 'mysql://数据库名' 资源,客户端可以获取当前数据库中所有表的名称列表,方便用户了解数据库结构。
  • MySQL 表数据预览: 通过访问 'mysql://表名' 资源,客户端可以获取指定表的部分示例数据(前100行),帮助 LLM 理解表结构和数据内容。

安装步骤

  1. 环境准备: 确保已安装 Python 3.11 或更高版本。
  2. 安装软件包: 使用 pip 命令安装 'xiyan-mcp-server' 包:
    pip install xiyan-mcp-server

服务器配置

MCP 客户端需要配置以下 JSON 信息以连接到 XiYan MCP Server。请根据您的实际环境修改以下配置:

{
  "serverName": "xiyan-mcp-server",  // 服务器名称,可以自定义
  "command": "python",             // 启动服务器的命令,这里使用 python
  "args": [                        // 启动命令的参数
    "-m",                         // 以模块方式运行
    "xiyan_mcp_server"           // 运行 xiyan_mcp_server 模块
  ],
  "env": {                         // 环境变量配置
    "YML": "PATH/TO/YOUR/CONFIG.YML" // 配置文件路径,请替换为您的 YAML 配置文件实际路径
  }
}

配置参数说明:

  • 'serverName': MCP 服务器的名称,客户端用于标识和调用。可以根据需要自定义。
  • 'command': 运行 MCP 服务器的命令,通常为 'python',假设您的 Python 环境已配置到 PATH 环境变量中。
  • 'args': 传递给 'command' 的参数列表。
    • '"-m"': Python 的 '-m' 参数用于以模块名运行库。
    • '"xiyan_mcp_server"': 指定要运行的模块是 'xiyan_mcp_server',即安装的 Python 包。
  • 'env': 环境变量配置。
    • '"YML"': 指定 YAML 配置文件的路径。请务必将 '"PATH/TO/YOUR/CONFIG.YML"' 替换为您实际的 YAML 配置文件路径。 YAML 配置文件用于配置数据库连接信息和 LLM 模型信息(例如 API 密钥)。您可以参考仓库提供的 'config_demo.yml' 文件进行配置。

YAML 配置文件 (config_demo.yml) 示例:

model:
  name: "pre-xiyan_multi_dialect_v3" # 建议使用 XiYanSQL 模型,或根据需要配置其他 LLM 模型
  key: "YOUR_API_KEY"             # 您的 LLM API 密钥,如果使用 XiYanSQL 模型,请联系作者获取
  url: "https://poc-dashscope.aliyuncs.com/compatible-mode/v1" # LLM API 的 URL

database:
  host: "localhost"               # MySQL 数据库主机地址
  port: 3306                      # MySQL 数据库端口
  user: "root"                    # MySQL 数据库用户名
  password: "YOUR_PASSWORD"         # MySQL 数据库密码
  database: "YOUR_DATABASE_NAME"    # 默认连接的数据库名

注意:

  • 您需要根据实际使用的 LLM 模型和 MySQL 数据库信息配置 'config_demo.yml' 文件,并将其路径配置在 MCP 客户端的 'env.YML' 中。
  • 如果使用 XiYanSQL 模型,可能需要联系作者获取 API 密钥。
  • 确保 MySQL 数据库服务已启动,并且配置的用户名、密码和数据库名是正确的。

基本使用方法

  1. 启动 MCP 服务器: 在配置好 YAML 文件后,MCP 服务器会在客户端发起连接时自动启动(根据您在客户端配置的 'command' 和 'args')。

  2. 在 MCP 客户端中调用工具和资源:

    • 调用 'get_data_via_natural_language' 工具: 在客户端中,可以使用自然语言提问来调用 'get_data_via_natural_language' 工具,例如:'请查询最近一周销售额最高的商品是什么?' 服务器会将问题转换为 SQL 并在数据库中查询,返回结果。
    • 访问 'mysql://数据库名' 资源: 客户端可以请求访问 'mysql://YOUR_DATABASE_NAME' 资源,以获取 'YOUR_DATABASE_NAME' 数据库中的表列表。
    • 访问 'mysql://表名' 资源: 客户端可以请求访问 'mysql://YOUR_TABLE_NAME' 资源,以获取 'YOUR_TABLE_NAME' 表的示例数据。

示例:Claude Desktop 配置

如果您使用 Claude Desktop 作为 MCP 客户端,可以将上述 JSON 配置添加到 Claude Desktop 的配置文件中,即可集成 XiYan MCP Server,实现 Claude 与 MySQL 数据库的自然语言交互。

信息

分类

数据库与文件