읽기 및 쓰기 도구를 통해 AI 클라이언트가 Yandex Tracker, Wiki, Forms, DataLens를 관리할 수 있게 합니다.
다른 이름 bim-ba/ycli, ycli, yandex-cli
- 스타
- 5
- Tools
- —
- 다운로드, 30일
- 3,009
- 최신 버전
- 0.142.0
- 마지막 커밋
- 2026년 10월 31일
- 라이선스
- MIT
Yandex 360 MCP란?
Yandex 360은(는) MCP server입니다. 읽기 및 쓰기 도구를 통해 AI 클라이언트가 Yandex Tracker, Wiki, Forms, DataLens를 관리할 수 있게 합니다.
프로젝트 README에서 생성된 요약
Yandex 360 MCP server 정보
Yandex 360 (ycli)은 AI 에이전트와 Yandex 생태계, 특히 Tracker, Wiki, Forms, DataLens를 연결하는 브릿지 역할을 합니다. Claude Desktop, Cursor, VS Code와 같은 클라이언트가 특화된 도구를 통해 이러한 서비스와 상호작용할 수 있도록 지원하는 MCP server로 작동합니다. 사용자는 서버를 읽기 전용 모드로 설정하거나, 핵심 도구 세트를 사용하여 에이전트가 사용할 수 있는 명령어 수를 제한하도록 구성할 수 있습니다.
설정에는 Yandex OAuth 토큰과 조직 ID가 필요하며, 이는 auth login 명령어를 통해 CLI에서 관리할 수 있습니다. 이 서버는 안전을 고려하여 설계되었으며, 각 도구가 파괴적인지 또는 멱등성을 유지하는지에 대한 힌트를 제공합니다. 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를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
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로 로그인하고 조직을 찾을 수 있습니다.