time-messenger-mcp-server
MCP 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.
README
time-messenger-mcp-server
MCP (Model Context Protocol) сервер для корпоративного мессенджера Time Messenger (на базе Mattermost) от Т-Банка.
Позволяет AI-ассистентам (Claude, OpenCode и др.) работать с Time Messenger: читать и отправлять сообщения, управлять тредами, искать каналы и пользователей, отслеживать непрочитанные сообщения.
Установка
Вариант 1: npx (без установки)
npx time-messenger-mcp-server
Вариант 2: глобальная установка
npm install -g time-messenger-mcp-server
time-messenger-mcp-server
Вариант 3: из исходников
git clone https://github.com/anomalyco/time-messenger-mcp-server.git
cd time-messenger-mcp-server
npm install
npm run build
node dist/index.js
Настройка
Переменные окружения
| Переменная | Описание | Обязательно |
|---|---|---|
TIME_URL |
URL вашего экземпляра Time Messenger | Да |
TIME_TOKEN |
Personal Access Token | Один из способов |
TIME_LOGIN_ID |
Email или логин | Один из способов |
TIME_PASSWORD |
Пароль | Вместе с LOGIN_ID |
Способ 1: Personal Access Token (рекомендуется)
Personal Access Token — постоянный токен, который не истекает.
Как получить:
- Откройте Time Messenger в браузере
- Аватарка → Настройки аккаунта → Безопасность → Персональные токены доступа
- Создайте токен с описанием "MCP Server"
- Скопируйте токен (показывается только один раз!)
Способ 2: Логин и пароль
Токен сессии получается автоматически. Если включена MFA — потребуется ввести код через tool login_with_mfa.
Способ 3: OAuth2
Только для веб-приложений (требует браузерный редирект). Документация
Интеграция с AI-клиентами
Claude Desktop
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
С токеном:
{
"mcpServers": {
"time": {
"command": "npx",
"args": ["-y", "time-messenger-mcp-server"],
"env": {
"TIME_URL": "https://your-instance.time-messenger.ru",
"TIME_TOKEN": "your_token_here"
}
}
}
}
С логином/паролем:
{
"mcpServers": {
"time": {
"command": "npx",
"args": ["-y", "time-messenger-mcp-server"],
"env": {
"TIME_URL": "https://your-instance.time-messenger.ru",
"TIME_LOGIN_ID": "your@email.com",
"TIME_PASSWORD": "your_password"
}
}
}
}
OpenCode
~/.config/opencode/opencode.json:
{
"mcp": {
"time": {
"type": "local",
"command": ["npx", "-y", "time-messenger-mcp-server"],
"enabled": true,
"environment": {
"TIME_URL": "https://your-instance.time-messenger.ru",
"TIME_TOKEN": "your_token_here"
}
}
}
}
Любой MCP-совместимый клиент
npx time-messenger-mcp-server
Сервер использует stdio transport — стандартный для MCP.
Доступные инструменты
Аутентификация
| Инструмент | Описание |
|---|---|
login_with_mfa |
Ввести MFA код при двухфакторной авторизации |
Сообщения
| Инструмент | Описание |
|---|---|
send_message |
Отправить сообщение в канал или ответить в треде |
get_channel_messages |
Получить сообщения из канала (с пагинацией) |
get_thread_messages |
Получить все сообщения в треде |
search_messages |
Поиск сообщений в команде |
Треды
| Инструмент | Описание |
|---|---|
list_threads |
Список отслеживаемых тредов в команде |
get_thread_stats |
Статистика непрочитанных тредов |
get_thread |
Информация о конкретном треде |
follow_thread |
Начать отслеживание треда |
unfollow_thread |
Прекратить отслеживание треда |
mark_thread_read |
Отметить тред как прочитанный |
Каналы
| Инструмент | Описание |
|---|---|
list_channels |
Список каналов в команде |
get_channel |
Информация о канале |
search_channels |
Поиск каналов |
get_channel_unread |
Непрочитанные сообщения в канале |
Команды
| Инструмент | Описание |
|---|---|
list_teams |
Список команд пользователя |
get_team |
Информация о команде |
get_teams_unread |
Непрочитанные во всех командах |
get_team_unread |
Непрочитанные в конкретной команде |
Пользователи
| Инструмент | Описание |
|---|---|
get_me |
Информация о текущем пользователе |
get_user |
Информация о пользователе по ID |
search_users |
Поиск пользователей |
MFA (двухфакторная аутентификация)
Если на вашем аккаунте включена MFA:
- При первом запросе получите ошибку:
MFA verification required - Используйте инструмент
login_with_mfaс 6-значным кодом из аутентификатора - После успешного ввода все инструменты будут работать до конца сессии
Разработка
# Установка зависимостей
npm install
# Сборка
npm run build
# Разработка
npm run dev
# Проверка типов
npm run typecheck
Структура проекта
src/
├── index.ts # MCP сервер
├── client/
│ └── time-client.ts # Time API клиент
├── tools/
│ ├── auth.ts # MFA аутентификация
│ ├── messages.ts # Сообщения
│ ├── threads.ts # Треды
│ ├── channels.ts # Каналы
│ ├── teams.ts # Команды
│ ├── users.ts # Пользователи
│ └── types.ts # Типы инструментов
└── types/
└── time-api.ts # TypeScript типы для Time API
API документация
Требования
- Node.js 18+
Лицензия
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.