返回市场
优图克-mcp

优图克-mcp

作者:tonyzorin72 星标更新:2025-07-28

项目介绍

YouTrack MCP

一个提供访问YouTrack功能的模型上下文协议(MCP)服务器。

🚀 快速参考 - 常用操作

🎯 状态转换(最常用)

# ✅ 已验证工作格式 - 使用简单字符串
update_issue_state("DEMO-123", "进行中")
update_issue_state("PROJECT-456", "已修复")
update_issue_state("TASK-789", "关闭")

# ❌ 不要使用 - 复杂对象会失败
# update_custom_fields(issue_id, {"State": {"name": "进行中"}})  # 失败
# update_custom_fields(issue_id, {"State": {"id": "154-2"}})         # 失败

🚨 优先级更新(非常常用)

# ✅ 已验证工作格式 - 使用简单字符串
update_issue_priority("DEMO-123", "关键")
update_issue_priority("PROJECT-456", "主要") 
update_issue_priority("TASK-789", "普通")

# ❌ 不要使用 - 复杂对象会失败
# update_custom_fields(issue_id, {"Priority": {"name": "关键"}})  # 失败
# update_custom_fields(issue_id, {"Priority": {"id": "1152-1"}})       # 失败

👤 分配更新(常用)

# ✅ 已验证工作格式 - 使用登录名
update_issue_assignee("DEMO-123", "admin")
update_issue_assignee("PROJECT-456", "john.doe")
update_issue_assignee("TASK-789", "jane.smith")

# ❌ 不要使用 - 复杂对象会失败
# update_custom_fields(issue_id, {"Assignee": {"login": "admin"}})    # 失败

🏷️ 类型更新(常用)

# ✅ 已验证工作格式 - 使用简单字符串
update_issue_type("DEMO-123", "错误")
update_issue_type("PROJECT-456", "特性")
update_issue_type("TASK-789", "任务")

# ❌ 不要使用 - 复杂对象会失败
# update_custom_fields(issue_id, {"Type": {"name": "错误"}})          # 失败

⏱️ 时间估算(常用)

# ✅ 已验证工作格式 - 使用简单时间字符串
update_issue_estimation("DEMO-123", "4h")     # 4小时
update_issue_estimation("PROJECT-456", "2d")  # 2天
update_issue_estimation("TASK-789", "30m")    # 30分钟
update_issue_estimation("TASK-790", "1w")     # 1周
update_issue_estimation("TASK-791", "3d 5h")  # 3天5小时

# ❌ 不要使用 - ISO持续时间或复杂格式会失败
# update_custom_fields(issue_id, {"Estimation": "PT4H"})             # 失败

⚡ 完整问题工作流程

# 🎯 完成分类工作流程
update_issue_type("DEMO-123", "错误")           # 分类为错误
update_issue_priority("DEMO-123", "关键")  # 设置优先级  
update_issue_assignee("DEMO-123", "admin")     # 分配给管理员
update_issue_estimation("DEMO-123", "4h")      # 估计4小时
update_issue_state("DEMO-123", "进行中")  # 开始工作
add_comment("DEMO-123", "关键错误已分类并分配")

# 🚀 特性开发工作流程  
update_issue_type("PROJ-456", "特性")       # 分类为特性
update_issue_priority("PROJ-456", "普通")    # 标准优先级
update_issue_assignee("PROJ-456", "jane.doe")  # 分配给开发者
update_issue_estimation("PROJ-456", "2d")      # 估计2天
add_comment("PROJ-456", "特性准备开发")

# ✅ 任务完成工作流程
update_issue_state("TASK-789", "已修复")        # 标记为已修复
add_comment("TASK-789", "实现已完成并测试")

# 📊 快速更新(最常用)
update_issue_state("DEMO-123", "进行中")       # 开始工作
update_issue_priority("DEMO-123", "关键")       # 升级
update_issue_assignee("DEMO-123", "admin")          # 重新分配
update_issue_type("DEMO-123", "错误")                # 重新分类
update_issue_estimation("DEMO-123", "6h")           # 重新估算

📝 其他自定义字段

# ✅ 不同字段类型的可用格式:

# 优先级(枚举字段)
update_custom_fields("DEMO-123", {"Priority": "关键"})

# 分配者(用户字段) 
update_custom_fields("DEMO-123", {"Assignee": "admin"})

# 估算(周期字段)
update_custom_fields("DEMO-123", {"Estimation": "4h"})

# 类型(枚举字段)
update_custom_fields("DEMO-123", {"Type": "错误"})

# 同时更新多个字段
update_custom_fields("DEMO-123", {
    "Priority": "关键",
    "Assignee": "admin", 
    "Type": "错误"
})

🔍 查找问题

# 按文本搜索
search_issues("登录中的错误")

