项目简介

该项目是一个 MCP (Model Context Protocol) 服务器的实现,专注于为大型语言模型 (LLM) 提供访问 TiDB Serverless 数据库的能力。通过此服务器,LLM 客户端可以安全、便捷地查询、操作 TiDB 数据库,实现数据驱动的智能应用。

主要功能点

  • TiDB Serverless 数据库连接: 支持连接到 TiDB Serverless 数据库,利用连接池高效管理数据库连接。
  • 工具 (Tools) 注册与执行: 内置多种数据库操作工具,例如:
    • 查看数据库表: 列出指定数据库中的所有表。
    • 执行 SQL 查询: 在 TiDB 数据库上执行 SQL 查询语句,并返回结果。
    • 查看建表 SQL: 获取指定表的 CREATE TABLE 语句。
    • 执行 SQL 语句: 在 TiDB 数据库上执行 DML 或 DDL SQL 语句。
    • 创建/删除数据库用户: 管理 TiDB 数据库用户。
    • 获取数据库地址: 获取 TiDB Serverless 数据库的连接地址。
  • 环境配置: 通过环境变量或 '.env' 文件灵活配置数据库连接信息。
  • 标准 MCP 协议: 遵循 MCP 协议规范,易于与任何兼容 MCP 协议的 LLM 客户端集成。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/c4pt0r/mcp-server-tidb
    cd mcp-server-tidb
  2. 安装依赖: 使用 'uv' 创建虚拟环境并安装项目依赖。

    uv venv
    uv pip install -e .

服务器配置

要将此 MCP 服务器配置到 MCP 客户端(例如 Claude Desktop),您需要提供服务器的启动命令和参数。以下是 'claude_desktop_config.json' 的配置示例:

{
  "mcpServers": {
      "tidb": {
          "command": "uv",
          "args": [
              "--directory",
              "/path/to/mcp-server-tidb",
              "run",
              "src/main.py"
          ]
      }
  }
}

配置参数说明:

  • '"tidb"': 服务器名称,您可以自定义。
  • '"command": "uv"': 指定使用 'uv' 命令来运行服务器。
  • '"args"': 启动参数列表:
    • '"--directory"': 指定工作目录为仓库根目录 '/path/to/mcp-server-tidb',请替换为实际路径。
    • '"run"': 'uv run' 子命令用于运行 Python 脚本。
    • '"src/main.py"': 指定服务器主程序入口为 'src/main.py'。

数据库连接配置:

在运行服务器之前,您需要配置 TiDB Serverless 数据库的连接信息。可以通过以下两种方式配置:

  • 环境变量: 设置以下环境变量:

    • 'TIDB_HOST': TiDB 主机地址 (例如: 'gateway01.us-east-1.prod.aws.tidbcloud.com')
    • 'TIDB_PORT': TiDB 端口 (默认为 '4000')
    • 'TIDB_USERNAME': 数据库用户名 (例如: 'xxxxxxxxxx.<username>')
    • 'TIDB_PASSWORD': 数据库密码
    • 'TIDB_DATABASE': 数据库名称 (默认为 'test')
  • .env 文件: 在项目根目录下创建 '.env' 文件,并将上述环境变量写入文件,例如:

    TIDB_HOST=gateway01.us-east-1.prod.aws.tidbcloud.com
    TIDB_PORT=4000
    TIDB_USERNAME=xxxxxxxxxx.<username>
    TIDB_PASSWORD=your_tidb_password
    TIDB_DATABASE=test

    注意: 推荐使用 '.env' 文件管理敏感信息。

基本使用方法

  1. 启动 MCP 服务器: 配置好 'claude_desktop_config.json' 和数据库连接信息后,启动您的 MCP 客户端 (例如 Claude Desktop)。客户端会自动根据配置启动 'mcp-server-tidb' 服务器。

  2. 通过 LLM 客户端与 TiDB 交互: 在 LLM 客户端中,您可以指示 LLM 使用已注册的工具来访问和操作 TiDB 数据库。例如,您可以让 LLM 执行 SQL 查询、查看表结构或管理数据库用户等操作。

    具体的工具调用方式取决于您使用的 LLM 客户端的功能和界面。通常,LLM 客户端会提供某种方式来选择和调用 MCP 服务器提供的工具。

信息

分类

数据库与文件