使用说明

项目简介

MCP YouTrack Server 是一个基于 Model Context Protocol (MCP) 构建的服务器应用,它充当 LLM 客户端和 YouTrack 议题跟踪系统之间的桥梁。该服务器将 YouTrack 的功能封装成标准化的 MCP 工具,使得 LLM 能够方便地获取 YouTrack 中的上下文信息并执行相关操作,例如查询议题、查看详情、添加评论和更新字段等。

主要功能点

  • 议题查询: 允许 LLM 根据 YouTrack 查询语法检索议题。
  • 议题详情: 获取指定议题的完整信息,包括自定义字段、评论等。
  • 评论管理: 支持 LLM 为 YouTrack 议题添加评论。
  • 字段更新: 允许 LLM 更新 YouTrack 议题的指定字段值。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/RageAgainstTheMachine101/mcp-youtrack.git
    cd mcp-youtrack
  2. 安装依赖:

    uv lock
  3. 配置环境变量: 创建 '.env' 文件,并填入您的 YouTrack 实例 URL 和永久令牌:

    echo "YOUTRACK_URL=https://your-youtrack-instance.com" > .env
    echo "YOUTRACK_TOKEN=your-permanent-token" >> .env

    请确保您已在 YouTrack 中创建永久令牌,并替换 'YOUTRACK_URL' 和 'YOUTRACK_TOKEN' 为您的实际值。

  4. 运行服务器:

    uv run mcp-youtrack

    服务器成功启动后,将等待 MCP 客户端的连接。

服务器配置

要将 MCP YouTrack Server 配置为 MCP 客户端可连接的服务器,您需要在 MCP 客户端的配置文件(例如 'mcp_config.json')中添加以下服务器描述信息。以下配置示例适用于 Windsurf 等 MCP 客户端:

{
  "mcpServers": {
    "mcp-youtrack": {
      "command": "{PATH_TO_MCP_YOUTRACK}/mcp-youtrack/.venv/bin/mcp-youtrack",
      "args": [
        "run",
        "--with",
        "mcp-youtrack",
        "--python",
        "3.13",
        "mcp-youtrack"
      ],
      "serverName": "mcp-youtrack"
    }
  }
}

配置参数说明:

  • serverName: MCP 服务器的名称,客户端通过此名称引用服务器,此处应为 '"mcp-youtrack"'。
  • command: 启动 MCP YouTrack Server 的命令。'{PATH_TO_MCP_YOUTRACK}' 需要替换为 'mcp-youtrack' 仓库在您本地文件系统中的绝对路径。 '.venv/bin/mcp-youtrack' 是虚拟环境中 'mcp-youtrack' 的可执行文件路径。
  • args: 传递给启动命令的参数。
    • '"run"': 指定运行模式。
    • '"--with"', '"mcp-youtrack"': 指定运行的应用或模块为 'mcp-youtrack'。
    • '"--python"', '"3.13"': 指定使用的 Python 版本为 3.13。
    • '"mcp-youtrack"': 再次指定运行 'mcp-youtrack' 模块。

请根据您的实际环境调整 '{PATH_TO_MCP_YOUTRACK}' 和 Python 路径。

基本使用方法

您可以使用仓库提供的交互式客户端来测试 MCP YouTrack Server 的功能。

  1. 安装开发依赖 (如果尚未安装):

    uv pip install -e ".[dev]"
  2. 运行交互式客户端:

    uv run ./interactive_client.py

    或使用直接模式 (Direct Mode) 运行:

    uv run ./interactive_client.py --direct
  3. 使用命令与 YouTrack 交互: 在交互式客户端中,您可以输入命令来查询和操作 YouTrack 议题。例如:

    • 'issues project: DEMO #Unresolved': 查询 DEMO 项目中未解决的议题。
    • 'issue DEMO-123': 获取 ID 为 DEMO-123 的议题详情。
    • 'comment DEMO-123 "这是一条测试评论"': 为 DEMO-123 议题添加评论。
    • 'help': 查看所有可用命令和帮助信息。
    • 'quit': 退出交互式客户端。

    根据提示操作,您可以测试服务器的各项功能,验证其与 YouTrack 的集成是否成功。

信息

分类

开发者工具