Skip to content

n-r-w/yandex-mcp

Repository files navigation

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_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_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, pdf, doc, docx, rtf, odt, xls, xlsx, ods, csv, tsv, 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

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).

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} --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"
  }
}

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):

About

MCP (Model Context Protocol) server for Yandex Tracker & Wiki

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages