项目简介

YouTrack MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端应用,旨在为 LLM (大型语言模型) 客户端提供与 JetBrains YouTrack 项目管理和问题跟踪系统集成的桥梁。通过此服务器,LLM 应用能够以标准化的方式访问和操作 YouTrack 中的 issue 数据,实现更智能的任务管理和工作流程自动化。

主要功能点

  • 问题搜索: 允许 LLM 客户端根据关键词或 YouTrack 查询语法搜索 issue。
  • 问题详情: 获取指定 issue 的详细信息,包括 summary, description, 状态, 指派人, 自定义字段等。
  • 问题更新: 支持 LLM 客户端更新 issue 的各种字段,例如状态、指派人、优先级等。
  • 添加评论: 允许 LLM 客户端向 YouTrack issue 添加评论,方便协作和信息记录。
  • 服务器信息: 提供服务器自身的状态和版本信息,方便客户端监控和管理。

安装步骤

  1. 克隆仓库: 将 GitHub 仓库 'youtrack_mcp' 克隆到本地。

    git clone https://github.com/av-frox/youtrack_mcp.git
    cd youtrack_mcp
  2. 安装依赖: 使用 pip 安装项目依赖。

    pip install -r requirements.txt
  3. 配置 YouTrack 连接:

    • 创建 '.env' 文件在项目根目录下,并填入 YouTrack 实例 URL 和 API Token。
      YOUTRACK_URL=https://your-instance.youtrack.cloud
      YOUTRACK_TOKEN=your-permanent-token
      MCP_SERVER_NAME=YouTrack MCP Server
      MCP_LOG_LEVEL=INFO
    • 或者,您也可以在启动服务器时通过命令行参数指定这些配置。

服务器配置

对于 MCP 客户端,需要配置连接到 YouTrack MCP 服务器的命令和参数。以下是基于仓库信息生成的配置示例 (JSON 格式):

{
  "server_name": "YouTrack MCP Server",
  "command": "python",
  "args": [
    "server.py"
  ],
  "description": "连接到 YouTrack 的 MCP 服务器",
  "capabilities": [
    "tools",
    "resources"
  ]
}

参数注释:

  • 'server_name': 服务器名称,可以自定义,用于在 MCP 客户端中识别和管理服务器。
  • 'command': 启动服务器的命令,这里是 'python',假设您的 Python 环境已配置好。
  • 'args': 传递给 'python' 命令的参数,'server.py' 是服务器主程序文件名。
  • 'description': 服务器的描述信息,方便用户理解服务器的用途。
  • 'capabilities': 声明服务器提供的 MCP 功能,包括 'tools' (工具) 和 'resources' (资源)。

注意:

  • 请确保您的 MCP 客户端能够执行 'python' 命令,并且 'server.py' 文件路径相对于客户端的执行环境是正确的。
  • 如果您选择通过命令行参数配置 YouTrack 连接信息,请将相应的参数添加到 'args' 数组中,例如 '--youtrack-url' 和 '--youtrack-token'。

基本使用方法

  1. 启动服务器: 在项目根目录下运行以下命令启动 YouTrack MCP 服务器。

    python server.py
  2. 配置 MCP 客户端: 在您的 MCP 客户端 (如 Claude Desktop) 中,添加并激活上述配置的 YouTrack MCP 服务器。

  3. 使用 LLM 客户端: 在 LLM 应用中,通过 MCP 协议调用服务器提供的工具 (Tools) 和资源 (Resources) 来与 YouTrack 进行交互。例如,可以使用 'youtrack_search_issues' 工具搜索 issue,或使用 'youtrack_get_issue' 工具获取 issue 详情。

    工具调用示例 (JSON 格式):

    {
      "type": "tool_call",
      "name": "youtrack_search_issues",
      "parameters": {
        "query": "project: YourProject",
        "top": 10
      }
    }

    资源请求示例 (JSON 格式):

    {
      "type": "resource_request",
      "uri": "server://info"
    }

    请参考仓库的 README.md 和代码示例了解更多工具和资源的使用方法。

信息

分类

开发者工具