Bitrix24 MCP with a local CRM cache
bitrix24mcp
A Bitrix24 MCP server that keeps a CRM copy in PostgreSQL or SQLite and answers an agent from cache instead of hitting REST every time
High risk
We rate an entry high when the tool writes to external systems, handles money, production databases or secrets, or runs arbitrary commands. The CLI installs it only with your consent.
Why this level
- Creates contacts, deals and leads and changes deal stages in a live portal
- Keeps a copy of CRM data, including customer data, in its own local database
Install
Manual install
pip install -e ".[webhook]"Installs with real-time webhook support; pip install -e . alone is enough for just the MCP server.
This is third-party code. Review the repository files before installing.
What it does
The server syncs contacts, companies, deals, leads, pipelines, stages and the activity feed from Bitrix24 into a local database and serves an agent's reads from that cache: search and lookups across all CRM entities, listing pipelines and a specific pipeline's stages, an aggregated client summary and CRM event feed, and a deal-portfolio report. Writes (creating a contact, deal, lead, a stage change, a feed comment) go to Bitrix24 directly and then update the local cache. Two auth methods: OAuth2 with a Bitrix24 login popup that fetches and stores tokens itself, or an inbound webhook with no app registration. An optional real-time HTTP webhook handler listens for contact, company, deal and lead change events so the cache updates instantly rather than only on manual sync.
Who it is for. For teams with a large CRM database who care about agent response speed and aggregated reports, not just one-off API calls.
Good fit when
- You need a fast aggregated client summary or deal-portfolio report without many REST calls
- You need instant cache updates through real-time webhooks
- You want a choice between OAuth2 with a login popup and a plain webhook depending on the situation
Not a fit when
- You are not ready to run a local database (PostgreSQL or SQLite) and keep it fresh
- You need only the freshest data with no cache: the cache TTL can serve a slightly stale answer between syncs
Example request
Show an aggregated summary for client Ivanov: deals, activities and the current portfolio reportLimitations
Reads are served from the local cache rather than Bitrix24 directly, so data can lag slightly between syncs, with freshness controlled by the CACHE_TTL setting. Instant updates need a separate webhook handler process and registering Bitrix24 events pointing at it. An initial sync_crm_data run is needed before first use.
How to disable. Stop the server and the webhook handler, delete the SQLite database file or the PostgreSQL database, and revoke the webhook or OAuth app in the portal.
MCP
- Transport
- stdio
- Authentication
- API key
| Environment variables | |
|---|---|
| BITRIX24_WEBHOOK_URL secret | The inbound webhook URL, an alternative to OAuth2 |
| BITRIX24_CLIENT_ID secret | The Bitrix24 server app's client ID for OAuth2 |
| DATABASE_URL required | The connection string for the local cache database, SQLite or PostgreSQL |
Security check
- Creates contacts, deals and leads and changes deal stages in a live portal
- Keeps a copy of CRM data, including customer data, in its own local database
README in short
The README describes the caching architecture (REST API, local database, MCP tools, agent), the package's module layout, a table of nineteen CRM and reporting tools, install via pip with optional webhook support, two auth methods with step-by-step instructions, bringing up PostgreSQL via Docker Compose, running the server, checking auth status, the initial sync, setting up real-time webhooks, a Claude Desktop config, and the database schema with the read-from-cache, write-direct-to-Bitrix24 principle.
FAQ
Which auth method is simpler?
An inbound webhook: no app registration needed, just create a webhook under Developer Resources and paste its URL.
How does the cache learn about changes in real time?
Through a separate uvicorn handler on port 8080, registered in Bitrix24 for events like onCrmDealAdd, onCrmContactUpdate and similar.
Related
Salesforce's official DX MCP server: work with orgs, metadata, data, users and Apex tests from your agent
Yandex Kit skills for store management
kit-skills
Yandex's official skill set: catalog, prices, stock, orders, storefront and a weekly checkup for a Yandex Kit store, through Claude Code or Codex
YouGile MCP by Indalo
YouGile MCP
Full 65-operation YouGile API coverage with configurable permissions, write confirmation and a shared company rate limit
Bitrix24 portal MCP server
MCP-сервер портала Битрикс24
Bitrix24's official per-portal MCP: an external agent uses OAuth or a token to read and change tasks, deals, meetings and mail