Lets an AI agent read and manage Bitrix24 CRM data including deals, leads, contacts, and companies through a local searchable store.
Also known as WireCatLabs/bitrix24-cli, bitrix24-cli, @wirecat/bitrix24-cli
- Stars
- 1
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- 0.23.0
- Last commit
- Nov 13, 2026
- License
- Apache-2.0
What is WireCat b24 MCP?
WireCat b24 lets an AI agent read and manage Bitrix24 CRM data including deals, leads, contacts, and companies through a local searchable store.
Summary generated from the project's README
About WireCat b24 MCP server
WireCat b24 provides a command-line interface and MCP server for managing Bitrix24 CRM data. It allows AI agents and developers to interact with deals, leads, contacts, companies, and pipelines. The tool functions by connecting to a Bitrix24 portal via an incoming webhook, acting with the specific permissions of the employee associated with that webhook. It requires Node.js 22.16+ or Node.js 24+ to operate.
A unique feature is the local WireCat store, which synchronizes deals and leads to enable offline searching and listing. This local storage allows an agent to access CRM data alongside other WireCat tools. Users can configure specific permission levels like allow, ask, readonly, or deny for different commands and REST methods to ensure the agent operates within defined boundaries. The server can be used locally via the terminal or exposed to browser-based AI clients like ChatGPT or Claude through an MCP setup.
What you can do with it
- 1Sync CRM data for offline accessA developer can synchronize specific user deals and leads into a local store to perform searches without a network connection.
- 2Manage sales pipelines via AIAn AI agent can move a specific deal to a new stage such as contract signed.
- 3Execute arbitrary Bitrix24 REST commandsUsers can run any available Bitrix24 REST method through the interface while respecting established permission levels.
- 4Update contact informationAn agent can modify contact details like a job title using Bitrix24 field names.
Written from the project's README. Every use case is checked against a quote from it.
How to install WireCat b24 MCP
Formats verified 10 Nov 2026Install WireCat b24 MCP in Claude Code
$ claude mcp add bitrix24-cli -- npx -y @wirecat/bitrix24-cliInstall WireCat b24 MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"bitrix24-cli": {
"command": "npx",
"args": [
"-y",
"@wirecat/bitrix24-cli"
]
}
}
}Install WireCat b24 MCP in VS Code
.vscode/mcp.json
{
"servers": {
"bitrix24-cli": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@wirecat/bitrix24-cli"
]
}
}
}Install WireCat b24 MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"bitrix24-cli": {
"command": "npx",
"args": [
"-y",
"@wirecat/bitrix24-cli"
]
}
}
}Install WireCat b24 MCP in Codex
~/.codex/config.toml
[mcp_servers.bitrix24-cli] command = "npx" args = ["-y", "@wirecat/bitrix24-cli"]
Install WireCat b24 MCP in Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"bitrix24-cli": {
"command": "npx",
"args": [
"-y",
"@wirecat/bitrix24-cli"
]
}
}
}Automated checks
Ran Nov 14, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablewirecatlabs/bitrix24-cli is public and reachablegithub.com/wirecatlabs/bitrix24-cli ↗Pass
- Package names this repository as its source@wirecat/bitrix24-cli names wirecatlabs/bitrix24-cli as sourcenpmjs.com/package/@wirecat/bitrix24-cli ↗Pass
- Build provenance (Sigstore attestation)Sigstore attestation for @wirecat/bitrix24-clinpmjs.com/package/@wirecat/bitrix24-cli/v/0.22.0#provenance ↗Pass
- Open source license (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-11-14github.com/wirecatlabs/bitrix24-cli ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNo popular package one edit away from @wirecat/bitrix24-cliPass
- No critical advisory in the package or its dependenciesthe package checked; no critical advisoryosv.dev ↗Pass
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHubb24 — Bitrix24 CRM CLI for AI agents
b24 reads and changes a Bitrix24 portal's sales data from the terminal, from scripts and from AI agents: deals,
leads, contacts, companies, pipelines and their stages, products and employees. It signs in with one of the portal's
incoming webhooks and acts with the rights of the employee who made it. Deals and leads are copied into the local
WireCat store, so lists and search work offline, beside your other WireCat tools' data.
Quick start
npm install -g @wirecat/bitrix24-cli
b24 skill install # the agent skill, for Claude Code, Codex, Gemini CLI and OpenClaw
b24 work session start # paste the webhook address; it is kept in the keyring
b24 work users list # find your own user id, and any colleague's
b24 work config set crm.bitrix24:example.bitrix24.ru.unassigned 1 # whose deals and leads to copy
b24 work sync # copies their deals, leads and clients into the local store
b24 work deals list status:open
example.bitrix24.ru is your portal's host, and 1 the ids you chose, comma-separated. Until you choose, a sync
copies nothing and says so: a webhook is often a colleague's, so b24 never picks whose deals you copy. An
administrator's webhook may choose anyone; an employee's may choose only themselves.
work is a profile: a name you choose for one portal. It is the first word of every command that uses an account,
and none is ever assumed. Make the webhook in Bitrix24 under Developer resources → Other → Incoming webhook, with the
scopes crm, user_basic and department (for reporting lines). You need Node.js 22.16 or a later 22.x, or Node.js
24 or later. b24 doctor needs no network and shows what is set up.
More: installation, usage.
What you can do
b24 work leads list stage:"In progress" --json # from the store, offline too
b24 work deals move deal:42 "Contract signed" # checks deals.move, and deals.close for a won or lost stage
b24 work search all kitchen # stored deals and leads beside your other WireCat data
b24 work people update 4 --body '{"post":"Buyer"}' # a contact, in Bitrix24's own field names
b24 work api call crm.deal.fields --dry-run # any REST method, with every permission it checks
Every write answers an operation_id and can be previewed with --dry-run. More: usage and the
command reference.
For AI agents
- An agent with a terminal (Claude Code, Codex, Gemini CLI, OpenClaw):
b24 skill installwrites the skill, the agent's instruction sheet. - An MCP client:
b24 work mcp serve, orb24 work mcp add claude-code.mcp serve --permission deals=denytightens the levels for one server; an agent can never loosen them. - ChatGPT or Claude in a browser:
b24 work mcp serve --httpbehind your own tunnel. - A common task, step by step:
b24 guidelists scenarios, such asb24 guide safe-agent-writes.
Text from the portal is marked untrusted in MCP answers: it is data for the agent, never instructions. api call
and session start/end are never offered over MCP. With --json, every command prints one JSON value, and an error
comes as JSON with a code to branch on.
More: MCP, permissions, agents.
Why b24
- Your CRM where your agent works. An agent reads a client's deals and leads, moves them through the pipeline and updates contacts, in the terminal or over MCP.
- Offline and searchable. Deals, leads, pipelines and stages are copied to the local WireCat store, so lists and
search allanswer without the portal, and memo sees a client's deals beside your mail and meetings. - Your rules, not the agent's. Every command and every REST method has a permission level per profile. Deletes ask first, assigning work to a colleague is off until you allow it, and an MCP server can only tighten the levels.
- Nothing private on screen or in logs. The webhook address stays in the keyring and never appears in output, errors or run records.
Main features
- Sync.
synccopies pipelines, stages, deals, leads, companies, contacts, employees, departments and your own companies; the nextsyncreads only what changed.scheduleruns it on a timer. It copies the deals and leads of the users you choose, and their clients; no sync copies the whole CRM, an administrator's either. - Who is who. A contact belongs to its companies, a deal names its contacts and the employee responsible, and employees report to their department's head. See Who is who.
- Reads.
deals,leads,pipelines,stagesandfieldsread the store;people,organizations,productsandusersask the portal. Each list takes a query, such asstatus:openorstage:"In progress", and the lists of deals, leads, people and organizations take--format csv. - Writes. Create, update, move, close and delete deals and leads; create and update contacts and companies, with
custom fields by their labels. Every write answers an
operation_idand can be previewed with--dry-run. - Any REST method.
api callruns any Bitrix24 method and checks every permission it touches first.
Sign-in and profiles
A profile is a name you choose for one portal, such as work. It is the first word of every command that uses an
account, and none is ever assumed: a command without one stops and lists the profiles on this computer.
B24_PROFILE=work sets it for one shell session.
b24 work session start asks for the webhook address without showing it, checks it against the portal and keeps it
in the system keyring; --credential-storage file keeps it in a private file instead. session status --check shows
the employee the webhook acts as, session end forgets the address on this computer, and session list lists the
profiles. account remove --keep-data or --delete-data forgets a profile, keeping or deleting its copy of the
portal. A webhook that another profile already uses is refused at sign-in.
With a local application you create in the portal, b24 work session start --portal example.bitrix24.ru --client-id <id> signs in through the browser instead, and b24 acts with the rights of the employee who signs in.
More: sign in, with a local application, profiles.
Settings and permissions
Each profile has a permission level for every command and every REST method: allow, ask, readonly or deny.
Assigning a record to another employee is denied until you allow it, a delete asks first in the terminal, and methods
that message people, publish or start the portal's automation are denied, reads too.
Over MCP ask does not ask: the write goes ahead, since no one is there to answer. A stage change can start the
portal's own robots, which may write to your clients, so deals.move=ask stops an agent only at a terminal. Before an
agent gets the profile over MCP, set permissions.deals.move, permissions.leads.move, permissions.deals.delete and
permissions.leads.delete to readonly or deny, or turn on approval in the agent's client.
B24_READ_ONLY=1 refuses every write.
Whatever the levels say, only a Bitrix24 administrator's webhook deletes, sets a field to nothing or calls batch:
an employee's is refused.
More: permissions, MCP, settings, security.
Limits
- Tested on cloud Bitrix24. A self-hosted (on-premise) portal is not tested;
b24uses REST 3.0 for the CRM. - The portal allows about 2 requests a second for all its apps together;
b24keeps to that pace. - Before 1.0, a minor version may change commands,
--jsonfields and MCP tools; the changelog lists each such change under "may break callers". - Another npm package,
b24-cli, also installs a command namedb24. If yours runs the wrong tool, callwcat-b24, which is the same program. people,organizations,productsandusersstill ask the portal on every read and refuse--offline.- Bitrix24 does a repeated write again: on a live portal, a create repeated with the same
Idempotency-Keymade a second record. After anoutcome_unknown, look at the record before you write it again.
Security
The webhook address is the password: anyone who has it can do what its employee can. b24 keeps it in the system
keyring and never prints it, in output, errors or run records. Report a vulnerability as SECURITY.md
says.
When it does not work
Start with b24 doctor, then troubleshooting.
Documentation
- Install · Use it · MCP · Permissions · Settings · Security · Commands · Troubleshooting
- The design: docs/dev/DESIGN.md.
Part of WireCat
b24 is one of the WireCat tools. They share one local store, so search all and an agent see
your CRM beside your messages, mail, notes and meetings.
Development
You need Node.js 22.16 or a later 22.x, or Node.js 24 or later, and pnpm.
pnpm install
pnpm lint && pnpm typecheck && pnpm test:coverage && pnpm docs:check
pnpm build && pnpm smoke
Tests use a fake portal that answers as the Bitrix24 API reference shows, invented records, an injected keyring and
temporary folders; nothing reaches a real portal. pnpm release:check runs every check a release needs.
More: testing, design, test matrix.
License
WireCat b24 MCP questions
How do I add WireCat b24 MCP to Claude Code?
Run claude mcp add bitrix24-cli -- npx -y @wirecat/bitrix24-cli in your terminal. Add --scope user to make it available in every project.
How do I add WireCat b24 MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
How do I connect the server to my Bitrix24 portal?
You sign in using an incoming webhook from your Bitrix24 portal with the scopes crm, user_basic, and department.
Can the AI agent work offline?
Yes, deals, leads, pipelines, and stages are copied to a local WireCat store, allowing for offline searching and listing.
How can I restrict what the AI agent can do via MCP?
You can tighten permissions for the MCP server using the command 'mcp serve --permission deals=deny'.
What are the system requirements?
You need Node.js 22.16 or later (within the 22.x range) or Node.js 24 or later.