# 按项目搜索
get_project_issues("DEMO")

# 获取特定问题
get_issue("DEMO-123")

📋 创建问题

create_issue(
    project_id="DEMO",
    summary="登录系统中的错误",
    description="用户无法使用特殊字符登录"
)

🔗 链接问题

# 创建依赖关系
add_dependency("DEMO-123", "DEMO-124")

# 创建相关链接
add_relates_link("DEMO-123", "DEMO-125")

💬 评论

add_comment("DEMO-123", "已修复登录错误")
get_issue_comments("DEMO-123")

安装

Docker 构建和推送

此项目提供了一个用于YouTrack的模型上下文协议(MCP)服务器,实现了与Claude Desktop和其他MCP客户端的无缝集成。

快速开始

使用Docker(推荐)

选择多个注册表之一:

Docker Hub(主要)

# 使用最新的稳定版本
docker run --rm \
  -e YOUTRACK_URL="https://your-instance.youtrack.cloud" \
  -e YOUTRACK_API_TOKEN="your-token" \
  tonyzorin/youtrack-mcp:latest

# 或使用最新的开发构建
docker run --rm \
  -e YOUTRACK_URL="https://your-instance.youtrack.cloud" \
  -e YOUTRACK_API_TOKEN="your-token" \
  tonyzorin/youtrack-mcp:1.1.2_wip

GitHub Container Registry(新)

# 使用最新的稳定版本
docker run --rm \
  -e YOUTRACK_URL="https://your-instance.youtrack.cloud" \
  -e YOUTRACK_API_TOKEN="your-token" \
  ghcr.io/tonyzorin/youtrack-mcp:latest

# 或使用最新的开发构建
docker run --rm \
  -e YOUTRACK_URL="https://your-instance.youtrack.cloud" \
  -e YOUTRACK_API_TOKEN="your-token" \
  ghcr.io/tonyzorin/youtrack-mcp:1.1.2_wip

可用的Docker标签

两个注册表提供了相同的标签:

  • latest - 最新的稳定版本(当前为1.1.2)
  • 1.1.2 - 特定版本标签
  • 1.1.2_wip - 主分支的工作进行中构建
  • pr-<number> - 测试用的拉取请求构建

注意:镜像现在同时发布到Docker Hub和GitHub Container Registry。

使用npm包

选择多个注册表之一:

npmjs.org(主要)

# 全局安装
npm install -g youtrack-mcp-tonyzorin

# 或使用npx(无需安装)
npx youtrack-mcp-tonyzorin

GitHub Packages(新)

# 配置GitHub注册表
npm config set @tonyzorin:registry https://npm.pkg.github.com

# 全局安装
npm install -g @tonyzorin/youtrack-mcp

# 或使用npx
npx @tonyzorin/youtrack-mcp

功能

  • 问题管理:创建、读取、更新和删除YouTrack问题
  • 项目管理:访问项目信息和自定义字段
  • 搜索能力:带有过滤器和自定义字段的高级搜索
  • 用户管理:检索用户信息和权限
  • 附件支持:下载和处理问题附件(最多10MB)
  • 多平台支持:ARM64/Apple Silicon和AMD64架构支持
  • 全面API:完整的YouTrack REST API集成

开发

该项目通过全面测试维持高质量代码:

  • 测试覆盖率:41%(持续改进)
  • CI/CD管道:自动测试和Docker构建
  • 质量保证:每次提交的自动化测试

有关开发说明,请参阅自动化脚本指南发布过程

配置

环境变量

  • YOUTRACK_URL:您的YouTrack实例URL
  • YOUTRACK_API_TOKEN:您的YouTrack API令牌
  • YOUTRACK_VERIFY_SSL:SSL验证(默认:true)

示例配置

export YOUTRACK_URL="https://prodcamp.youtrack.cloud/"
export YOUTRACK_API_TOKEN="perm-YWRtaW4=.NDMtMg==.JgbpvnDbEu7RSWwAJT6Ab3iXgQyPwu"
export YOUTRACK_VERIFY_SSL="true"

文档

支持

对于问题和疑问:

  1. 查看问题页面
  2. 查阅文档
  3. 提交包含详细信息的新问题
  4. 直接联系:t.me/tonyzorin

最新更新:全面的自定义字段管理,测试覆盖率达到567,并且项目组织清晰。

版本1.11.1发布

🎉 重大功能 - 自定义字段管理支持

  • ✅ 完整的自定义字段CRUD操作(创建、读取、更新、删除)
  • ✅ 字段验证针对项目模式(所有字段类型均受支持)
  • ✅ 批量更新功能以提高性能
  • ✅ 详细的错误处理
  • ✅ 567个测试(+68个新测试),广泛的覆盖范围
  • ✅ 清晰的项目组织,带有automations/目录