# Yandex 360 MCP server

> Lets an AI client manage Yandex Tracker, Wiki, Forms, and DataLens through read and write tools.

- Repository: https://github.com/bim-ba/ycli
- Page: https://hostedmcp.org/servers/bim-ba/ycli
- Transport: stdio
- Stars: 5
- License: MIT
- Latest version: 0.142.0

## Install

### Claude Code

```sh
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
```

### Cursor (`~/.cursor/mcp.json`)

```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 (`.vscode/mcp.json`)

```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

```sh
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 (`claude_desktop_config.json`)

```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

```sh
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-cli
```

### Codex config.toml (`~/.codex/config.toml`)

```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

```sh
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-cli
```

### Gemini settings.json (`~/.gemini/settings.json`)

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

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `YANDEX_ID_OAUTH_TOKEN` | yes | yes | Yandex OAuth token with Tracker, Wiki and Forms access. |
| `YANDEX_ID_OAUTH_TOKEN` | yes | yes | Yandex OAuth token with Tracker, Wiki and Forms access. |
| `YANDEX_ID_ORGANIZATION_ID` | yes | no | Yandex 360 organization id (sent as X-Org-Id). |
| `YANDEX_ID_ORGANIZATION_ID` | yes | no | Yandex 360 organization id (sent as X-Org-Id). |

## FAQ

### How do I connect my AI client to Yandex 360?

You can use the command `uvx --from 'yandex-cli[mcp]' ycli mcp start` and provide the required environment variables to your client.

### Can I run the MCP server in read-only mode?

Yes, you can start the server with the `--read-only` flag to serve only read operations.

### What services does ycli support?

The tool wraps operations for Yandex Tracker, Wiki, Forms, and DataLens.

### How do I authenticate with the CLI?

Use the command `ycli auth login` to sign in via Yandex ID and find your organization.
