{"_id":"@ekho/time-messenger-mcp-server","_rev":"2-6e581f58eb0ba1850ea12e24173914ae","name":"@ekho/time-messenger-mcp-server","dist-tags":{"latest":"1.5.0"},"versions":{"1.4.0":{"name":"@ekho/time-messenger-mcp-server","version":"1.4.0","keywords":["mcp","model-context-protocol","time-messenger","mattermost","chat","messenger","t-bank","corporate-messenger"],"author":"","license":"MIT","_id":"@ekho/time-messenger-mcp-server@1.4.0","maintainers":[{"name":"ekho","email":"ekho@ekho.name"}],"homepage":"https://github.com/ekho/time-messenger-mcp-server#readme","bugs":{"url":"https://github.com/ekho/time-messenger-mcp-server/issues"},"bin":{"time-messenger-mcp-server":"dist/index.js"},"dist":{"shasum":"b008a409eca81c95f4add1ea72e974d8c81bf004","tarball":"https://registry.npmjs.org/@ekho/time-messenger-mcp-server/-/time-messenger-mcp-server-1.4.0.tgz","fileCount":5,"integrity":"sha512-hyl9prmeOg4iNl/Jk11fxMAajVqfSeLUGCKp2+djW0VeuiWiaMrpGvVrRVg8Vlb93n0Wa+DpqlagYD9J5aX2JQ==","signatures":[{"sig":"MEQCIEOz+nfEqd2F4FZXO+srA9XsXraW6+YclXiBt+JI+xqLAiBrxNUPUi1iy7LB0JlgkZ1wl1FkSdaHQhgHjoRxnngD3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53691},"main":"dist/index.js","type":"module","_from":"file:/var/folders/4v/scwck4ld5nz14y5_5g196phw0000gn/T/opencode/npm-release-1.4.0/ekho-time-messenger-mcp-server-1.4.0.tgz","types":"dist/index.d.ts","engines":{"node":">=20.19.0"},"scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsup src/index.ts --format esm --dts","start":"node dist/index.js","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ekho","email":"ekho@ekho.name"},"_resolved":"/var/folders/4v/scwck4ld5nz14y5_5g196phw0000gn/T/opencode/npm-release-1.4.0/ekho-time-messenger-mcp-server-1.4.0.tgz","_integrity":"sha512-hyl9prmeOg4iNl/Jk11fxMAajVqfSeLUGCKp2+djW0VeuiWiaMrpGvVrRVg8Vlb93n0Wa+DpqlagYD9J5aX2JQ==","repository":{"url":"git+https://github.com/ekho/time-messenger-mcp-server.git","type":"git"},"_npmVersion":"11.19.0","description":"MCP server for Time Messenger (Mattermost-based corporate messenger by T-Bank)","directories":{},"_nodeVersion":"26.7.0","dependencies":{"zod":"^3.23.8","dotenv":"^16.4.5","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.1","tsup":"^8.1.0","vitest":"^4.1.7","typescript":"^5.4.5","@types/node":"^20.14.2"},"_npmOperationalInternal":{"tmp":"tmp/time-messenger-mcp-server_1.4.0_1788201286488_0.43398413275544745","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@ekho/time-messenger-mcp-server","version":"1.5.0","description":"MCP server for Time Messenger (Mattermost-based corporate messenger by T-Bank)","type":"module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"time-messenger-mcp-server":"dist/index.js"},"publishConfig":{"access":"public"},"scripts":{"build":"tsup src/index.ts --format esm --dts","dev":"tsx src/index.ts","start":"node dist/index.js","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"keywords":["mcp","model-context-protocol","time-messenger","mattermost","chat","messenger","t-bank","corporate-messenger"],"author":"","license":"MIT","repository":{"type":"git","url":"git+https://github.com/ekho/time-messenger-mcp-server.git"},"bugs":{"url":"https://github.com/ekho/time-messenger-mcp-server/issues"},"homepage":"https://github.com/ekho/time-messenger-mcp-server#readme","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","dotenv":"^16.4.5","zod":"^3.23.8"},"devDependencies":{"@types/node":"^20.14.2","tsup":"^8.1.0","tsx":"^4.15.1","typescript":"^5.4.5","vitest":"^4.1.7"},"engines":{"node":">=20.19.0"},"_id":"@ekho/time-messenger-mcp-server@1.5.0","_nodeVersion":"26.7.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-AHJOvkkDrfyDCT8AfC9/VcD4HGRRYizLfxo2IAQneU+J1TY3ysBu00Bz02ac1BIGq/2W64JGUKS+E4wf/QppOQ==","shasum":"14464318f136206bebf938778f893cf74ca16dea","tarball":"https://registry.npmjs.org/@ekho/time-messenger-mcp-server/-/time-messenger-mcp-server-1.5.0.tgz","fileCount":5,"unpackedSize":56392,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCj//G4zXqVqhWB8Q/lEssmnZYiK5jnv8AGdDCh+gK7yQIgam1MU8yL+m13LYkdEH1Akbq5AVDAvrgv1PR5MXCOa5o="}]},"_npmUser":{"name":"ekho","email":"ekho@ekho.name"},"directories":{},"maintainers":[{"name":"ekho","email":"ekho@ekho.name"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/time-messenger-mcp-server_1.5.0_1788332386034_0.3074692290762453"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-31T18:34:46.300Z","modified":"2026-09-02T06:59:46.330Z","1.4.0":"2026-08-31T18:34:46.633Z","1.5.0":"2026-09-02T06:59:46.171Z"},"bugs":{"url":"https://github.com/ekho/time-messenger-mcp-server/issues"},"license":"MIT","homepage":"https://github.com/ekho/time-messenger-mcp-server#readme","keywords":["mcp","model-context-protocol","time-messenger","mattermost","chat","messenger","t-bank","corporate-messenger"],"repository":{"type":"git","url":"git+https://github.com/ekho/time-messenger-mcp-server.git"},"description":"MCP server for Time Messenger (Mattermost-based corporate messenger by T-Bank)","maintainers":[{"name":"ekho","email":"ekho@ekho.name"}],"readme":"# @ekho/time-messenger-mcp-server\n\nMCP (Model Context Protocol) сервер для корпоративного мессенджера [Time Messenger](https://time-messenger.ru/) (на базе Mattermost) от Т-Банка.\n\nПозволяет AI-ассистентам (Claude, OpenCode и др.) работать с Time Messenger: читать и отправлять сообщения, управлять тредами, искать каналы и пользователей, отслеживать непрочитанные сообщения.\n\n## Установка\n\n### Вариант 1: npx (без установки)\n\n```bash\nnpx @ekho/time-messenger-mcp-server\n```\n\n### Вариант 2: глобальная установка\n\n```bash\nnpm install -g @ekho/time-messenger-mcp-server\ntime-messenger-mcp-server\n```\n\n### Вариант 3: из исходников\n\n```bash\ngit clone https://github.com/ekho/time-messenger-mcp-server.git\ncd time-messenger-mcp-server\nnpm install\nnpm run build\nnode dist/index.js\n```\n\n## Настройка\n\n### Переменные окружения\n\n| Переменная | Описание | Обязательно |\n|---|---|---|\n| `TIME_URL` | URL вашего экземпляра Time Messenger | Да |\n| `TIME_TOKEN` | Personal Access Token | Один из способов |\n| `TIME_LOGIN_ID` | Email или логин | Один из способов |\n| `TIME_PASSWORD` | Пароль | Вместе с LOGIN_ID |\n| `TIME_REQUEST_TIMEOUT_MS` | Таймаут запроса к API, мс (по умолчанию `30000`) | Нет |\n| `TIME_USER_AGENT` | Переопределить User-Agent для запросов к API | Нет |\n\n### Способ 1: Personal Access Token (рекомендуется)\n\nPersonal Access Token — постоянный токен, который не истекает.\n\n**Как получить:**\n\n1. Откройте Time Messenger в браузере\n2. Аватарка → **Настройки аккаунта** → **Безопасность** → **Персональные токены доступа**\n3. Создайте токен с описанием \"MCP Server\"\n4. Скопируйте токен (показывается только один раз!)\n\n### Способ 2: Логин и пароль\n\nТокен сессии получается автоматически. Если включена MFA — потребуется ввести код через tool `login_with_mfa`.\n\n### Способ 3: OAuth2\n\nТолько для веб-приложений (требует браузерный редирект). [Документация](https://docs.time-messenger.ru/integrations/oauth2_service_provider)\n\n## Интеграция с AI-клиентами\n\n### Claude Desktop\n\n**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n\n**Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\nС токеном:\n```json\n{\n  \"mcpServers\": {\n    \"time\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@ekho/time-messenger-mcp-server\"],\n      \"env\": {\n        \"TIME_URL\": \"https://your-instance.time-messenger.ru\",\n        \"TIME_TOKEN\": \"your_token_here\"\n      }\n    }\n  }\n}\n```\n\nС логином/паролем:\n```json\n{\n  \"mcpServers\": {\n    \"time\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@ekho/time-messenger-mcp-server\"],\n      \"env\": {\n        \"TIME_URL\": \"https://your-instance.time-messenger.ru\",\n        \"TIME_LOGIN_ID\": \"your@email.com\",\n        \"TIME_PASSWORD\": \"your_password\"\n      }\n    }\n  }\n}\n```\n\n### OpenCode\n\n`~/.config/opencode/opencode.json`:\n\n```json\n{\n  \"mcp\": {\n    \"time\": {\n      \"type\": \"local\",\n      \"command\": [\"npx\", \"-y\", \"@ekho/time-messenger-mcp-server\"],\n      \"enabled\": true,\n      \"environment\": {\n        \"TIME_URL\": \"https://your-instance.time-messenger.ru\",\n        \"TIME_TOKEN\": \"your_token_here\"\n      }\n    }\n  }\n}\n```\n\n### Любой MCP-совместимый клиент\n\n```bash\nnpx @ekho/time-messenger-mcp-server\n```\n\nСервер использует stdio transport — стандартный для MCP.\n\n## Доступные инструменты\n\n### Аутентификация\n\n| Инструмент | Описание |\n|---|---|\n| `login_with_mfa` | Ввести MFA код при двухфакторной авторизации |\n\n### Сообщения\n\n| Инструмент | Описание |\n|---|---|\n| `send_message` | Отправить сообщение в канал или ответить в треде |\n| `get_channel_messages` | Получить сообщения из канала (с пагинацией) |\n| `get_thread_messages` | Получить все сообщения в треде |\n| `search_messages` | Поиск сообщений в команде |\n\n### Реакции\n\n| Инструмент | Описание |\n|---|---|\n| `add_reaction` | Поставить эмодзи-реакцию на сообщение |\n| `remove_reaction` | Убрать свою реакцию с сообщения |\n| `get_reactions` | Список реакций на сообщении |\n\n`emoji_name` принимает имя эмодзи (`thumbsup`), запись с двоеточиями (`:tada:`)\nили сам символ для распространённых эмодзи (`👍`).\n\n### Треды\n\n| Инструмент | Описание |\n|---|---|\n| `list_threads` | Список отслеживаемых тредов в команде |\n| `get_thread_stats` | Статистика непрочитанных тредов |\n| `get_thread` | Информация о конкретном треде |\n| `follow_thread` | Начать отслеживание треда |\n| `unfollow_thread` | Прекратить отслеживание треда |\n| `mark_thread_read` | Отметить тред как прочитанный |\n\n### Каналы\n\n| Инструмент | Описание |\n|---|---|\n| `list_channels` | Список каналов в команде |\n| `get_channel` | Информация о канале |\n| `search_channels` | Поиск каналов |\n| `get_channel_unread` | Непрочитанные сообщения в канале |\n| `time_mark_channels_read` | Отметить прочитанными все доступные каналы при обязательном `mode: \"all\"` или только по явному непустому списку ID при `mode: \"selected\"` |\n\n### Команды\n\n| Инструмент | Описание |\n|---|---|\n| `list_teams` | Список команд пользователя |\n| `get_team` | Информация о команде |\n| `get_teams_unread` | Непрочитанные во всех командах |\n| `get_team_unread` | Непрочитанные в конкретной команде |\n\n### Пользователи\n\n| Инструмент | Описание |\n|---|---|\n| `get_me` | Информация о текущем пользователе |\n| `get_user` | Информация о пользователе по ID |\n| `search_users` | Поиск пользователей |\n\n## MFA (двухфакторная аутентификация)\n\nЕсли на вашем аккаунте включена MFA:\n\n1. При первом запросе получите ошибку: `MFA verification required`\n2. Используйте инструмент `login_with_mfa` с 6-значным кодом из аутентификатора\n3. После успешного ввода все инструменты будут работать до конца сессии\n\n## Разработка\n\n```bash\n# Установка зависимостей\nnpm install\n\n# Сборка\nnpm run build\n\n# Разработка\nnpm run dev\n\n# Проверка типов\nnpm run typecheck\n```\n\n## Структура проекта\n\n```\nsrc/\n├── index.ts              # MCP сервер\n├── client/\n│   └── time-client.ts    # Time API клиент\n├── tools/\n│   ├── auth.ts           # MFA аутентификация\n│   ├── messages.ts       # Сообщения\n│   ├── reactions.ts      # Эмодзи-реакции\n│   ├── threads.ts        # Треды\n│   ├── channels.ts       # Каналы\n│   ├── teams.ts          # Команды\n│   ├── users.ts          # Пользователи\n│   └── types.ts          # Типы инструментов\n└── types/\n    └── time-api.ts       # TypeScript типы для Time API\n```\n\n## API документация\n\n- [Time Messenger API v4](https://docs.time-messenger.ru/api/v4/введение)\n- [Time Messenger API v5](https://docs.time-messenger.ru/api/v5/errors)\n\n## Требования\n\n- Node.js 20.19+\n\n## Лицензия\n\nMIT\n","readmeFilename":"README.md"}