Interact with and manage your Bitrix24 CRM instance through a powerful set of tools.
A comprehensive Model Context Protocol (MCP) server for Bitrix24 CRM integration, enabling AI agents to seamlessly interact with your Bitrix24 instance through a powerful set of tools.
bitrix24_create_contact
- Create new contactsbitrix24_get_contact
- Retrieve contact by IDbitrix24_list_contacts
- List contacts with filteringbitrix24_update_contact
- Update existing contactsbitrix24_create_deal
- Create new dealsbitrix24_get_deal
- Retrieve deal by IDbitrix24_list_deals
- List deals with filteringbitrix24_update_deal
- Update existing dealsbitrix24_create_task
- Create new tasksbitrix24_get_task
- Retrieve task by IDbitrix24_list_tasks
- List tasks with filteringbitrix24_update_task
- Update existing tasksbitrix24_search_crm
- Search across CRM entitiesbitrix24_get_current_user
- Get current user infobitrix24_validate_webhook
- Validate webhook connectiongit clone <repository-url>
cd bitrix24-mcp-server
npm install
cp .env.example .env
# Edit .env with your Bitrix24 webhook URL
npm run build
npm test
Create a .env
file with the following variables:
BITRIX24_WEBHOOK_URL=https://your-domain.bitrix24.com/rest/USER_ID/WEBHOOK_CODE/
NODE_ENV=development
LOG_LEVEL=info
https://domain.bitrix24.com/rest/USER_ID/WEBHOOK_CODE/
)Add the following to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"bitrix24": {
"command": "node",
"args": ["/path/to/your/bitrix24-mcp-server/build/index.js"],
"env": {
"BITRIX24_WEBHOOK_URL": "https://your-domain.bitrix24.com/rest/USER_ID/WEBHOOK_CODE/"
}
}
}
}
Create a new contact named John Smith with email john@example.com and phone +39 123 456 789
Create a new contact for Maria Rossi with email maria@company.com, then create a deal titled "Website Development Project" for ā¬5000 and link it to this contact
Create a task titled "Follow up with client" with high priority, deadline tomorrow, and link it to contact ID 123
Search for all contacts and deals related to "example.com"
bitrix24-mcp-server/
āāā src/
ā āāā bitrix24/
ā ā āāā client.ts # Bitrix24 API client
ā āāā tools/
ā ā āāā index.ts # MCP tools definitions
ā āāā utils/
ā ā āāā logger.ts # Logging utilities
ā āāā config/
ā ā āāā index.ts # Configuration management
ā āāā index.ts # Main MCP server
āāā test/
ā āāā integration.test.js # Integration tests
āāā build/ # Compiled JavaScript
āāā package.json
āāā tsconfig.json
āāā README.md
# Install dependencies
npm install
# Build the project
npm run build
# Watch mode for development
npm run dev
# Run tests
npm test
# Start the server
npm start
src/tools/index.ts
:export const newTool: Tool = {
name: 'bitrix24_new_action',
description: 'Description of the new action',
inputSchema: {
type: 'object',
properties: {
// Define parameters
},
required: ['requiredParam']
}
};
case 'bitrix24_new_action':
// Implementation
return { success: true, result: 'Action completed' };
allTools
array and rebuild..env
files to version control"Webhook validation failed"
"Cannot find module" errors
npm install
to install dependenciesnpm run build
Rate limiting errors
Set NODE_ENV=development
and LOG_LEVEL=debug
in your .env
file for detailed logging.
createContact(contact: BitrixContact): Promise<string>
getContact(id: string): Promise<BitrixContact>
updateContact(id: string, contact: Partial<BitrixContact>): Promise<boolean>
listContacts(params?: ListParams): Promise<BitrixContact[]>
createDeal(deal: BitrixDeal): Promise<string>
getDeal(id: string): Promise<BitrixDeal>
updateDeal(id: string, deal: Partial<BitrixDeal>): Promise<boolean>
listDeals(params?: ListParams): Promise<BitrixDeal[]>
createTask(task: BitrixTask): Promise<string>
getTask(id: string): Promise<BitrixTask>
updateTask(id: string, task: Partial<BitrixTask>): Promise<boolean>
listTasks(params?: TaskListParams): Promise<BitrixTask[]>
getCurrentUser(): Promise<any>
searchCRM(query: string, entityTypes?: string[]): Promise<any>
validateWebhook(): Promise<boolean>
MIT License - see LICENSE file for details.
For issues and questions:
Built with ā¤ļø for the AI automation community
Integrates with the Mautic marketing automation platform.
AI Task schedule planning with LLamaIndex and Timefold: breaks down a task description and schedules it around an existing calendar
An MCP server for Cursor that enables requesting user input during generation process.
MCP server for the Computer-Use Agent (CUA), allowing you to run CUA through Claude Desktop or other MCP clients.
Shipment tracking api and logistics management capabilities through the TrackMage API
Interact with the Umbraco CMS Management API for administrative tasks.
CalDAV Nectcloud calendar integration. Manage calendars, events, attendees, etc.
Access and manage your VISO TRUST third-party risk program directly through your AI assistant.
Contract and template management for drafting, reviewing, and sending binding contracts.
MCP server for easy access to education data through your Canvas LMS instance.