mcpField
Y
Yandex 360 (ycli)

Yandex 360 (ycli)

本地服务
github.com生产力53 周前更新

关于 Yandex 360 (ycli)

ycli 为需要通过命令行、Python 或 Agent 操作 Yandex 360 的用户提供 Tracker、Wiki、Forms 和 DataLens 接口。它将相同操作映射到 CLI、MCP 服务和类型化 Python SDK,并为 MCP 工具标注读写及破坏性行为。

主要功能

  1. 01覆盖 Tracker、Wiki、Forms 和 DataLens
  2. 02CLI 支持 JSON、YAML 等输出
  3. 03写操作支持 dry-run
  4. 04类型化 Python SDK
  5. 05MCP 工具标注读写与破坏性行为

适用场景

  1. 01通过脚本查询或更新 Tracker 工单
  2. 02在 MCP 客户端中读写 Wiki 页面
  3. 03以只读模式向 Agent 提供 Yandex 360 数据

MCP 相关

提供 MCP 服务,向客户端开放 Yandex 360 操作;可仅提供读取工具,也可按工具集限制开放范围。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"bim-ba-ycli": {
"command": "uvx",
"args": [
"yandex-cli"
],
"env": {
"YANDEX_ID_OAUTH_TOKEN": "<YANDEX_ID_OAUTH_TOKEN>",
"YANDEX_ID_ORGANIZATION_ID": "<YANDEX_ID_ORGANIZATION_ID>"
}
}
}
}
启动命令uvx yandex-cli
需要配置的环境变量
YANDEX_ID_OAUTH_TOKEN密钥Yandex OAuth token with Tracker, Wiki and Forms access.
YANDEX_ID_ORGANIZATION_IDYandex 360 organization id (sent as X-Org-Id).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiyandex-cli0.142.0
ocighcr.io/bim-ba/ycli:0.142.0

工具

458

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

ycli

面向个人和 Agent 的 Yandex 360。

通过命令行、MCP 服务和 Python 使用 Tracker、Wiki 和 Forms:一款工具,每种操作在各处使用同一个名称。

English · Русский

CI Coverage PyPI Python License Docs DeepWiki

ycli 使用演示
  • 适合编写脚本的命令行。 管道传输时输出 JSON,可直接用于 jq;每个写入操作都支持 --dry-run;每种故障都有对应的退出代码。
  • 值得 Agent 信赖的 MCP 服务。 每个工具都会说明自己是读取、写入还是销毁数据;可以仅提供读取功能,也可以提供一小组日常常用工具。
  • 带类型的 Python SDK。 每种响应都有 Pydantic 模型,并附带由测试套件运行的示例。
  • 谨慎处理你的数据。 删除操作会先询问确认,令牌只会发送到 Yandex 自有主机。

文档:ycli.savaznatnov.dev。

安装

uv tool install 'yandex-cli[mcp]'   # the ycli command, with the MCP server
uvx yandex-cli --help               # or run it once, without installing
pipx install 'yandex-cli[mcp]'      # or with pipx

命令是 ycli(也可使用 yandex-cli)。然后登录:ycli auth login(操作指南)。

编写 Python 代码?将 SDK 添加到你的项目中:uv add yandex-cli。

附加组件添加内容安装
mcpMCP 服务,ycli mcp startuv tool install 'yandex-cli[mcp]'
service-accountSDK 的 ServiceAccountAuth,用于 Yandex Cloud 服务账户密钥uv add 'yandex-cli[service-account]'
连接 AI 客户端

所有客户端都使用同一个 MCP 服务:uvx --from 'yandex-cli[mcp]' ycli mcp start,并使用相同的两个变量。

客户端最快捷的方式
Claude Code/plugin marketplace add bim-ba/ycli,然后运行 /plugin install yandex-360@ycli
Claude Desktop打开最新版本中的 .mcpb 捆绑包
Cursor一键安装
VS Code一键安装
Windsurf (Devin Desktop)配置文件
Zed配置文件
Codex配置文件
Gemini CLI配置文件
opencode配置文件
其他 MCP 客户端要复制的三个值

此外,还提供 Docker 镜像 ghcr.io/bim-ba/ycli(作为服务或纯命令行工具使用)、流水线,以及官方 MCP Registry条目 io.github.bim-ba/ycli。

遇到问题?请参阅无法正常工作时的处理方法。

使用方法

命令行
ycli tracker issues get TRACKER-1                  # a table at a terminal
ycli tracker issues get TRACKER-1 | jq .summary    # JSON when piped
ycli -o yaml wiki pages get onboarding             # or pick: -o json | yaml | pretty | csv | markdown | ndjson | name
ycli tracker boards delete 7 --dry-run             # print the request a write would send
ycli tracker boards delete 7 --yes                 # a delete asks first; --yes answers
ycli api issues/TRACKER-1 --service tracker        # an endpoint ycli does not wrap

更多信息:编写 CLI 脚本、调用未封装的端点,以及 CLI 参考。

MCP 服务
ycli mcp start                     # every tool, reads and writes
ycli mcp start --read-only         # reads only
ycli mcp start --toolsets core     # about 40 everyday tools, for a client that caps the count
ycli mcp methods --toolsets core   # list the tool names without starting the server

更多信息:运行 MCP 服务、面向团队的通过 HTTP 自托管,以及工具参考。

Python
from ycli.yandex.tracker.client import TrackerClient

tracker = TrackerClient(oauth_token="…", organization_id="…")
print(tracker.issues.get("TRACKER-1").summary)

更多信息:SDK 参考。

Claude Code 插件
/plugin marketplace add bim-ba/ycli
/plugin install yandex-360@ycli

它会添加 MCP 服务和五项技能(yandex-360、yandex-360-tracker、yandex-360-wiki、yandex-360-forms、yandex-360-datalens),帮助 Agent 了解命令和 API 的特性。源代码:plugins/yandex-360/。

配置

ycli auth login     # gets a token through Yandex ID, finds your organization, saves both to .env
ycli auth status    # whose token it is, and whether each service accepts it
ycli doctor         # something not working? every check in order, with the fix

首次运行 ycli auth login 时,需要使用你自己的 Yandex OAuth 应用:身份验证将引导你完成设置。ycli 会从环境变量或 .env 文件中读取两个变量:

YANDEX_ID_OAUTH_TOKEN=...        # a Yandex OAuth token with Tracker, Wiki and Forms access
YANDEX_ID_ORGANIZATION_ID=...    # your Yandex 360 organization id

超时、重试、限制、日志记录和退出代码详见配置参考。

覆盖范围

88 个资源中的 468 项操作:Tracker 190 项、Wiki 58 项、Forms 86 项、DataLens 134 项

ycli 封装了 Tracker、Wiki、Forms 和 DataLens API 中 88 个资源的 468 项操作。每项操作都可通过 Python SDK 和 CLI 调用,458 个 MCP 工具可将这些操作提供给 Agent(每项服务 456 个,另有 schema_get、status_get)。

图例。 CLI 或 MCP 中的 ✅ 表示可通过相应接口访问该资源;MCP 工具会提供准确的提示(读取操作使用 readOnlyHint,写入操作会说明其是否具有破坏性或幂等性),而 ycli mcp start --read-only 仅提供读取操作。资源和操作名称链接到官方 Yandex API 参考。每项操作相对于 Yandex 发布的内容有以下三种状态之一。已覆盖(无标记):ycli 会发送所有已发布参数并读取所有已发布字段。部分覆盖(◐):ycli 封装了该操作,但在某些方面存在差异;此标记链接到说明差异之处及原因的行。未覆盖(○):Yandex 已发布该操作,但 ycli 尚未封装;这些操作列在各服务下方。Wiki、Forms 和 DataLens 根据其 OpenAPI 文档进行评估;Tracker 未发布 OpenAPI 文档,因此其状态根据参考页面进行评估(包括操作,以及页面列出的查询参数)。DataLens 的封装工作正在进行中,按部分逐步完成:ycli 尚未开始处理的部分中的操作属于待处理,而非缺失。由代码通过 scripts/gen_coverage.py 生成;请勿手动编辑。

Tracker
34 个资源 · 190 项操作 · 187 个 MCP 工具

问题与工作项

ResourceOperationsCLIMCP
issuesget · search · count · create · update · move · suggest · scroll_clear · update_bulk · move_bulk · transition_bulk · import_✅✅
commentslist · get · create · update · delete · reactions_create · import_✅✅
linkslist · list_filtered · create · delete · import_✅✅
transitionslist · execute✅✅
workloglist · search · list_global · create · update · delete · import_✅✅
changeloglist✅✅
checklistslist · create · update · delete · clear✅✅
attachmentslist · download · thumbnails_download · get · delete · upload · upload_temp · import_ · import_for_comment✅✅
remotelinkslist · create · delete✅✅

Agile boards

ResourceOperationsCLIMCP
boardslist · get · create · update · delete✅✅
sprintslist · get · create · update · delete · start · archive✅✅
columnslist · get · create · update · delete✅✅

Dictionaries

ResourceOperationsCLIMCP
prioritieslist · create · update✅✅
statuseslist · create · update✅✅
resolutionslist · create · update✅✅
issuetypeslist · create · update✅✅
linktypeslist✅✅

Fields, queues & structure

ResourceOperationsCLIMCP
fieldslist · get · create · update · categories_create · categories_update✅✅
localfieldslist · get · create · update✅✅
componentslist · create · update · list_for_queue · get · delete · user_permissions_get · group_permissions_get✅✅
queueslist · get · tags_list · versions_list · fields_list · create · delete · restore · permissions_update · tags_delete · versions_create · versions_get · versions_update · versions_delete · user_permissions_get · group_permissions_get✅✅
workflowslist · get · list_for_queue · create · update · actions_update · delete✅✅
projectslist · get · queues_list · create · update · delete✅✅

Automation & bulk

ResourceOperationsCLIMCP
macroslist · get · create · update · delete✅✅
triggerslist · get · create · update · webhook_log_list✅✅
autoactionsget · create · logs_list · logs_get✅✅
dashboardscreate · widgets_create_cycle_time✅✅
bulkget · issues_list✅✅

Entities, users & search

ResourceOperationsCLIMCP
entitiescreate · get · update · delete · search · events_list · permissions_get · permissions_update · permissions_get_direct · permissions_update_direct · update_bulk · bulk_get · reports_create · comments_list · comments_list_relative · comments_get · comments_create · comments_update · comments_delete · checklists_create · checklists_update · checklists_items_update · checklists_delete · checklists_items_delete · checklists_move · links_list · links_create · links_delete · attachments_list · attachments_get · attachments_download · attachments_attach · attachments_delete✅✅
usersget · list✅✅
applicationslist✅✅
filtersget · create · update · delete✅✅
gapscreate · search · delete✅✅
meget✅✅

未覆盖(2)

  • ○ GET /boards:boards list 会读取分页接口 GET /boards/_paginate
  • ○ GET /users:users list 会读取分页接口 GET /users/_relative
Wiki
10 个资源 · 58 个操作 · 56 个 MCP 工具

页面

资源操作CLIMCP
页面按 ID 获取 · 获取 · 后代列表 · 按 ID 获取后代列表 · 网格列表 · 创建 · 更新 · 删除 · 追加 · 克隆 · 移动 · 修订版本列表 · 反向链接列表 · 搜索✅✅
资源列表✅✅
恢复恢复✅✅

协作

ResourceOperationsCLIMCP
commentslist · thread_list · thread_get · create · delete✅✅
attachmentslist · get · previews_download · download · download_by_url · delete · attach · upload✅✅
accesscreate · update · delete · clear✅✅

Grids (dynamic tables)

ResourceOperationsCLIMCP
gridsget · create · update · delete · rows_create · rows_delete · rows_move · columns_create · columns_delete · columns_move · cells_update · clone · columns_suggest · columns_update · rows_update✅✅

Async & uploads

ResourceOperationsCLIMCP
operationsclone_get · clone_inline_grid_get · move_get✅✅
uploadsessionscreate · get · parts_upload · finish · abort · abort_all✅✅

Identity

ResourceOperationsCLIMCP
meget✅✅
Forms
16 resources · 86 operations · 79 MCP tools

Surveys & questions

ResourceOperationsCLIMCP
surveyslist · get ◐ · create ◐ · update ◐ · delete · publish · unpublish✅✅
questionsget · list · create ◐ · update ◐ · delete ◐ · move✅✅
conditionsquestion_list · question_get · question_create · question_update · question_delete · question_update_operator · page_list · page_get · page_create · page_update · page_delete · page_update_operator · submit_list · submit_get · submit_create · submit_update · submit_delete · submit_update_operator · hook_list · hook_get · hook_create · hook_update · hook_delete · hook_update_operator✅✅
accesslist · update · grant · revoke✅✅
historylist✅✅

Responses & export

ResourceOperationsCLIMCP
answersget · list · columns_list · export · export_results_get · export_download · integrations_list · delete · restore✅✅
operationsget✅✅

Integrations

ResourceOperationsCLIMCP
hookslist · get · create · update · delete✅✅
subscriptionslist · get · create ◐ · update ◐ · delete · attach✅✅
variableslist✅✅
notificationslist · get · status_get · restart · cancel · errors_list✅✅

Distribution

ResourceOperationsCLIMCP
keysetslist · get · create · update · delete · download✅✅
fillingget · submit · suggest✅✅

Media

ResourceOperationsCLIMCP
filesupload · verify · download · delete✅✅
imagesupload · clone✅✅

Identity

ResourceOperationsCLIMCP
meget✅✅
DataLens
28 resources · 134 operations · 134 MCP tools

Organization

ResourceOperationsCLIMCP
tenantdetails_get✅✅
memberslist✅✅
licensinglicenses_list · licenses_assign · limit_get · limit_set✅✅

Collections & workbooks

ResourceOperationsCLIMCP
collectionsget · list_by_ids · content_list · breadcrumbs_list · permissions_get_root · access_bindings_list · create · update · move · move_bulk · delete · delete_bulk · access_bindings_update✅✅
workbooksget · list · list_by_ids · access_bindings_list · entries_list · create · update · move · move_bulk · delete · delete_bulk · access_bindings_update✅✅
workbookexportsstart · status_get · result_get · cancel✅✅
workbookimportsstart · status_get✅✅

Entries

ResourceOperationsCLIMCP
entrieslist · relations_list · permissions_get · revisions_list · rename✅✅
entrylockscreate · extend · delete✅✅
permissionsget_bulk✅✅
sharedentriesaccess_bindings_list · access_bindings_update✅✅
auditentries_updates_list · entry_permissions_get✅✅

Data

ResourceOperationsCLIMCP
connectionsget · create · update · delete✅✅
datasetsget · create · update · delete · validate · data_get✅✅

Charts, dashboards, reports & pages

ResourceOperationsCLIMCP
chartsdata_get · wizard_get · wizard_create · wizard_update · wizard_delete · ql_get · ql_create · ql_update · ql_delete · editor_get · editor_create · editor_update · editor_delete✅✅
dashboardsget · create · update · delete✅✅
reportsget · create · update · delete✅✅
htmlpagesget · create · update · delete · preview_url_get✅✅

SQL

ResourceOperationsCLIMCP
sqlqueriesget · create · update · delete · run✅✅

Cloud environments

ResourceOperationsCLIMCP
cloudenvironmentslist · get · create · update · delete✅✅
cloudenvironmentstoragebucket_objects_list · bucket_object_metadata_get · bucket_download_url_create · bucket_upload_url_create✅✅
restcatalogslist · create✅✅
lakehouseoperationsget✅✅
trinoclusterslist · get · create · delete · start · stop · catalog_create · catalog_delete · resource_presets_list · resource_preset_get✅✅
sparkclusterslist · get · create · delete · start · stop · resource_presets_list · resource_presets_get✅✅
sparkapplicationslist · get · create · cancel · log_list✅✅

Embedding

资源操作CLIMCP
embedslist · create · update · delete✅✅
embeddingsecretsget · list · create · delete✅✅

未涵盖(9 项)

  • ○ POST /rpc/checkFavorites:2026-10 发布的新章节,尚未决定封装方式
  • ○ POST /rpc/createFolder:旧版放置模型(文件夹);该组织中没有文件夹可供检查(#394)
  • ○ POST /rpc/deleteFolder:旧版放置模型(文件夹);该组织中没有文件夹可供检查(#394)
  • ○ POST /rpc/dlsSuggest:旧版放置模型(文件夹);该组织中没有文件夹可供检查(#394)
  • ○ POST /rpc/getPermissions:旧版放置模型(文件夹);该组织中没有文件夹可供检查(#394)
  • ○ POST /rpc/listDirectory:旧版放置模型(文件夹);该组织中没有文件夹可供检查(#394)
  • ○ POST /rpc/listFavorites:2026-10 发布的新章节,尚未决定封装方式
  • ○ POST /rpc/modifyPermissions:旧版放置模型(文件夹);该组织中没有文件夹可供检查(#394)
  • ○ POST /rpc/moveFolderEntry:旧版放置模型(文件夹);该组织中没有文件夹可供检查(#394)
上述每个资源和操作都可深度链接到 Yandex API 参考文档:468 个操作中,406 个链接到各自的端点页面,20 个链接到所属资源的页面。以下内容目前尚无公开 API 参考文档:`datalens.cloudenvironments`、`datalens.cloudenvironments.create`、`datalens.cloudenvironments.delete`、`datalens.cloudenvironments.get`、`datalens.cloudenvironments.list`、`datalens.cloudenvironments.update`、`datalens.cloudenvironmentstorage`、`datalens.cloudenvironmentstorage.bucket_download_url_create`、`datalens.cloudenvironmentstorage.bucket_object_metadata_get`、`datalens.cloudenvironmentstorage.bucket_objects_list`、`datalens.cloudenvironmentstorage.bucket_upload_url_create`、`datalens.lakehouseoperations`、`datalens.lakehouseoperations.get`、`datalens.restcatalogs`、`datalens.restcatalogs.create`、`datalens.restcatalogs.list`、`datalens.sparkapplications`、`datalens.sparkapplications.cancel`、`datalens.sparkapplications.create`、`datalens.sparkapplications.get`、`datalens.sparkapplications.list`、`datalens.sparkapplications.log_list`、`datalens.sparkclusters`、`datalens.sparkclusters.create`、`datalens.sparkclusters.delete`、`datalens.sparkclusters.get`、`datalens.sparkclusters.list`、`datalens.sparkclusters.resource_presets_get`、`datalens.sparkclusters.resource_presets_list`、`datalens.sparkclusters.start`、`datalens.sparkclusters.stop`、`datalens.sqlqueries`、`datalens.sqlqueries.create`、`datalens.sqlqueries.delete`、`datalens.sqlqueries.get`、`datalens.sqlqueries.run`、`datalens.sqlqueries.update`、`datalens.tenant`、`datalens.tenant.details_get`、`datalens.trinoclusters`、`datalens.trinoclusters.catalog_create`、`datalens.trinoclusters.catalog_delete`、`datalens.trinoclusters.create`、`datalens.trinoclusters.delete`、`datalens.trinoclusters.get`、`datalens.trinoclusters.list`、`datalens.trinoclusters.resource_preset_get`、`datalens.trinoclusters.resource_presets_list`、`datalens.trinoclusters.start`、`datalens.trinoclusters.stop`、`tracker.linktypes`、`tracker.linktypes.list`,这些项目以纯文本显示。关于有意排除的内容(没有公开 REST API 的仅 UI 端点)和各方法的说明,请参阅 `CONTRIBUTING.md`。
与已发布 API 对比

将 ycli 在契约测试中发送的请求重放,并与 Yandex 发布的内容进行比较:Wiki、Forms 和 DataLens 的 OpenAPI 文档,以及 Tracker 的 API 参考文档(内容为文字,因此仅比较操作和页面列出的查询参数)。只有当 ycli 为请求体定义了类型模型且该模型为封闭模型时,才会比较请求体;已比较的请求体列说明了比较数量,因此列表为空并不代表匹配。已发布内容使用 scripts/api_snapshot/ 中的快照;每周任务会重新获取快照,并在 Yandex 有所更改时创建议题。

服务已发布已封装未封装存在差异的操作已比较的请求体来源
Tracker1901880(有意排除 2 项)0—API 参考
Wiki56560024 项,共 24 项OpenAPI
Forms84840830 项中的 26 项OpenAPI
DataLens1431340(有意排除 9 项)0131 项,共 131 项OpenAPI
Tracker:差异说明

有意不封装

操作原因
GET /boardsboards list 读取分页接口 GET /boards/_paginate
GET /usersusers list 读取分页接口 GET /users/_relative

由 ycli 发送,但未发布

ycli对应请求
entities.attachments_downloadGET /attachments/{file_id}/{filename}
linktypes.listGET /linktypes
Wiki:差异项
Forms:差异项

参数和字段

操作ycli差异保留原因
POST /surveyssurveys.createycli 发送但未发布的请求体字段:is_public、is_published、language
未发布的模型字段:modified
API 接受该字段并将其忽略(于 2026-10-04 在线检查)
API 返回该字段(于 2026-10-04 在线检查),但已发布的架构中未包含该字段
GET /surveys/{survey_id}surveys.get未发布的模型字段:modifiedAPI 返回该字段(于 2026-10-04 在线检查),但已发布的架构中未包含该字段
PATCH /surveys/{survey_id}surveys.updateycli 发送但未发布的请求体字段:is_public、is_published、language
未发布的模型字段:modified
API 接受该字段并将其忽略(于 2026-10-04 在线检查)
API 返回该字段(于 2026-10-04 在线检查),但已发布的架构中未包含该字段
POST /surveys/{survey_id}/hooks/{hook_id}/subscriptionssubscriptions.createycli 发送但未发布的请求体字段:id一个模型构建请求体并读取响应,其中包含 id
PATCH /surveys/{survey_id}/hooks/{hook_id}/subscriptions/{subscription_id}subscriptions.updateycli 发送但未发布的请求体字段:id一个模型构建请求体并读取响应,其中包含 id
POST /surveys/{survey_id}/questionsquestions.createycli 发送但未发布的请求体字段:idAPI 接受该字段并将其忽略(于 2026-10-04 在线检查)
DELETE /surveys/{survey_id}/questions/{question_id}questions.deleteycli 发送但未发布的查询参数:forceAPI 接受该参数并将其忽略(于 2026-10-04 在线检查)
PATCH /surveys/{survey_id}/questions/{question_id}questions.updateycli 发送但未发布的请求体字段:idAPI 接受该字段并将其忽略(于 2026-10-04 在线检查)
DataLens:差异项

有意不封装的内容

操作原因
POST /rpc/checkFavorites2026-10 发布的新章节,尚未决定如何封装
POST /rpc/createFolder旧的放置模型(文件夹);该组织没有文件夹可供验证(#394)
POST /rpc/deleteFolder旧的放置模型(文件夹);该组织没有文件夹可供验证(#394)
POST /rpc/dlsSuggest旧的放置模型(文件夹);该组织没有文件夹可供验证(#394)
POST /rpc/getPermissions旧的放置模型(文件夹);该组织没有文件夹可供验证(#394)
POST /rpc/listDirectory旧的放置模型(文件夹);该组织没有文件夹可供验证(#394)
POST /rpc/listFavorites2026-10 发布的新章节,尚未决定如何封装
POST /rpc/modifyPermissions旧的放置模型(文件夹);该组织没有文件夹可供验证(#394)
POST /rpc/moveFolderEntry旧的放置模型(文件夹);该组织没有文件夹可供验证(#394)

开发

uv sync --all-extras   # the tests use every extra
uv run pytest          # 100% coverage gate; HTTP is stubbed, no live network

布局及其保持规整的不变量见 ARCHITECTURE.md;CONTRIBUTING.md 介绍了相关约定以及如何添加端点。欢迎贡献。

许可证

MIT © 2026 Sava Znatnov

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。