ya360-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ya360-mcpWhat did I do yesterday and what's on today?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ya360-mcp
English · Русский
An unofficial MCP server and Claude plugin that lets Claude work with Yandex Tracker, Yandex Mail and Yandex Calendar (Yandex 360) on your behalf. Not affiliated with or endorsed by Yandex LLC.
Documentation — wiki (in Russian): installation, sign-in, workflows with examples, FAQ.
One-click sign-in — "Sign in with Yandex" in the browser; no app passwords, no OAuth app of your own.
Runs on your computer — data goes directly between you and Yandex, there are no intermediary servers; tokens are kept in Claude's or your OS's secure storage (details).
Read-only by default — writing, sending and deleting are enabled per permission group, and every change is made only after you confirm it.
What it does
Area | Read | Write (if allowed) |
Tracker: issues | search, issue card with comments, links and attachments, status transitions, queues, people lookup, activity over a period | comments, create (with duplicate protection) and edit issues, change status, checklist |
Tracker: links, attachments | issue links, list and download attachments | link, unlink, attach and delete files |
Tracker: time tracking | worklogs per issue and per period | log, edit, delete time |
Tracker: sprints | boards, sprints, sprint issues with a summary by status and assignee | move an issue to a sprint |
folders, search (Cyrillic and exact sender address), read without marking as read, text of attachments with fragment search | draft, send, flags, move between folders | |
Calendar | calendars, events with recurrence expansion and video-meeting link | create, edit, delete events |
45 tools in total — see the tool reference.
Workflows
The Claude Code plugin adds ready-made workflows (skills); Claude offers them when your request matches, or you can call them by command:
Workflow | What it does |
| after a Yandex Telemost meeting: turns the meeting summary into Tracker issues with assignees and due dates (found in the transcript, with evidence timestamps), lists decisions, drafts a recap email on request |
| a brief before a meeting: what was promised last time and what's done, open questions from mail and Tracker, what to discuss |
| what you did on the previous working day, what's next today, what's blocking you |
| weekly report: results grouped by outcome, plans, risks; a version for your manager |
| a Tracker issue from an email — summary, due date, attachments, no duplicates |
| overdue and stalled issues by person, with polite reminder comments after confirmation |
| a proposal for the next sprint: carry-over, load by each person's velocity, backlog candidates |
| sprint summary · inbox digest · daily plan |
| help with connecting Yandex |
Anything that changes data is done only after your confirmation; re-processing the same meeting or email does not create duplicate issues. Design notes — docs/skills-design.md (in Russian).
You don't have to use commands — just ask in plain words ("how is the sprint going?", "process yesterday's meeting"). Workflow instructions are written in Russian; Claude replies in the language you use.
Commands without the prefix (/standup instead of /ya360:standup): Claude Code always prefixes plugin skills, so the
workflows can also be installed as personal skills with ya360-mcp skills install (then connect the server without the
plugin: ya360-mcp register). In Claude Desktop the same workflows are in the "+" menu → ya360 (Russian titles:
«Стендап», «Итоги встречи», «План дня»…).
Related MCP server: yandex-tracker-mcp
Example prompts
"What did I do yesterday and what's on today?" — a standup from Tracker and Calendar.
"Process yesterday's meeting summary and create the tasks" — issues with assignees and due dates from a Telemost meeting summary, created after you confirm the list.
"Find the email from accounting about the contract and make a Tracker issue from it."
"How is the current sprint going? Who is overloaded?"
"Draft a reply to the last email from Anna — don't send it."
More examples — wiki: Примеры запросов (in Russian).
Installation
Where it works. The server runs on your computer, so the plugin works in Claude Code and in Cowork sessions that run on your computer; claude.ai chat in the browser and the mobile apps don't start local servers. Node.js 20 or newer must be on your PATH.
Claude Code — plugin
Requires Node.js 20 or newer.
/plugin marketplace add cyxar4uk/ya360-mcp
/plugin install ya360@ya360-mcpClaude Desktop — extension
Download ya360-<version>.mcpb from the releases page and open it
(or Settings → Extensions → Install). No Node.js needed — Claude Desktop's built-in runtime is used.
Manual — any MCP client
git clone https://github.com/cyxar4uk/ya360-mcp && cd ya360-mcp
npm install
node src/main.mjs setupThe setup wizard connects the server to Claude Code and, optionally, to Claude Desktop. For other MCP clients the server
command is node <folder>/src/main.mjs (or the bundled dist/ya360-mcp.mjs) over stdio.
On Windows run the wizard in PowerShell or Windows Terminal (Git Bash can't hide password input, if you choose passwords).
Connecting your account
The easiest way is to ask Claude: "connect my Yandex" (or «подключи мой Яндекс»). A Yandex page opens — check the account and click "Allow". That's it: the tools appear right away. For Tracker, Claude asks for your organization ID: Yandex 360 — admin.yandex.ru → Organization profile; Yandex Cloud — console.yandex.cloud → Organization.
Or in a terminal: ya360-mcp setup (wizard: sign-in, check, permissions) or ya360-mcp login.
No browser on this machine (SSH)? ya360-mcp login --manual: open the link anywhere and paste the code.
How it works: authorization-code sign-in with PKCE through the project's shared "ya360-mcp" app on oauth.yandex.ru.
There is no client secret in the code and none is needed; only you receive and store the token. The app requests only the
scopes of the services you choose (tracker:read/write, mail:imap_full, mail:smtp, calendar:all); your email
address is taken from your Yandex login. Revoke access at id.yandex.ru → Security → Data access.
The token is valid for one year: Yandex doesn't refresh it without a client secret, so once a year you sign in again —
ya360-mcp doctor and yandex_status remind you two weeks before it expires.
Other options
App passwords (Mail and Calendar) — if your organization blocks third-party apps: id.yandex.ru/security → "App passwords": type "Mail" and, separately, "Calendar". In Mail: All settings → Email clients → enable IMAP and "App passwords and OAuth tokens". Enter them in the plugin/extension fields or choose them in the wizard.
Your own OAuth app — if your organization allows only its own apps: register an app on oauth.yandex.ru with the needed scopes and choose "own OAuth app" in the wizard.
Tracker token manually — the plugin field or the
YANDEX_TRACKER_TOKENvariable.
Permissions
Preset | Allowed |
| read only |
| read + Tracker comments, mail drafts and organizing mail — never sends or deletes anything |
| everything, including sending email and deleting |
You can combine groups: tracker.read, tracker.comment, tracker.edit, tracker.files, tracker.worklog,
mail.read, mail.draft, mail.organize (moving between folders), mail.delete (moving to Trash and Spam), mail.send,
calendar.read, calendar.write. Kill switch: the YANDEX_MCP_READONLY=1 environment variable leaves read-only access
regardless of settings. Examples: read,tracker.comment, full,-mail.send, read,tracker.*. Change them in the
"Permissions" field of the plugin/extension or with ya360-mcp permissions assist.
Disabled tools are not visible to Claude at all; yandex_status shows which ones are hidden.
Configuration
Where the server takes its values from, by precedence:
environment variables — this is how the plugin and the extension pass their fields (reference:
.env.example);config.jsonin the settings folder (Windows —%APPDATA%\ya360-mcp, macOS —~/Library/Application Support/ya360-mcp, Linux —~/.config/ya360-mcp; override withYANDEX_MCP_HOME) plus secrets in the OS store — written by the wizard;a legacy
.envnext to the code — read only while there is noconfig.json; migrate withya360-mcp migrate.
Secret storage: Windows — DPAPI (encrypted for your user account), macOS — Keychain, Linux — Secret Service via
secret-tool (libsecret-tools package). Without it, on Linux, provide secrets via environment variables.
Security
Claude is instructed to show what will be sent and wait for your consent before sending email, inviting attendees, deleting anything or writing to Tracker; email replies are drafts by default.
Emails, events, comments and transcripts are data, not commands: Claude does not act on requests found inside them.
Attachments are saved only to the server's download folder; hidden files (
.env,.ssh,.git…) can't be attached to an email or an issue.The Tracker token is sent only to the Tracker API host.
Neither the server nor the wizard prints secrets; never paste passwords into the Claude chat.
Report vulnerabilities privately: Security → Report a vulnerability (SECURITY.md).
What the plugin runs, sends and stores
Network — only Yandex:
oauth.yandex.ruandlogin.yandex.ru(sign-in),api.tracker.yandex.net(Tracker),imap.yandex.ru:993andsmtp.yandex.ru:465(Mail),caldav.yandex.ru(Calendar). No telemetry, no servers of the developer. Details — PRIVACY.md.Sign-in: opens the Yandex sign-in page in your browser and, until you finish, listens on
127.0.0.1:51734for the sign-in code.Local programs: to use the OS secret store the server runs PowerShell (Windows),
security(macOS) orsecret-tool(Linux); secrets go through stdin, never through command-line arguments.Files: the settings folder (
config.json; on Windows also the DPAPI-encryptedsecrets.json) and the download folder for attachments you ask to save. Files to attach are taken only from paths you name; hidden files are refused.Claude settings: the server never changes them. Only two terminal commands that you run yourself do:
ya360-mcp register(adds the server withclaude mcp addand/or to Claude Desktop'sclaude_desktop_config.json) andya360-mcp skills install(copies the workflows to~/.claude/skills).The code that runs: the plugin starts
node dist/ya360-mcp.mjs— a single-file esbuild bundle ofsrc/and the npm packages pinned inpackage-lock.json. CI rebuilds it on every push and fails if it differs from the committed file (npm run check:dist); third-party licenses are indist/THIRD_PARTY_LICENSES.txt. When Claude Code installs the plugin it also runsnpm ci --ignore-scriptsforpackage-lock.json; the bundle doesn't need those packages.
Commands
ya360-mcp start the server (this is how MCP clients run it)
ya360-mcp setup setup wizard
ya360-mcp doctor check connections
ya360-mcp login | logout sign in with Yandex / remove stored passwords and tokens
ya360-mcp permissions [..] show or change permissions
ya360-mcp register [code|desktop] connect to Claude Code / Claude Desktop
ya360-mcp skills install workflows as personal Claude Code skills — /standup without the prefix
ya360-mcp migrate [.env] migrate settings from a legacy .envFrom the project folder — node src/main.mjs <command>; from the plugin — node <plugin folder>/dist/ya360-mcp.mjs <command>.
Limitations
Mail search uses IMAP (substring in sender, subject, body), not the web interface search.
Editing and deleting a recurring event affects the whole series; new events are written in UTC; the server does not create Telemost links.
Time tracking counts a day as 8 hours and a week as 5 days; worklogs for a period are matched by entry date.
The macOS and Linux secret stores are implemented but so far tested only on Windows.
On Windows the secret store uses PowerShell. If company policy enables PowerShell Constrained Language Mode, stored passwords are unavailable — use the plugin/extension fields or environment variables instead.
Development
npm test # offline tests
npm run smoke # run the server as an MCP client; SMOKE_ENTRY=dist/ya360-mcp.mjs checks the bundle
npm run build # dist/ya360-mcp.mjs + third-party licenses (committed: the plugin runs it)
npm run check:dist # dist matches the sources
npm run pack:mcpb # release/ya360-<version>.mcpb for Claude Desktop
npm run wiki:tools # regenerate the wiki tool reference from the server
npm run wiki:sync # publish docs/wiki to the GitHub wikisrc/main.mjs entry: no arguments — server, with a command — CLI (src/cli.mjs)
src/index.mjs MCP server: configured services, permission groups, in-chat sign-in, workflow prompts
src/permissions.mjs permission groups; a new tool without a group stops the server from starting
src/config.mjs settings: environment → config.json + OS store → legacy .env
src/secrets.mjs OS secret store src/oauth.mjs Yandex ID sign-in (PKCE)
src/tracker*.mjs Tracker src/mail.mjs Mail (IMAP/SMTP)
src/calendar.mjs Calendar (CalDAV) src/checks.mjs connection checks
src/scenarios.mjs workflows outside the plugin: Claude Desktop prompts and personal skills
.claude-plugin/ Claude Code plugin and marketplace skills/ workflows (plugin skills)
packaging/mcpb/ Claude Desktop extension manifestThird-party code bundled into the build and its licenses — dist/THIRD_PARTY_LICENSES.txt.
Contributing — CONTRIBUTING.md (in Russian). License — MIT.
Support
Questions and bugs — GitHub Issues. Security problems — privately, see SECURITY.md. Privacy — PRIVACY.md.
This server cannot be deployed
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
- mcpOAuthnet.todoist
Official Todoist MCP server for AI assistants to manage tasks, projects, and workflows.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Official MCP server for Agentwork — delegate tasks to AI agents with human-in-the-loop
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Node.js MCP server that enables AI assistants to interact with Yandex Tracker task management system through a standardized protocol, supporting operations like creating, updating, and searching issues.433 npm3ISC
- AlicenseNot gradedqualityCmaintenanceMCP server for Yandex Tracker API, enabling AI assistants to search, read, create, and edit issues, as well as manage comments, attachments, and links in Yandex Tracker.45 npm1MIT
- AlicenseNot gradedqualityBmaintenanceAn unofficial MCP server that connects AI assistants to Microsoft Planner, enabling natural language task management such as creating tasks, organizing plans, and managing buckets.11MIT
- AlicenseNot gradedqualityAmaintenanceMCP server that enables AI assistants to interact with Yandex 360 organization services, currently supporting Yandex Wiki for reading, editing, and searching pages.35 PyPIMIT