Bitrix24 MCP Bridge

Bitrix24 MCP Bridge

Локальный MCP-сервер, дающий ИИ-агенту read-only доступ к задачам, проектам и чатам Bitrix24 в объёме прав пользователя — через браузерное расширение, переиспользующее живую сессию. Без прав администратора и без официального REST-вебхука.

Category
Visit Server

README

Bitrix24 MCP Bridge

Локальный MCP-сервер, дающий ИИ-агенту read-only доступ к задачам, проектам и чатам Bitrix24 в объёме прав пользователя — через браузерное расширение, переиспользующее живую сессию. Без прав администратора и без официального REST-вебхука.

ИИ-агент ──stdio──► MCP-сервер ──WS (127.0.0.1, токен + Origin)──► Расширение (вкладка портала)
                                                                      │ fetch + свежий sessid + cookie
                                                                      ▼
                                                          Bitrix24 (задачи / группы / чаты)

Быстрый старт

Полная инструкция — docs/RUNBOOK.md.

Коротко (первый запуск):

  1. bun install && bun test
  2. cp .env.example .env и заполнить: BITRIX_MCP_TOKEN (openssl rand -hex 32) и BITRIX_ORIGIN
  3. Каталог методов: быстрый старт — cp actions.example.json actions.json (готовый рабочий каталог на все инструменты); свои методы — снять HAR, см. docs/reconnaissance.md
  4. bun run build:ext (берёт конфиг из .env), загрузить папку extension/dist/ в Chrome (Load unpacked)
  5. Зарегистрировать сервер у агента (абсолютный bun + абсолютные пути — иначе health-check «Failed to connect», см. RUNBOOK): claude mcp add bitrix24-bridge -s user -- "$(which bun)" --env-file=<abs>/.env run <abs>/src/index.ts
  6. Проверить по docs/e2e-checklist.md

Вся конфигурация — в gitignored .env (единая точка правды для сервера и сборки расширения).

Последующие запуски: держать открытой залогиненную вкладку портала — сервер поднимает агент сам.

Инструменты

bitrix_tasks_list, bitrix_task_get, bitrix_projects_list, bitrix_chats_recent, bitrix_chat_messages, и универсальный bitrix_call для любого разрешённого вызова из каталога.

Разработка

bun test               # юнит-тесты (bun:test)
bun run typecheck      # tsc --noEmit (сервер + extension)
bun run build:ext      # собрать расширение (esbuild → extension/dist/)
bun run build:ext:capture  # capture-сборка (перехват вызовов для авто-разведки)
bun run capture        # рекордер: пишет actions.draft.json из перехваченных вызовов

Документация

  • docs/RUNBOOK.md — первый и последующие запуски, диагностика, безопасность
  • docs/api-notes.md — карта API Bitrix24 (транспорт, конвенции params, поля) — для любого агента
  • docs/reconnaissance.md — как снять HAR и собрать actions.json
  • docs/e2e-checklist.md — сквозная проверка

Безопасность и модель доверия

Это research/PoC-инструмент. Прочтите перед использованием.

Граница доверия — локальная машина. Мост слушает только 127.0.0.1, требует токен первым сообщением и проверяет Origin (защита от cross-site WebSocket hijacking). Однако сама привилегия — живая аутентифицированная сессия Bitrix24 — физически находится в браузерном расширении, а не в сервере. Отсюда следствия, о которых нужно знать:

  • Read-only — это гарантия «доброй воли», а не защита. Ограничение на чтение проверяется в MCP-сервере по имени метода из каталога (allowlist) и не инспектирует значения params. Недоверенный вызывающий, управляющий мостом, может обойти его. Не полагайтесь на read-only как на барьер против атакующего.
  • Любой локальный процесс считается доверенным. Кто угодно, кто может занять loopback-порт или прочитать токен из .env / бандла расширения, способен управлять мостом в объёме прав сессии (чтение и запись). Токен не является границей против локального атакующего — он лишь отсекает случайные подключения.
  • Токен читаем со страницы портала. Коннектор работает в MAIN-world вкладки; сторонний скрипт на странице портала (виджет маркетплейса, XSS) теоретически может перехватить токен и открыть собственный канал к мосту.

Вывод: запускайте только на доверенной машине, где вы контролируете все локальные процессы; не используйте на общих или недоверенных хостах. Усиление границы (аутентификация пира внутри расширения, client-side allowlist, ISOLATED-world для токена) — известные открытые вопросы.

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured