AIクライアントが読み取りおよび書き込みツールを通じて、Yandex Tracker、Wiki、Forms、DataLensを管理できるようにします。
別名 bim-ba/ycli, ycli, yandex-cli
- スター
- 5
- ツール
- —
- ダウンロード数(30日間)
- 3,009
- 最新バージョン
- 0.142.0
- 最終コミット
- 2026年10月31日
- ライセンス
- MIT
Yandex 360 MCPとは
Yandex 360はMCPサーバーです。 AIクライアントが読み取りおよび書き込みツールを通じて、Yandex Tracker、Wiki、Forms、DataLensを管理できるようにします。.
プロジェクトのREADMEから生成された概要
Yandex 360 MCP server について
Yandex 360 (ycli) は、AIエージェントとYandexエコシステム(特にTracker、Wiki、Forms、DataLens)を繋ぐブリッジを提供します。これはMCP serverとして機能し、Claude Desktop、Cursor、VS Codeなどのクライアントが専用ツールを通じてこれらのサービスとやり取りすることを可能にします。ユーザーは、サーバーを読み取り専用モードで動作させたり、コアツールセットを使用してエージェントが利用可能なコマンド数を制限したりするように設定できます。
セットアップにはYandex OAuthトークンと組織IDが必要であり、これらはauth loginコマンドを使用してコマンドラインから管理できます。このサーバーは安全性を考慮して設計されており、ツールが破壊的な操作か、あるいはべき等(idempotent)であるかについてのヒントを提供します。インストールはuvまたはpipxを使用して行えます。また、開発者は同梱のPydanticモデルを使用したPython SDKを利用して、これらの機能を独自のアプリケーションに統合することも可能です。
できること
- 1プロジェクト課題の管理AIエージェントがYandex Tracker内の特定の課題を取得、作成、または更新できます。
- 2安全なデータ変更dry-run機能を使用して、書き込み操作を実行する前にその内容を確認できます。
- 3エージェントの権限制限サーバーを読み取り操作のみに設定することで、誤ったデータ変更を防止できます。
- 4ドキュメント作成タスクの自動化エージェントがWikiページとやり取りし、組織のナレッジ管理を行うことができます。
プロジェクトの README から作成されています。すべてのユースケースは、その引用と照らし合わせて確認されています。
Yandex 360 MCPのインストール方法
フォーマット検証日 2026年11月10日Cursor に追加Gooseに追加Claude CodeにYandex 360 MCPをインストール
$ claude mcp add --env 'YANDEX_ID_OAUTH_TOKEN=<YOUR_YANDEX_ID_OAUTH_TOKEN>' --env 'YANDEX_ID_ORGANIZATION_ID=<YANDEX_ID_ORGANIZATION_ID>' ycli -- uvx yandex-cliCursorにYandex 360 MCPをインストール
~/.cursor/mcp.json
{
"mcpServers": {
"ycli": {
"command": "uvx",
"args": [
"yandex-cli"
],
"env": {
"YANDEX_ID_OAUTH_TOKEN": "<YOUR_YANDEX_ID_OAUTH_TOKEN>",
"YANDEX_ID_ORGANIZATION_ID": "<YANDEX_ID_ORGANIZATION_ID>"
}
}
}
}VS CodeにYandex 360 MCPをインストール
.vscode/mcp.json
{
"servers": {
"ycli": {
"type": "stdio",
"command": "uvx",
"args": [
"yandex-cli"
],
"env": {
"YANDEX_ID_OAUTH_TOKEN": "<YOUR_YANDEX_ID_OAUTH_TOKEN>",
"YANDEX_ID_ORGANIZATION_ID": "<YANDEX_ID_ORGANIZATION_ID>"
}
}
}
}VS Code CLIにYandex 360 MCPをインストール
$ code --add-mcp '{"name":"ycli","type":"stdio","command":"uvx","args":["yandex-cli"],"env":{"YANDEX_ID_OAUTH_TOKEN":"<YOUR_YANDEX_ID_OAUTH_TOKEN>","YANDEX_ID_ORGANIZATION_ID":"<YANDEX_ID_ORGANIZATION_ID>"}}'Claude DesktopにYandex 360 MCPをインストール
claude_desktop_config.json
{
"mcpServers": {
"ycli": {
"command": "uvx",
"args": [
"yandex-cli"
],
"env": {
"YANDEX_ID_OAUTH_TOKEN": "<YOUR_YANDEX_ID_OAUTH_TOKEN>",
"YANDEX_ID_ORGANIZATION_ID": "<YANDEX_ID_ORGANIZATION_ID>"
}
}
}
}CodexにYandex 360 MCPをインストール
$ codex mcp add ycli --env 'YANDEX_ID_OAUTH_TOKEN=<YOUR_YANDEX_ID_OAUTH_TOKEN>' --env 'YANDEX_ID_OAUTH_TOKEN=<YOUR_YANDEX_ID_OAUTH_TOKEN>' --env 'YANDEX_ID_ORGANIZATION_ID=<YANDEX_ID_ORGANIZATION_ID>' --env 'YANDEX_ID_ORGANIZATION_ID=<YANDEX_ID_ORGANIZATION_ID>' -- uvx yandex-cliCodex config.tomlにYandex 360 MCPをインストール
~/.codex/config.toml
[mcp_servers.ycli] command = "uvx" args = ["yandex-cli"] [mcp_servers.ycli.env] YANDEX_ID_OAUTH_TOKEN = "<YOUR_YANDEX_ID_OAUTH_TOKEN>" YANDEX_ID_ORGANIZATION_ID = "<YANDEX_ID_ORGANIZATION_ID>"
Gemini CLIにYandex 360 MCPをインストール
$ gemini mcp add -s user -e 'YANDEX_ID_OAUTH_TOKEN=<YOUR_YANDEX_ID_OAUTH_TOKEN>' -e 'YANDEX_ID_OAUTH_TOKEN=<YOUR_YANDEX_ID_OAUTH_TOKEN>' -e 'YANDEX_ID_ORGANIZATION_ID=<YANDEX_ID_ORGANIZATION_ID>' -e 'YANDEX_ID_ORGANIZATION_ID=<YANDEX_ID_ORGANIZATION_ID>' ycli uvx -- yandex-cliGemini settings.jsonにYandex 360 MCPをインストール
~/.gemini/settings.json
{
"mcpServers": {
"ycli": {
"command": "uvx",
"args": [
"yandex-cli"
],
"env": {
"YANDEX_ID_OAUTH_TOKEN": "<YOUR_YANDEX_ID_OAUTH_TOKEN>",
"YANDEX_ID_ORGANIZATION_ID": "<YANDEX_ID_ORGANIZATION_ID>"
}
}
}
}設定
YANDEX_ID_OAUTH_TOKEN必須シークレットYandex OAuth token with Tracker, Wiki and Forms access.
YANDEX_ID_OAUTH_TOKEN必須シークレットYandex OAuth token with Tracker, Wiki and Forms access.
YANDEX_ID_ORGANIZATION_ID必須Yandex 360 organization id (sent as X-Org-Id).
YANDEX_ID_ORGANIZATION_ID必須Yandex 360 organization id (sent as X-Org-Id).
| 名前 | 説明 | 種類 |
|---|---|---|
| YANDEX_ID_OAUTH_TOKEN | Yandex OAuth token with Tracker, Wiki and Forms access. | 必須シークレット |
| YANDEX_ID_OAUTH_TOKEN | Yandex OAuth token with Tracker, Wiki and Forms access. | 必須シークレット |
| YANDEX_ID_ORGANIZATION_ID | Yandex 360 organization id (sent as X-Org-Id). | 必須 |
| YANDEX_ID_ORGANIZATION_ID | Yandex 360 organization id (sent as X-Org-Id). | 必須 |
自動チェック
実行日 2026年11月13日完全なレポート →自動チェックに合格しました。これはセキュリティ監査ではありません。コードを読み、サーバーに必要最小限のアクセス権を与えてください。 チェックの仕組み
- ソースリポジトリがリンクされており、アクセス可能合格
- オープンソースライセンス (OSI)合格
- 過去1年以内にコミットまたはリリースあり合格
- パッケージ名が有名なパッケージに酷似していない合格
- リモートエンドポイントがHTTPSを使用未チェック
- 破壊的なツールがラベル付けされている未チェック
- モデルへの隠れた指示がない合格
- パッケージおよびその依存関係に重大な勧告なし合格
README
GitHubで見るycli
Yandex 360 for people and for agents.
Tracker, Wiki and Forms from a command line, an MCP server and Python: one tool, and one name for each operation everywhere.
English · Русский
- A command line that scripts well. JSON when piped, ready for
jq,--dry-runfor every write, an exit code for each kind of failure. - An MCP server agents can trust. Every tool says whether it reads, writes or destroys; serve only reads, or a small everyday set.
- A typed Python SDK. Pydantic models for every answer, and examples the test suite runs.
- Careful with your data. A delete asks first, and your token goes only to Yandex's own hosts.
Documentation: ycli.savaznatnov.dev.
Install
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
The command is ycli (also yandex-cli). Then sign in: ycli auth login (how).
Writing Python? Add the SDK to your project: uv add yandex-cli.
| Extra | Adds | Install |
|---|---|---|
mcp |
the MCP server, ycli mcp start |
uv tool install 'yandex-cli[mcp]' |
service-account |
the SDK's ServiceAccountAuth for a Yandex Cloud service-account key |
uv add 'yandex-cli[service-account]' |
Connect your AI client
Every client gets the same MCP server, uvx --from 'yandex-cli[mcp]' ycli mcp start, and the same two variables.
| Client | Fastest way |
|---|---|
| Claude Code | /plugin marketplace add bim-ba/ycli, then /plugin install yandex-360@ycli |
| Claude Desktop | open the .mcpb bundle from the latest release |
| Cursor | one-click install |
| VS Code | one-click install |
| Windsurf (Devin Desktop) | config file |
| Zed | config file |
| Codex | config file |
| Gemini CLI | config file |
| opencode | config file |
| Any other MCP client | three values to copy |
Also: a Docker image, ghcr.io/bim-ba/ycli (as a server or a plain CLI), pipelines, and the official MCP Registry entry io.github.bim-ba/ycli.
Something not working? If it does not work.
Use it
Command line
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
More: Script the CLI, Call an unwrapped endpoint, the CLI reference.
MCP server
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
More: Serve the MCP server, Self-host over HTTP for a team, the tool reference.
Python
from ycli.yandex.tracker.client import TrackerClient
tracker = TrackerClient(oauth_token="…", organization_id="…")
print(tracker.issues.get("TRACKER-1").summary)
More: the SDK reference.
Claude Code plugin
/plugin marketplace add bim-ba/ycli
/plugin install yandex-360@ycli
It adds the MCP server and five skills (yandex-360, yandex-360-tracker, yandex-360-wiki, yandex-360-forms, yandex-360-datalens) that teach an agent the commands and the API's quirks. Source: plugins/yandex-360/.
Configure
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 needs a Yandex OAuth app of your own the first time: Authenticate walks you through it. ycli reads two variables, from the environment or a .env file:
YANDEX_ID_OAUTH_TOKEN=... # a Yandex OAuth token with Tracker, Wiki and Forms access
YANDEX_ID_ORGANIZATION_ID=... # your Yandex 360 organization id
Timeouts, retries, limits, logging and the exit codes are in the configuration reference.
Coverage
ycli wraps 468 operations across 88 resources of the Tracker, Wiki, Forms, and DataLens API. Every one is reachable from the Python SDK and the CLI, and 458 MCP tools serve them to agents (456 per service plus schema_get, status_get).
Legend. ✅ in CLI or MCP means the resource is reachable on that surface; MCP tools carry honest hints (reads are
readOnlyHint, writes say whether they are destructive or idempotent), andycli mcp start --read-onlyserves only the reads. Resource and operation names link to the official Yandex API reference. An operation has one of three states against what Yandex publishes. Covered (no mark): ycli sends every published parameter and reads every published field. Partial (◐): ycli wraps it and differs somewhere; the mark links to the row that says where and why. Not covered (○): Yandex publishes it and ycli does not wrap it; these are listed under each service. Wiki, Forms and DataLens are measured against their OpenAPI documents; Tracker publishes none, so its state is measured against the reference pages (operations, and query parameters where a page lists them). DataLens is in progress, wrapped section by section: the operations of a section ycli has not begun are pending, not missing. Generated from the code byscripts/gen_coverage.py; do not edit by hand.
Tracker
Issues & work items
| Resource | Operations | CLI | MCP |
|---|---|---|---|
| issues | get · search · count · create · update · move · suggest · scroll_clear · update_bulk · move_bulk · transition_bulk · import_ | ✅ | ✅ |
| comments | list · get · create · update · delete · reactions_create · import_ | ✅ | ✅ |
| links | list · list_filtered · create · delete · import_ | ✅ | ✅ |
| transitions | list · execute | ✅ | ✅ |
| worklog | list · search · list_global · create · update · delete · import_ | ✅ | ✅ |
| changelog | list | ✅ | ✅ |
| checklists | list · create · update · delete · clear | ✅ | ✅ |
| attachments | list · download · thumbnails_download · get · delete · upload · upload_temp · import_ · import_for_comment | ✅ | ✅ |
| remotelinks | list · create · delete | ✅ | ✅ |
Agile boards
| Resource | Operations | CLI | MCP |
|---|---|---|---|
| boards | list · get · create · update · delete | ✅ | ✅ |
| sprints | list · get · create · update · delete · start · archive | ✅ | ✅ |
| columns | list · get · create · update · delete | ✅ | ✅ |
Dictionaries
| Resource | Operations | CLI | MCP |
|---|---|---|---|
| priorities | list · create · update | ✅ | ✅ |
| statuses | list · create · update | ✅ | ✅ |
| resolutions | list · create · update | ✅ | ✅ |
| issuetypes | list · create · update | ✅ | ✅ |
| linktypes | list | ✅ | ✅ |
Fields, queues & structure
| Resource | Operations | CLI | MCP |
|---|---|---|---|
| fields | list · get · create · update · categories_create · categories_update | ✅ | ✅ |
| localfields | list · get · create · update | ✅ | ✅ |
| components | list · create · update · list_for_queue · get · delete · user_permissions_get · group_permissions_get | ✅ | ✅ |
| queues | list · 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 | ✅ | ✅ |
| workflows | list · get · list_for_queue · create · update · actions_update · delete | ✅ | ✅ |
| projects | list · get · queues_list · create · update · delete | ✅ | ✅ |
Automation & bulk
| Resource | Operations | CLI | MCP |
|---|---|---|---|
| macros | list · get · create · update · delete | ✅ | ✅ |
| triggers | list · get · create · update · webhook_log_list | ✅ | ✅ |
| autoactions | get · create · logs_list · logs_get | ✅ | ✅ |
| dashboards | create · widgets_create_cycle_time | ✅ | ✅ |
| bulk | get · issues_list | ✅ | ✅ |
Entities, users & search
| Resource | Operations | CLI | MCP |
|---|---|---|---|
| entities | create · get · update · delete · search · events_list · permissions_get · permissions_update · permissions_get_direct · [permissions_update_direct](https://yandex.ru/support/tracker/en/api/entitie |
Yandex 360 MCPのよくある質問
Yandex 360 MCPをClaude Codeに追加するには
ターミナルでclaude mcp add --env 'YANDEX_ID_OAUTH_TOKEN=<YOUR_YANDEX_ID_OAUTH_TOKEN>' --env 'YANDEX_ID_ORGANIZATION_ID=<YANDEX_ID_ORGANIZATION_ID>' ycli -- uvx yandex-cliを実行します。すべてのプロジェクトで利用するには--scope userを追加します。
Yandex 360 MCPをCursorに追加するには
~/.cursor/mcp.jsonを開き、上記のインストールセクションに示すCursor設定を使ってmcpServersの下にサーバーを追加します。
AIクライアントをYandex 360に接続するにはどうすればよいですか?
コマンド uvx --from 'yandex-cli[mcp]' ycli mcp start を使用し、必要な環境変数をクライアントに提供してください。
MCP serverを読み取り専用モードで実行できますか?
はい、--read-only フラグを付けてサーバーを起動することで、読み取り操作のみを提供できます。
ycliはどのサービスをサポートしていますか?
このツールは、Yandex Tracker、Wiki、Forms、DataLensの操作をラップしています。
CLIでの認証方法を教えてください。
ycli auth login コマンドを使用してYandex ID経由でサインインし、組織を選択してください。