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
- 0 ★ on the repository
- Last commit
Broad access
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
- Works in
- Services
Manual install
pip install -e ".[webhook]"Installs with real-time webhook support; pip install -e . alone is enough for just the MCP server.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- 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
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 reportMCP
- Transport
- stdio
- Authentication
- key is optional
Environment variables
BITRIX24_WEBHOOK_URLsecret- The inbound webhook URL, an alternative to OAuth2
BITRIX24_CLIENT_IDsecret- The Bitrix24 server app's client ID for OAuth2
DATABASE_URLrequired- The connection string for the local cache database, SQLite or PostgreSQL
Limitations
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.
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.
Discussion
No questions or reviews yet.
Related
All Bitrix24 toolsAn MCP server for Bitrix24 CRM contacts and deals via an inbound webhook: search, lists and deal stage changes
Bitrix24 MCP by Bit2Beat
Bitrix24 MCP Server
Bitrix24 MCP server over an inbound webhook: CRM, tasks, disk, calendar, chat, business processes and config migration between portals
Bitrix24 MCP Server (gunnit)
Bitrix24 MCP Server
A TypeScript MCP server for Bitrix24 CRM: contacts, companies, leads, deals, tasks and sales rep performance reports
A read-only MCP server that reads Bitrix24 deals, contacts and companies with SELECT queries against the database, bypassing the REST API
Bitrix24 MCP Server (qwito)
Bitrix24 MCP Server
A TypeScript MCP server with 45-plus tools for Bitrix24 CRM: contacts, deals, leads, companies, tasks and activity analytics
Bitrix24 MCP server with sales analytics
Bitrix24 MCP Server
Bitrix24 MCP server in TypeScript with a broad set of CRM tools plus a dedicated group for monitoring manager activity and performance
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| Bitrix24 MCP with a local CRM cache (this card) | no | key is optional | 0 | |
| Bitrix24 MCP by Bit2Beat | no | API key | 6 | CRM, tasks, drive |
| Bitrix24 MCP Server on an OAuth app | no | OAuth | 1 | knowledge base |
| Bitrix24 MCP server with call transcription | no | API key | 1 | tasks, CRM and call transcripts |
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.