ya追踪器mcp
MCP服务器 Yandex跟踪器 API提供146个工具,用于通过 模型上下文协议.
建于 FastMCP 和 YaTrackerApi.
快速开始
克劳德代码
claude mcp add ya-tracker \
-e YA_TRACKER_TOKEN=your-oauth-token \
-e YA_TRACKER_ORG_ID=your-org-id \
-- uvx ya-tracker-mcp
克劳德桌面版
添加 claude_desktop_config.json:
{
"mcpServers": {
"ya-tracker": {
"command": "uvx",
"args": ["ya-tracker-mcp"],
"env": {
"YA_TRACKER_TOKEN": "your-oauth-token",
"YA_TRACKER_ORG_ID": "your-org-id"
}
}
}
}
光标/风帆
添加到MCP设置:
{
"ya-tracker": {
"command": "uvx",
"args": ["ya-tracker-mcp"],
"env": {
"YA_TRACKER_TOKEN": "your-oauth-token",
"YA_TRACKER_ORG_ID": "your-org-id"
}
}
}
认证
您需要OAuth令牌和组织ID:
- OAuth令牌 -得到在 oauth.yandex.ru 具有跟踪器访问权限
- 组织ID -在Tracker管理设置中或通过API找到
GET /v3/myself
工具(146)
问题(7)
| 工具 | 说明 |
|---|
create_issue | 创建问题(支持 fields 作为回应) |
get_issue | 获取问题详细信息(支持 fields 和 ["all"]) |
update_issue | 更新问题字段(支持 fields 作为回应) |
search_issues | 使用查询语言或筛选器进行搜索(支持 fields) |
count_issues | 统计匹配问题 |
move_issue | 移动到另一个队列(支持 fields 作为回应) |
issue_changelog | 获取问题更改历史记录(按字段筛选) |
评论(4)
| 工具 | 说明 |
|---|
add_comment | 添加评论(支持 fields) |
list_comments | 列出问题注释(支持 fields) |
update_comment | 更新评论文本(支持 fields) |
delete_comment | 删除评论 |
状态转换(2)
| 工具 | 说明 |
|---|
list_transitions | 列出可用转换 |
transition_issue | 执行状态转换 |
链接(3)
| 工具 | 说明 |
|---|
link_issues | 创建链接(关联、依赖、子任务、史诗……) |
list_links | 列出问题链接 |
delete_link | 删除链接 |
实体-项目/投资组合/目标(23)
| 工具 | 说明 |
|---|
create_entity | 创建项目、投资组合或目标(支持 fields) |
get_entity | 获取带有字段的实体(支持 ["all"]) |
update_entity | 更新实体(支持 fields) |
delete_entity | 删除实体 |
search_entities | 搜索实体(支持 fields) |
entity_changelog | 获取实体更改历史记录 |
update_key_results | 更新目标关键成果 |
update_entity_metrics | 更新实体指标 |
list_entity_comments | 列出实体注释(支持 fields) |
add_entity_comment | 向实体添加注释 |
update_entity_comment | 更新实体注释 |
delete_entity_comment | 删除实体注释 |
list_entity_links | 列出实体链接 |
create_entity_link | 在实体之间创建链接 |
delete_entity_link | 删除实体链接 |
list_entity_attachments | 列出实体附件 |
delete_entity_attachment | 删除实体附件 |
add_entity_checklist_item | 将检查表项添加到实体 |
update_entity_checklist_item | 更新实体检查表项 |
delete_entity_checklist_item | 删除实体检查表项 |
bulk_update_entities | 批量更新实体 |
get_entity_settings | 获取实体访问设置 |
update_entity_settings | 更新实体访问设置 |
滑板与短跑(12)
| 工具 | 说明 |
|---|
list_boards | 所有板(缓存,支持 fields) |
get_board | 董事会详细信息 |
create_board | 创建板(使缓存无效) |
update_board | 更新电路板设置(使缓存无效) |
delete_board | 删除电路板(使缓存无效) |
list_board_columns | 带有状态的板列 |
create_board_column | 创建列 |
update_board_column | 更新列 |
delete_board_column | 删除列 |
list_sprints | 板冲刺(缓存,支持 fields) |
get_sprint | Sprint详细信息 |
create_sprint | 创建sprint(使缓存无效) |
工作日志(5)
| 工具 | 说明 |
|---|
add_worklog | 日志时间(支持 fields) |
list_worklog | 列出工作日志条目(支持 fields) |
update_worklog | 更新条目(支持 fields) |
delete_worklog | 删除条目 |
search_worklog | 搜索工作日志条目(支持 fields) |
检查表(5)
| 工具 | 说明 |
|---|
list_checklist | 列出检查表项目 |
add_checklist_item | 添加项目 |
update_checklist_item | 更新项目(文本、已勾选、受让人) |
delete_checklist_item | 删除项目 |
delete_checklist | 删除整个检查表 |
附件(2)
| 工具 | 说明 |
|---|
list_attachments | 列出附件 |
delete_attachment | 删除附件 |
排队(10)
| 工具 | 说明 |
|---|
list_queues | 所有队列(缓存,支持 fields) |
get_queue | 队列详细信息(展开:组件、版本) |
create_queue | 创建队列(使缓存无效) |
delete_queue | 删除队列(使缓存无效) |
restore_queue | 还原已删除的队列(使缓存无效) |
list_queue_versions | 列出队列版本 |
create_queue_version | 创建版本 |
delete_queue_tag | 删除队列标记(使缓存无效) |
get_queue_user_permissions | 获取队列的用户权限 |
update_queue_permissions | 更新队列访问权限 |
用户(3)
| 工具 | 说明 |
|---|
get_myself | 当前用户信息 |
get_user | 获取特定用户信息 |
list_users | 组织用户(缓存,支持 fields) |
缓存管理(4)
| 工具 | 说明 |
|---|
get_cache_status | 显示目录缓存的状态(TTL、上次更新、记录计数) |
sync_directory | 从API手动同步特定目录(支持范围) |
sync_all_directories | 强制同步API中的所有基本目录 |
configure_cache | 为特定目录缓存配置TTL |
通用参数: 大多数 list_*, get_* 和 search_* 工具(问题、实体、队列、组件、电路板、精灵、用户、字段)现在支持: - fields: list[str] --要显示的其他字段。使用 ["all"] 查看API中可用的每个字段。 - output_format: str --响应格式: "text" (默认,降价)或 "json" (用于编程的结构化数据)。 - full_description: bool --设置为 true 返回完整描述而不截断(默认值: false,截断为1000个字符)。 - use_cache: bool --(对于缓存的工具)设置为 False 绕过本地缓存并从Yandex Tracker获取新数据。
目录——参考数据(27)
| 工具 | 说明 |
|---|
list_issue_types | 所有问题类型(缓存) |
create_issue_type | 创建问题类型(使缓存无效) |
update_issue_type | 更新问题类型 |
list_statuses | 所有状态(缓存) |
create_status | 创建状态(使缓存无效) |
update_status | 更新状态 |
list_priorities | 所有优先级(缓存) |
create_priority | 创建优先级(使缓存无效) |
update_priority | 更新优先级 |
list_resolutions | 所有分辨率(缓存) |
create_resolution | 创建分辨率(使缓存无效) |
update_resolution | 更新分辨率 |
list_global_fields | 全局字段(缓存,支持 fields) |
get_field | 获取字段详细信息 |
create_field | 创建全局字段 |
update_field | 更新全局字段 |
list_queue_fields | 队列字段(缓存,支持 fields) |
get_local_field | 获取本地字段 |
create_local_field | 创建本地字段 |
update_local_field | 更新本地字段 |
list_queue_tags | 队列标签(缓存) |
list_components | 所有组件(缓存,支持 fields) |
get_component | 按ID获取组件详细信息(使用缓存) |
create_component | 创建组件(使缓存无效) |
update_component | 更新组件(使缓存无效) |
list_field_categories | 列出字段类别(缓存) |
create_field_category | 创建字段类别(双语名称) |
update_field_category | 更新字段类别 |
自动化(15)
| 工具 | 说明 |
|---|
list_macros | 列出队列宏 |
get_macro | 获取宏详细信息 |
create_macro | 创建宏 |
update_macro | 更新宏 |
delete_macro | 删除宏 |
list_triggers | 列表队列触发器 |
get_trigger | 获取触发器详细信息 |
create_trigger | 创建触发器 |
update_trigger | 更新触发器 |
get_trigger_logs | 获取触发器执行日志 |
list_autoactions | 列出队列自动操作 |
get_autoaction | 获取自动操作详细信息 |
create_autoaction | 创建自动操作 |
get_autoaction_logs | 获取自动操作执行日志 |
批量操作(5)
| 工具 | 说明 |
|---|
bulk_update | 更新多个问题 |
bulk_move | 将问题移至队列 |
bulk_transition | 过渡多个问题 |
get_bulk_status | 检查运行状态 |
get_bulk_failed_issues | 从批量操作中获取失败问题 |
批量阅读(1)
并行扇出用于读取操作——一个工具调用而不是N,默认情况下输出紧凑。
| 工具 | 说明 |
|---|
bulk_list_links | 并行获取多个问题的链接(按类型过滤、紧凑格式、可配置并发性) |
进口(4)
| 工具 | 说明 |
|---|
import_issue | 导入原始日期/作者 |
import_comment | 导入评论 |
import_link | 导入链接 |
import_file | 导入文件附件 |
过滤器(3)
| 工具 | 说明 |
|---|
create_filter | 创建已保存的筛选器 |
get_filter | 获取过滤器详细信息 |
update_filter | 更新筛选器 |
仪表板(2)
| 工具 | 说明 |
|---|
create_dashboard | 创建仪表板 |
create_cycle_time_widget | 创建循环时间小部件 |
外部链接(4)
| 工具 | 说明 |
|---|
list_external_applications | 列出已注册的外部应用程序 |
list_external_links | 列出有关问题的外部链接 |
create_external_link | 创建外部链接 |
delete_external_link | 删除外部链接 |
概览(2)
| 工具 | 说明 |
|---|
issue_overview | 完整的问题摘要(状态、链接、评论、检查表、工作日志) |
queue_overview | 队列摘要(开放计数、最高优先级问题) |
预设(5)
| 工具 | 说明 |
|---|
list_presets | 可用的任务预设 |
get_preset | 预设详细信息(参数、模板、规则) |
create_from_preset | 从预设创建问题(支持覆盖和extra_fields) |
add_preset | 在运行时添加或更新预设(params支持所有create_issue字段) |
remove_preset | 删除预设 |
团队目录(3)
| 工具 | 说明 |
|---|
list_team | 团队成员 |
get_team_member | 会员详细信息(区域、队列) |
find_assignee | 按区域/队列查找受让人 |
资源(7)
| 资源 | 描述 |
|---|
tracker://query-language | 查询语言语法 |
tracker://yfm-syntax | YFM标记参考 |
tracker://link-types | 问题链接类型 |
tracker://entity-statuses | 实体状态值 |
tracker://field-types | 具有Java路径的字段类型 |
tracker://api-errors | API错误代码 |
tracker://tips | 提示和注意事项(本地字段、批量操作、查询技巧) |
提示(4)
| 提示 | 描述 |
|---|
my_tasks | 显示具有优先级的活动任务 |
create_task_wizard | 逐步创建任务 |
issue_decomposition | 将问题分解为子任务 |
overdue_report | 逾期任务报告 |
配置
任务预设
在中定义预设 ~/.cache/ya-tracker-mcp/presets.yaml 或在运行时使用 add_preset / remove_preset. params 部分支持以下所有字段 create_issue (类型、优先级、受让人、标签、组件、冲刺、父级、项目、追随者、截止日期、故事点、原始估计、额外字段):
presets:
bug_report:
name: "Bug report"
description: "Bug with reproduction steps"
params:
type: "bug"
priority: "critical"
tags: ["bug", "regression"]
components: ["API"]
description_template: |
## Steps to reproduce
{input.steps}
## Expected
{input.expected}
## Actual
{input.actual}
rules:
- "Always include reproduction steps"
团队目录
编辑 ~/.cache/ya-tracker-mcp/team.yaml 启用智能受让人建议:
team:
- login: "user3370"
name: "Ivan Ivanov"
role: "Backend developer"
areas: ["API", "auth", "databases"]
queues: ["DEV"]
notes: "Tech lead"
查询语言示例
# My open tasks
Assignee: me() Resolution: empty()
# Critical bugs
Type: bug Priority: Critical, Blocker Resolution: empty()
# Overdue tasks
Deadline: today()-1w Queue: DEV
# Tasks in sprint
Sprint: "Sprint 24" Resolution: empty()
发展
git clone https://github.com/keemor/ya-tracker-mcp.git
cd ya-tracker-mcp
uv sync
# Run locally
YA_TRACKER_TOKEN=... YA_TRACKER_ORG_ID=... uv run ya-tracker-mcp
许可证
麻省理工学院