tbank-myt
This server allows T-Bank employees to manage their work calendar, respond to meeting invitations, cancel organized meetings, and handle office parking and other office-related bookings within the internal MyT application.
Session Management:
myt_status— Check if the corporate session is alive.myt_refresh_session— Force-refresh the access token.
Calendar Management:
calendar_schedule— View work schedule for a date range (up to 14 days).calendar_event— Get meeting details (participants, link, location, etc.).calendar_respond— Respond to invitations (accept, decline, tentative).calendar_cancel— Cancel meetings you organized (irreversible, notifies participants).
Parking & Office Bookings:
parking_places— Find available parking spots for a date.parking_book— Book a parking spot.office_bookings— View existing office bookings (parking, workspaces, lockers).
Limitations: The server cannot create/reschedule meetings, book meeting rooms, cancel workspace/locker/parking bookings, or perform full login (login is done separately).
Click on "Install 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., "@tbank-mytзабронируй парковочное место на завтра"
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.
MyT MCP — рабочий календарь и парковка
MCP-сервер для MyT, внутреннего приложения Т-Банка для сотрудников: расписание встреч, ответы на приглашения, отмена встречи, свободные машиноместа и бронь парковки в офисе.
Это не банковский MCP. Другой аккаунт, другие хосты, другая сессия. Если тебе нужны счета, переводы и продукты — это tbank-mcp, отдельный сервер; они не пересекаются и не мешают друг другу.
Что умеет
10 тулов. Календарь: calendar_schedule, calendar_event, calendar_respond,
calendar_cancel. Парковка и офис: parking_places, parking_book,
parking_cancel, office_bookings. Сессия: myt_status, myt_refresh_session.
2 скила — myt-calendar и myt-parking: порядок вызовов, правила подтверждения
и то, что через MCP делать нельзя.
Чего тут нет, намеренно: создать или перенести встречу, забронировать переговорку, снять бронь рабочего места или локера. Соответствующих запросов у клиента не наблюдалось, а собирать их наугад на живом рабочем сервисе — это разослать мусор коллегам или снять чужую бронь.
Related MCP server: time-messenger-mcp-server
Установка
git clone <этот репозиторий> tbank-myt && cd tbank-myt
python3 -m venv .venv && .venv/bin/pip install -e .
# Пакет называется tbank_myt, а не src: соседний банковский MCP ставит «src», и в
# одном окружении они затирали бы друг друга.
# MCP-сервер:
claude mcp add myt -- ./.venv/bin/python -m tbank_myt.server
# Скилы — КОПИЯ, за репозиторием она не следует. Повторяй после каждого pull,
# иначе установленные скилы описывают старую версию тулов:
cp -r skills/* ~/.claude/skills/Вход — пароль не доходит до агента
.venv/bin/python login_cli.py <корпоративный логин> # из клона
# или, если пакет установлен: tbank-myt-login <корпоративный логин>
# [1/2] Пароль (не отображается): ****
# SMS отправлена: +7 XXX ***-**-XX
# [2/2] SMS-код: ****
#
# ✓ ГОТОВО! Сессия сохранена: ~/.local/share/tbank-myt/session.json (права 0600).Тула, принимающего пароль, здесь нет. Рабочий пароль открывает не один сервис, а все рабочие системы, и цена его попадания в транскрипт несопоставима с удобством.
Дальше сессия продлевается сама — обменом refresh-токена перед каждым запросом, за
120 секунд до истечения. Поэтому токен_живёт_ещё_секунд: 0 в myt_status() — это
не «сессия умерла», а «прошёл час с прошлого вызова». myt_refresh_session()
запускает обмен принудительно: он нужен, чтобы проверить именно refresh-токен
(access бывает жив, когда refresh уже отозван). Здешний refresh-токен при обмене не
ротируется, так что звать его можно свободно.
Полный вход нужен только когда тул сказал MYT SESSION EXPIRED. Работающий
MCP-сервер подхватит новую сессию сам, со следующего же вызова: он сверяет файл
перед каждым обращением. Перезапускать его или переподключать MCP не нужно —
раньше было нужно, и об этом никто не догадывался, потому что тул продолжал
советовать вход, который человек только что сделал.
Часовой пояс
Kairos отдаёт время встреч в UTC, а тулы приводят его к поясу сотрудника и
подписывают в шапке. Пояс не угадывается: в workplacer 66 зданий в восьми поясах, от
+02:00 до +10:00, поэтому он берётся из офиса самого сотрудника.
MYT_TZ переопределяет — +05:00 или Asia/Yekaterinburg. Нужен тому, кто уехал,
работает удалённо или сидит не в том офисе, что записан в кадрах. Если офис
определить не удалось, тулы возьмут Москву и скажут об этом в шапке, а не
покажут молча неверный час.
Доверие сертификатам
kairos.tbank.ru и workplacer.tbank.ru проходят на системных CA. А вот
magentbep.tcsbank.ru — хост выдачи и обмена токена — нет: он отдаёт цепочку с
Russian Trusted Root CA (Минцифры), которого не везёт ни один системный стор. Без
него не работает ни вход, ни продление, то есть ничего.
Корень приколот по SHA-256 и лежит в ca/roots/. Сертификаты никогда не берутся из
сети — подробности в шапке src/tls.py.
Переменные окружения
Переменная | Что делает |
| Путь к файлу сессии (по умолчанию |
| Пароль для |
| Часовой пояс сотрудника: |
|
|
| Куда писать трассировку вызовов |
| Дополнительный PEM в хранилище доверия |
Тесты
.venv/bin/python tests/run_all.pyТесты — обычные скрипты, без pytest; каждый запускается в своём процессе, а логи уводятся во временный каталог, чтобы прогон не дописывал ничего в реальные файлы.
Один из них, test_installed_package.py, проверяет не код, а установку: он
поднимает сервер подпроцессом из постороннего каталога и говорит с ним по MCP —
ровно как клиент, который стартует его из домашней директории. Остальные тесты
кладут корень репозитория в sys.path и по построению не замечают, что
pip install -e . устарел; а видно это только как Failed to connect в клиенте,
без объяснения причины. Если этот тест упал — переустанови пакет.
Форма каждого запроса сверена с реальным трафиком клиента и закреплена фикстурой
tests/fixtures/myt.json: структура настоящая, а люди, темы встреч, названия офисов
и машина — синтетические. Отдельно проверяется то, что дороже всего стоило понять:
floorId=nil уходит литеральной строкой, ответ на встречу пускают не чаще раза в
5 секунд, а 200 с пустым телом на брони и отмене ничего не значит — поэтому
тулы перечитывают состояние и печатают его, а не факт успешного вызова.
Безопасность
Пароль не проходит через агента: только вход отдельным процессом и
getpass.Файл сессии —
0600; запись атомарная, и провал записи не выдаётся за успех.Номер машины и корпоративный логин не попадают в трассировку дословно.
Захваты трафика и файл сессии — в
.gitignore.
Дисклеймер
Неофициальный клиент, сделанный по наблюдаемому поведению приложения. Работает с рабочим аккаунтом живого человека: пишущие тулы видят коллеги — ответ на встречу приходит организатору, отмена уведомляет всех участников, а занятое машиноместо снимается у кого-то другого.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceMCP server that seamlessly interacts with your Google Calendar, Gmail, Drive and so on.Last updated30MIT
- AlicenseAqualityAmaintenanceMCP server for T-Bank's Time Messenger (Mattermost-based) that enables AI assistants to read and send messages, manage threads, search channels and users, and track unread messages.Last updated22294MIT
- Alicense-qualityDmaintenanceUnified MCP server for calendar access connecting Exchange (EWS), Google Calendar, and CalDAV through a single MCP interface, enabling multi-calendar event management via natural language.Last updatedMIT
- FlicenseAqualityCmaintenanceAn MCP server that allows you to book and cancel office cab and lunch reservations using natural language, with optional automation features like attendance-based scheduling and Outlook leave detection.Last updated6
Related MCP Connectors
MCP server for Zooza — class scheduling, attendance, and booking for activity businesses.
MCP server for Appcircle mobile CI/CD platform.
MCP Server for agents to onboard, pay, and provision services autonomously with InFlow
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/icyberdeveloper/tbank-myt'
If you have feedback or need assistance with the MCP directory API, please join our Discord server