使用说明

项目简介

TiAssistant 是一个旨在提升 TiDB 开发者效率的工具,通过 Model Context Protocol (MCP) 架构提供访问 Pull Request 信息和知识库问答的能力。本仓库包含 'tidb-pr-mcp' 和 'knowledge-base-mcp' 两个 MCP 服务,以及一个 Lark Bot MCP 客户端示例。

主要功能点

  • tidb-pr-mcp (TiDB PR 分析 MCP 服务):
    • 提供工具查询 TiDB 代码仓库的 Pull Requests 信息。
    • 功能包括获取 PR 状态 (open, closed, merged)、PR 标签、PR 详细信息(作者、提交、变更文件等)、以及 PR 评审人信息。
  • knowledge-base-mcp (知识库问答 MCP 服务):
    • 提供工具基于 Markdown 知识库进行问答。
    • 利用 TiDB Vector 向量数据库和 Embedding 模型,实现对知识库文档的语义搜索和检索。

安装步骤

这两个 MCP 服务都是使用 Python 开发的,需要 Python 3.7 或更高版本环境。

  1. 克隆仓库

    git clone https://github.com/wuhuizuo/caffeine-overflow.git
    cd caffeine-overflow
  2. 进入服务目录: 选择需要运行的 MCP 服务目录,例如 'tidb-pr-mcp' 或 'knowledge-base-mcp'。

    cd tidb-pr-mcp  # 或 cd knowledge-base-mcp
  3. 创建并激活虚拟环境 (可选但推荐)

    python3 -m venv venv
    source venv/bin/activate  # Linux/macOS
    # venv\Scripts\activate  # Windows
  4. 安装依赖

    pip install -r requirements.txt

服务器配置

MCP 服务器需要配置后才能被 MCP 客户端调用。以下是 'tidb-pr-mcp' 和 'knowledge-base-mcp' 服务的 MCP 客户端配置信息示例。

tidb-pr-mcp 配置

{
  "serverName": "github_pr_analyzer",
  "command": "python",
  "args": ["src/main.py"]
}
  • 'serverName': MCP 服务名称,用于客户端识别,设置为 'github_pr_analyzer'。
  • 'command': 启动 MCP 服务的命令,这里使用 'python' 解释器。
  • 'args': 启动命令的参数,指定 'src/main.py' 为服务入口文件。

环境变量

  • 'GITHUB_TOKEN' (可选): GitHub API 访问令牌,用于提高 API 请求频率限制。

knowledge-base-mcp 配置

{
  "serverName": "knowledge_assistant",
  "command": "python",
  "args": ["src/main.py"]
}
  • 'serverName': MCP 服务名称,设置为 'knowledge_assistant'。
  • 'command': 启动命令,使用 'python' 解释器。
  • 'args': 服务入口文件 'src/main.py'。

环境变量

  • 'TIDB_VECTOR_CONNECTION_STRING' (必填): TiDB Vector 数据库连接字符串,用于知识库文档存储和检索。
  • 'OPENAI_API_KEY' 或 'GOOGLE_API_KEY' (必填): 用于 Embedding 模型的 API Key,选择 OpenAI 或 Google 之一配置。

基本使用方法

  1. 启动 MCP 服务器: 在 'tidb-pr-mcp' 或 'knowledge-base-mcp' 目录下,根据需要设置环境变量,然后运行相应的启动命令:

    # 启动 tidb-pr-mcp
    # export GITHUB_TOKEN=your_github_token  # 可选
    python src/main.py
    
    # 启动 knowledge-base-mcp
    # export TIDB_VECTOR_CONNECTION_STRING=your_tidb_vector_connection_string
    # export OPENAI_API_KEY=your_openai_api_key  # 或 export GOOGLE_API_KEY=your_google_api_key
    python src/main.py
  2. 配置 MCP 客户端: 在支持 MCP 协议的客户端(如 Cursor, Chatwise, Cherry Studio)中,添加新的 MCP 服务器配置,填入上述 JSON 配置信息。确保客户端能连接到运行中的 MCP 服务器。

  3. 使用 MCP 工具: 配置成功后,在 MCP 客户端中即可调用 MCP 服务器提供的工具。

    • 'tidb-pr-mcp' 提供了 'get_pr_status(pr_number)', 'get_pr_labels(pr_number)', 'get_pr_details(pr_number)', 'get_pr_reviewers(pr_number)' 等工具,用于查询 PR 信息。
    • 'knowledge-base-mcp' 提供了 'query_docs(query, max_results, distance_threshold)' 工具,用于在知识库中检索相关文档。

信息

分类

开发者工具