Yandex Tracker MCP server

Integrates with Yandex Tracker for comprehensive issue management, queue operations, user management, and project data access with OAuth 2.0 authentication and Redis caching support.
Back to servers
Setup instructions
Provider
KTS
Release date
Jul 02, 2025
Language
TypeScript
Stats
20 stars

The Yandex Tracker MCP Server enables AI assistants to interact with Yandex Tracker APIs, providing access to issues, queues, and other tracker resources through the Model Context Protocol (MCP). It supports secure authentication and can be integrated with various AI clients.

Installation

Prerequisites

  • Python 3.12 for direct installation
  • Valid Yandex Tracker API token with appropriate permissions
  • uv for package installation, or Docker for containerized deployment

Claude Desktop Extension Installation

  1. Download the *.dxt file from GitHub Releases for your OS and platform.
  2. Double-click the downloaded file to install it in Claude Desktop.
  3. Provide your Yandex Tracker OAuth token when prompted.
  4. Ensure the extension is enabled to start using the MCP Server.

Manual Installation

The MCP server can be configured using either uvx yandex-tracker-mcp@latest or the Docker image ghcr.io/aikts/yandex-tracker-mcp:latest. Both require these environment variables:

  • Authentication (one of the following):
    • TRACKER_TOKEN - Your Yandex Tracker OAuth token
    • TRACKER_IAM_TOKEN - Your IAM token
    • TRACKER_SA_KEY_ID, TRACKER_SA_SERVICE_ACCOUNT_ID, TRACKER_SA_PRIVATE_KEY - Service account credentials
  • TRACKER_CLOUD_ORG_ID or TRACKER_ORG_ID - Your Yandex Cloud (or Yandex 360) organization ID

Client-Specific Configuration

Claude Desktop

Configuration file path:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Using uvx:

{
  "mcpServers": {
    "yandex-tracker": {
      "command": "uvx",
      "args": ["yandex-tracker-mcp@latest"],
      "env": {
        "TRACKER_TOKEN": "your_tracker_token_here",
        "TRACKER_CLOUD_ORG_ID": "your_cloud_org_id_here"
      }
    }
  }
}

Using Docker:

{
  "mcpServers": {
    "yandex-tracker": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "TRACKER_TOKEN",
        "-e", "TRACKER_CLOUD_ORG_ID",
        "ghcr.io/aikts/yandex-tracker-mcp:latest"
      ],
      "env": {
        "TRACKER_TOKEN": "your_tracker_token_here",
        "TRACKER_CLOUD_ORG_ID": "your_cloud_org_id_here"
      }
    }
  }
}

Claude Code

Using uvx:

claude mcp add yandex-tracker uvx yandex-tracker-mcp@latest \
  -e TRACKER_TOKEN=your_tracker_token_here \
  -e TRACKER_CLOUD_ORG_ID=your_cloud_org_id_here \
  -e TRANSPORT=stdio

Using Docker:

claude mcp add yandex-tracker docker "run --rm -i -e TRACKER_TOKEN=your_tracker_token_here -e TRACKER_CLOUD_ORG_ID=your_cloud_org_id_here -e TRANSPORT=stdio ghcr.io/aikts/yandex-tracker-mcp:latest"

Available Tools

The MCP server provides the following tools:

Queue Management

  • queues_get_all: List all available Yandex Tracker queues
  • queue_get_local_fields: Get local fields for a specific queue
  • queue_get_tags: Get all tags for a specific queue
  • queue_get_versions: Get all versions for a specific queue

User Management

  • users_get_all: Get information about user accounts registered in the organization
  • user_get: Get information about a specific user by login or UID
  • user_get_current: Get information about the current authenticated user

Field Management

  • get_global_fields: Get all global fields available in Yandex Tracker
  • get_statuses: Get all available issue statuses
  • get_issue_types: Get all available issue types
  • get_priorities: Get all available issue priorities

