Yandex MCP Server
An MCP (Model Context Protocol) server that lets MCP-capable clients work with:
- Yandex Tracker (issues, queues, transitions, comments)
- Yandex Wiki (pages, attachments/resources, dynamic tables)
The server operates in read-only mode. Modification operations are not supported due to the risk of allowing LLMs to perform such operations.
The project is not an official MCP from Yandex.
Tools
For the full tool list and a parameter overview, see:
Exact JSON schemas (including validation rules) are also available via MCP tool introspection at runtime.
Yandex Wiki tools
wiki_page_get— Retrieves a Yandex Wiki page by its slug (URL path)wiki_page_get_by_id— Retrieves a Yandex Wiki page by its numeric IDwiki_page_resources_list— Lists resources (attachments, grids) for a Yandex Wiki pagewiki_page_grids_list— Lists dynamic tables (grids) for a Yandex Wiki pagewiki_grid_get— Retrieves a Yandex Wiki dynamic table (grid) by its ID
Yandex Tracker tools
tracker_issue_get— Retrieves a Yandex Tracker issue by its ID or keytracker_issue_search— Searches Yandex Tracker issues using filter or querytracker_issue_count— Counts Yandex Tracker issues matching filter or querytracker_issue_transitions_list— Lists available status transitions for a Yandex Tracker issuetracker_queues_list— Lists Yandex Tracker queuestracker_boards_list— Lists Yandex Tracker boardstracker_board_sprints_list— Lists sprints for a Yandex Tracker boardtracker_issue_comments_list— Lists comments for a Yandex Tracker issuetracker_issue_attachments_list— Lists attachments for a Yandex Tracker issuetracker_issue_attachment_get— Downloads a file attached to a Yandex Tracker issuetracker_issue_attachment_preview_get— Downloads a thumbnail for a Yandex Tracker issue attachmenttracker_queue_get— Retrieves a Yandex Tracker queue by its keytracker_user_current— Retrieves the current Yandex Tracker usertracker_users_list— Lists Yandex Tracker userstracker_user_get— Retrieves a Yandex Tracker user by IDtracker_issue_links_list— Lists links for a Yandex Tracker issuetracker_issue_changelog— Retrieves the changelog for a Yandex Tracker issuetracker_project_comments_list— Lists comments for a Yandex Tracker project entity
Installation
Binary Releases
Pre-compiled binaries are available for multiple platforms:
- Linux (AMD64):
yandex-mcp-v*-linux-amd64.tar.gz - macOS (Intel):
yandex-mcp-v*-darwin-amd64.tar.gz - macOS (Apple Silicon):
yandex-mcp-v*-darwin-arm64.tar.gz - Windows (AMD64):
yandex-mcp-v*-windows-amd64.zip
Download the latest release from GitHub Releases.
Homebrew
brew install n-r-w/homebrew-tap/yandex-mcp
You can also tap first and install by formula name:
brew tap n-r-w/tap
brew install yandex-mcp
Build from Source
go build -o yandex-mcp ./cmd/yandex-mcp
or use Task:
task build
macOS Installation Notes
macOS may block execution of downloaded binaries by default due to security settings. To allow the executable to run:
-
First execution attempt: Run the executable from terminal
./yandex-mcp --versionThis will show a security warning. Press Done.
-
Allow execution via System Settings:
- Open System Settings → Privacy & Security → Security
- Find the message about the blocked executable
- Click "Allow Anyway"
-
Second execution: Run the executable again
./yandex-mcp --version -
Confirm execution: A dialog will appear asking for confirmation
- Click "Open Anyway" and enter your password if prompted
- The executable will now be allowed to run
After these steps, the executable will be permanently allowed to run on your system.
Environment variables
-
YANDEX_CLOUD_ORG_ID(required)- Yandex Cloud Organization ID.
- Used to set the organization header required by Yandex APIs.
- Run
yc organization-manager organization listto get your organization ID.
-
YANDEX_CLI_PROFILE(optional)- yc CLI profile used to retrieve IAM tokens.
- When empty, yc uses the active profile.
- When set, the server runs
yc iam create-token --profile <YANDEX_CLI_PROFILE>.
-
YANDEX_WIKI_BASE_URL(optional, default:https://api.wiki.yandex.net)- Base URL for Yandex Wiki API.
- Must be an
https://URL.
-
YANDEX_TRACKER_BASE_URL(optional, default:https://api.tracker.yandex.net)- Base URL for Yandex Tracker API.
- Must be an
https://URL.
-
YANDEX_IAM_TOKEN_REFRESH_PERIOD(optional, default:10)- IAM token refresh period in hours.
- The server caches the token and refreshes it when the cached token is older than this period.
- IAM tokens are valid for no more than 12 hours; this refresh period should not exceed
12.
-
YANDEX_HTTP_TIMEOUT(optional, default:30)- HTTP timeout for Yandex API requests in seconds.
-
YANDEX_MCP_ATTACH_EXT(optional)- Comma-separated list of allowed attachment extensions without dots.
- Fully replaces the default allowlist.
- Default allowlist: txt, json, jsonc, yaml, yml, md, csv, tsv, rtf, html, htm, pdf, doc, docx, odt, xls, xlsx, ods, ppt, pptx, odp, jpg, jpeg, png, tiff, tif, gif, bmp, webp, zip, 7z, tar, tgz, tar.gz, gz, bz2, xz, rar.
-
YANDEX_MCP_ATTACH_VIEW_EXT(optional)- Comma-separated list of allowed attachment extensions without dots for inline viewing.
- Fully replaces the default text allowlist.
- Default allowlist: txt, json, jsonc, yaml, yml, md, csv, tsv, rtf.
-
YANDEX_MCP_ATTACH_INLINE_MAX_BYTES(optional, default:10485760)- Maximum size in bytes for attachment content returned inline.
- Applies only to
get_contentinline responses;save_pathuses streaming and is not limited by this setting.
-
YANDEX_MCP_ATTACH_DIR(optional)- Comma-separated list of absolute directories allowed for saving attachments.
- Fully replaces the default directory rules. When set, only the provided directories (and their subdirectories) are allowed.
- Default rule:
save_pathmust be inside the user home directory, must not point to the home root, and must not be within a hidden top-level home subdirectory (for example,~/.ssh).
Authentication
The project supports IAM token authentication via the Yandex Cloud CLI (yc) only.
IAM token acquisition (yc prerequisites)
Installation: https://yandex.cloud/en/docs/cli/operations/install-cli
This server obtains IAM tokens by running:
yc iam create-tokenwhenYANDEX_CLI_PROFILEis empty.yc iam create-token --profile <YANDEX_CLI_PROFILE>whenYANDEX_CLI_PROFILEis set.
That means:
- You must have the Yandex Cloud CLI (
yc) installed and available inPATH. - You must have an initialized/authenticated
ycprofile (typically viayc init). - Set
YANDEX_CLI_PROFILEwhen the server must use a specific yc profile instead of the active profile.
Notes:
- Yandex IAM tokens are valid for no more than 12 hours, so long-running use requires periodic refresh.
- The server refreshes the token periodically based on
YANDEX_IAM_TOKEN_REFRESH_PERIOD(by default every 10 hours; you can set it to12to refresh roughly every 12 hours). - When the refresh happens, the server calls
yc iam create-tokenagain. If yourycsession/profile requires interactive authentication,ycmay open your default browser and ask you to log in.
Official references:
- Tracker IAM token auth + lifetime: https://yandex.ru/support/tracker/en/concepts/access#iam-token
- Wiki IAM token auth + lifetime: https://yandex.ru/support/wiki/en/api-ref/access#iam-token
Client configuration examples
Claude Code
claude mcp add -s user -e YANDEX_CLOUD_ORG_ID={yandex organization id} -e YANDEX_CLI_PROFILE={yc profile name} --transport stdio yandex /path/to/yandex-mcp
VS Code, RooCode, etc.
"yandex": {
"command": "/path/to/yandex-mcp",
"env": {
"YANDEX_CLOUD_ORG_ID": "yandex organization id",
"YANDEX_CLI_PROFILE": "yc profile name"
}
}
Multiple organizations
When you need to work with two organizations, configure two independent MCP server entries. Each entry should use its own YANDEX_CLOUD_ORG_ID and YANDEX_CLI_PROFILE.
"yandex_primary": {
"command": "/path/to/yandex-mcp",
"env": {
"YANDEX_CLOUD_ORG_ID": "primary organization id",
"YANDEX_CLI_PROFILE": "primary yc profile"
}
},
"yandex_partner": {
"command": "/path/to/yandex-mcp",
"env": {
"YANDEX_CLOUD_ORG_ID": "partner organization id",
"YANDEX_CLI_PROFILE": "partner yc profile"
}
}
Notes:
- The
commandmust point to the built executable (for this repo,task buildproducesbin/yandex-mcp). - The server communicates over stdio; clients should use a stdio transport.
Yandex API reference (official)
Yandex Tracker:
- API overview: https://yandex.ru/support/tracker/en/about-api
- API access (OAuth / IAM): https://yandex.ru/support/tracker/en/concepts/access
- Common request format: https://yandex.ru/support/tracker/en/common-format
- Error codes: https://yandex.ru/support/tracker/en/error-codes
Yandex Wiki:
- API overview: https://yandex.ru/support/wiki/en/api-ref/about
- API access (OAuth / IAM): https://yandex.ru/support/wiki/en/api-ref/access
- API reference index: https://yandex.ru/support/wiki/en/api-ref/
IAM token (Yandex Cloud):
- Tracker: IAM token section (mentions 12-hour max lifetime): https://yandex.ru/support/tracker/en/concepts/access#iam-token
- Wiki: IAM token section (mentions 12-hour max lifetime): https://yandex.ru/support/wiki/en/api-ref/access#iam-token
No comments yet
Be the first to share your take.