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 ID
  • wiki_page_resources_list — Lists resources (attachments, grids) for a Yandex Wiki page
  • wiki_page_grids_list — Lists dynamic tables (grids) for a Yandex Wiki page
  • wiki_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 key
  • tracker_issue_search — Searches Yandex Tracker issues using filter or query
  • tracker_issue_count — Counts Yandex Tracker issues matching filter or query
  • tracker_issue_transitions_list — Lists available status transitions for a Yandex Tracker issue
  • tracker_queues_list — Lists Yandex Tracker queues
  • tracker_boards_list — Lists Yandex Tracker boards
  • tracker_board_sprints_list — Lists sprints for a Yandex Tracker board
  • tracker_issue_comments_list — Lists comments for a Yandex Tracker issue
  • tracker_issue_attachments_list — Lists attachments for a Yandex Tracker issue
  • tracker_issue_attachment_get — Downloads a file attached to a Yandex Tracker issue
  • tracker_issue_attachment_preview_get — Downloads a thumbnail for a Yandex Tracker issue attachment
  • tracker_queue_get — Retrieves a Yandex Tracker queue by its key
  • tracker_user_current — Retrieves the current Yandex Tracker user
  • tracker_users_list — Lists Yandex Tracker users
  • tracker_user_get — Retrieves a Yandex Tracker user by ID
  • tracker_issue_links_list — Lists links for a Yandex Tracker issue
  • tracker_issue_changelog — Retrieves the changelog for a Yandex Tracker issue
  • tracker_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:

  1. First execution attempt: Run the executable from terminal

    ./yandex-mcp --version
    

    This will show a security warning. Press Done.

  2. Allow execution via System Settings:

    • Open System SettingsPrivacy & SecuritySecurity
    • Find the message about the blocked executable
    • Click "Allow Anyway"
  3. Second execution: Run the executable again

    ./yandex-mcp --version
    
  4. 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 list to 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_content inline responses; save_path uses 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_path must 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-token when YANDEX_CLI_PROFILE is empty.
  • yc iam create-token --profile <YANDEX_CLI_PROFILE> when YANDEX_CLI_PROFILE is set.

That means:

  • You must have the Yandex Cloud CLI (yc) installed and available in PATH.
  • You must have an initialized/authenticated yc profile (typically via yc init).
  • Set YANDEX_CLI_PROFILE when 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 to 12 to refresh roughly every 12 hours).
  • When the refresh happens, the server calls yc iam create-token again. If your yc session/profile requires interactive authentication, yc may open your default browser and ask you to log in.

Official references:

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 command must point to the built executable (for this repo, task build produces bin/yandex-mcp).
  • The server communicates over stdio; clients should use a stdio transport.

Yandex API reference (official)

Yandex Tracker:

Yandex Wiki:

IAM token (Yandex Cloud):