Issue Operations

  • issue_get: Retrieve detailed issue information by ID
  • issue_get_url: Generate web URL for an issue
  • issue_get_comments: Fetch all comments for an issue
  • issue_get_links: Get related issue links
  • issue_get_worklogs: Retrieve worklog entries
  • issue_get_attachments: Get attachments for an issue
  • issue_get_checklist: Get checklist items of an issue

Search and Discovery

  • issues_find: Search issues using Yandex Tracker Query Language
  • issues_count: Count issues matching a query

HTTP Transport

The MCP server can be run in streamable-http mode:

# Basic streamable-http server startup
TRANSPORT=streamable-http uvx yandex-tracker-mcp@latest

# With custom host and port
TRANSPORT=streamable-http \
HOST=localhost \
PORT=9000 \
uvx yandex-tracker-mcp@latest

Authentication

The server supports multiple authentication methods in this priority order:

  1. Dynamic OAuth Token (highest priority)

    • When OAuth is enabled and a user authenticates via OAuth flow
    • Required env vars: OAUTH_ENABLED=true, OAUTH_CLIENT_ID, OAUTH_CLIENT_SECRET, MCP_SERVER_PUBLIC_URL
  2. Static OAuth Token

    • Traditional OAuth token provided via environment variable
    • Required env var: TRACKER_TOKEN
  3. Static IAM Token

    • IAM token for service-to-service authentication
    • Required env var: TRACKER_IAM_TOKEN
  4. Dynamic IAM Token (lowest priority)

    • Automatically retrieved using service account credentials
    • Required env vars: TRACKER_SA_KEY_ID, TRACKER_SA_SERVICE_ACCOUNT_ID, TRACKER_SA_PRIVATE_KEY

Configuration

# Authentication (use one of the methods described above)

# Organization Configuration (choose one)
TRACKER_CLOUD_ORG_ID=your_cloud_org_id    # For Yandex Cloud organizations
TRACKER_ORG_ID=your_org_id                # For Yandex 360 organizations

# Security - Restrict access to specific queues (optional)
TRACKER_LIMIT_QUEUES=PROJ1,PROJ2,DEV      # Comma-separated queue keys

# Server Configuration
HOST=0.0.0.0                              # Default: 0.0.0.0
PORT=8000                                 # Default: 8000
TRANSPORT=stdio                           # Options: stdio, streamable-http, sse

# Redis caching (optional)
TOOLS_CACHE_ENABLED=true                  # Default: false
TOOLS_CACHE_REDIS_TTL=3600                # Default: 3600 seconds (1 hour)
REDIS_ENDPOINT=localhost                  # Default: localhost
REDIS_PORT=6379                           # Default: 6379

Docker Deployment

# Using environment file
docker run --env-file .env -p 8000:8000 ghcr.io/aikts/yandex-tracker-mcp:latest

# With inline environment variables
docker run -e TRACKER_TOKEN=your_token \
           -e TRACKER_CLOUD_ORG_ID=your_org_id \
           -p 8000:8000 \
           ghcr.io/aikts/yandex-tracker-mcp:latest

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "yandex-tracker" '{"command":"uvx","args":["yandex-tracker-mcp@latest"],"env":{"TRACKER_TOKEN":"your_tracker_token_here","TRACKER_CLOUD_ORG_ID":"your_cloud_org_id_here","TRACKER_ORG_ID":"your_org_id_here"}}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "yandex-tracker": {
            "command": "uvx",
            "args": [
                "yandex-tracker-mcp@latest"
            ],
            "env": {
                "TRACKER_TOKEN": "your_tracker_token_here",
                "TRACKER_CLOUD_ORG_ID": "your_cloud_org_id_here",
                "TRACKER_ORG_ID": "your_org_id_here"
            }
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "yandex-tracker": {
            "command": "uvx",
            "args": [
                "yandex-tracker-mcp@latest"
            ],
            "env": {
                "TRACKER_TOKEN": "your_tracker_token_here",
                "TRACKER_CLOUD_ORG_ID": "your_cloud_org_id_here",
                "TRACKER_ORG_ID": "your_org_id_here"
            }
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later