Bitrix24_MCP_Server
If you are the rightful owner of Bitrix24_MCP_Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Bitrix24 MCP Server is a server application providing a REST API for interacting with Bitrix24 CRM using the Model-Controller-Presenter architectural pattern.
Bitrix24 MCP Server
ΠΠ±Π·ΠΎΡ
Bitrix24 MCP (Model-Controller-Presenter) Server - ΡΡΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅Π΅ REST API Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Bitrix24 CRM. Π‘Π΅ΡΠ²Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΠΏΠ°ΡΡΠ΅ΡΠ½ MCP Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ
- ΠΠΎΠ»Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΡΡΠ½ΠΎΡΡΡΠΌ Bitrix24 CRM (ΡΠ΄Π΅Π»ΠΊΠΈ, Π»ΠΈΠ΄Ρ, ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ, Π·Π°Π΄Π°ΡΠΈ ΠΈ Ρ.Π΄.)
- Π€ΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π΅
- ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΎΡΠ²Π΅ΡΠΎΠ²
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
- CORS ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΡΠΎΠ½ΡΠ΅Π½Π΄-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
- Node.js (Π²Π΅ΡΡΠΈΡ 14.x ΠΈΠ»ΠΈ Π²ΡΡΠ΅)
- npm (Π²Π΅ΡΡΠΈΡ 6.x ΠΈΠ»ΠΈ Π²ΡΡΠ΅)
- ΠΠΎΡΡΡΠΏ ΠΊ Bitrix24 Ρ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ webhook
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
- ΠΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
git clone https://github.com/your-username/bitrix24-mcp-server.git
cd bitrix24-mcp-server
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
npm install
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ»
.env
Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ:
PORT=3000
BITRIX_DOMAIN=your-domain.bitrix24.ru
BITRIX_WEBHOOK_TOKEN=your-webhook-token
LOG_LEVEL=info
- ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ΅ΡΠ²Π΅Ρ:
npm start
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°
Π‘Π΅ΡΠ²Π΅Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΡΠ΅ΡΠ½Π° MCP (Model-Controller-Presenter):
- Model (Bitrix24Model): ΠΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ API Bitrix24 ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π΄Π°Π½Π½ΡΡ .
- Controller (Bitrix24Controller): ΠΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ HTTP-Π·Π°ΠΏΡΠΎΡΡ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΡ ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½ΠΈΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΏΡΠ΅Π·Π΅Π½ΡΠ΅ΡΠ°.
- Presenter (Bitrix24Presenter): Π€ΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ.
API Endpoints
ΠΠ°Π΄Π°ΡΠΈ
GET /api/tasks
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° Π·Π°Π΄Π°Ρ- Query ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
filter
- JSON-ΡΡΡΠΎΠΊΠ° Ρ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ)
- Query ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΎΠ½ΡΠ°ΠΊΡΡ
GET /api/contacts
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ²- Query ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
filter
- JSON-ΡΡΡΠΎΠΊΠ° Ρ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ)
- Query ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
Π‘Π΄Π΅Π»ΠΊΠΈ
GET /api/deals
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΠ΄Π΅Π»ΠΎΠΊ- Query ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
filter
- JSON-ΡΡΡΠΎΠΊΠ° Ρ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ)
- Query ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
GET /api/deals/:id
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΠΊΠΈ ΠΏΠΎ IDPOST /api/deals
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΡΠ΄Π΅Π»ΠΊΠΈ- Body: ΠΎΠ±ΡΠ΅ΠΊΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ΄Π΅Π»ΠΊΠΈ
PUT /api/deals/:id
- ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΠΊΠΈ- Body: ΠΎΠ±ΡΠ΅ΠΊΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ
GET /api/deal-categories
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΡΠΎΠ½ΠΎΠΊ ΠΏΡΠΎΠ΄Π°ΠΆGET /api/deal-stages/:categoryId?
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π΄ΠΈΠΉ ΡΠ΄Π΅Π»ΠΎΠΊ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²ΠΎΡΠΎΠ½ΠΊΠΈ
ΠΠΈΠ΄Ρ
GET /api/leads
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° Π»ΠΈΠ΄ΠΎΠ²- Query ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
filter
- JSON-ΡΡΡΠΎΠΊΠ° Ρ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ)
- Query ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
GET /api/leads/:id
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ΄Π° ΠΏΠΎ IDPOST /api/leads
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π»ΠΈΠ΄Π°- Body: ΠΎΠ±ΡΠ΅ΠΊΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π»ΠΈΠ΄Π°
PUT /api/leads/:id
- ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π»ΠΈΠ΄Π°- Body: ΠΎΠ±ΡΠ΅ΠΊΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ
GET /api/lead-statuses
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΡΠΎΠ² Π»ΠΈΠ΄ΠΎΠ²
ΠΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ (Π΄Π΅Π»Π°)
GET /api/activities
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠ΅ΠΉ- Query ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
filter
- JSON-ΡΡΡΠΎΠΊΠ° Ρ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ)
- Query ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
GET /api/activities/:id
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΏΠΎ IDPOST /api/activities
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ- Body: ΠΎΠ±ΡΠ΅ΠΊΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ
PUT /api/activities/:id
- ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ- Body: ΠΎΠ±ΡΠ΅ΠΊΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ
GET /api/users
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ- Query ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
filter
- JSON-ΡΡΡΠΎΠΊΠ° Ρ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ)
- Query ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
GET /api/users/:id
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎ ID
Π’Π°ΠΉΠΌΠ»Π°ΠΉΠ½
POST /api/timeline-comment/:entityType/:entityId
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π² ΡΠ°ΠΉΠΌΠ»Π°ΠΉΠ½- Body:
{ "comment": "Π’Π΅ΠΊΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ" }
- Body:
Π’Π΅Π»Π΅ΡΠΎΠ½ΠΈΡ
GET /api/call-statistics
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ Π·Π²ΠΎΠ½ΠΊΠΎΠ²- Query ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
filter
- JSON-ΡΡΡΠΎΠΊΠ° Ρ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ)
- Query ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
Π€Π°ΠΉΠ»Ρ
GET /api/files/:id
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠ°ΠΉΠ»Π΅GET /api/files/:id/download
- Π‘ΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°
ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΠ΄Π΅Π»ΠΎΠΊ
// ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΠΊΠΎΠ΄
async function getDeals() {
try {
const response = await fetch('http://localhost:3000/api/deals');
const data = await response.json();
console.log(data.deals);
} catch (error) {
console.error('ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠ΄Π΅Π»ΠΎΠΊ:', error);
}
}
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π»ΠΈΠ΄Π°
// ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΠΊΠΎΠ΄
async function createLead() {
try {
const leadData = {
TITLE: 'ΠΠΎΠ²ΡΠΉ Π»ΠΈΠ΄ Ρ ΡΠ°ΠΉΡΠ°',
NAME: 'ΠΠ²Π°Π½',
LAST_NAME: 'ΠΠ²Π°Π½ΠΎΠ²',
STATUS_ID: 'NEW',
PHONE: [{ VALUE_TYPE: 'WORK', VALUE: '+7 (999) 123-45-67' }],
EMAIL: [{ VALUE_TYPE: 'WORK', VALUE: 'ivan@example.com' }]
};
const response = await fetch('http://localhost:3000/api/leads', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(leadData)
});
const result = await response.json();
console.log('ΠΠΈΠ΄ ΡΠΎΠ·Π΄Π°Π½:', result);
} catch (error) {
console.error('ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π»ΠΈΠ΄Π°:', error);
}
}
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΠΊΠΈ
// ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΠΊΠΎΠ΄
async function updateDeal(dealId, stageId) {
try {
const dealData = {
STAGE_ID: stageId
};
const response = await fetch(`http://localhost:3000/api/deals/${dealId}`, {
method: 'PUT',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(dealData)
});
const result = await response.json();
console.log('Π‘Π΄Π΅Π»ΠΊΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π°:', result);
} catch (error) {
console.error('ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡΠ΄Π΅Π»ΠΊΠΈ:', error);
}
}
ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π‘Π΅ΡΠ²Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΎΡΠ²Π΅ΡΠΎΠ². Π£ΡΠΎΠ²Π΅Π½Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π² ΡΠ°ΠΉΠ»Π΅ .env
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° LOG_LEVEL
.
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΡΠΎΠ²Π½ΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
error
- ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΈΠ±ΠΊΠΈwarn
- ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈinfo
- ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)debug
- ΠΎΡΠ»Π°Π΄ΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ Π²ΡΠ΅ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ
Π‘Π΅ΡΠ²Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ HTTP-ΡΡΠ°ΡΡΡΡ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ:
400 Bad Request
- Π½Π΅Π²Π΅ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π·Π°ΠΏΡΠΎΡΠ°404 Not Found
- ΡΠ΅ΡΡΡΡ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½500 Internal Server Error
- Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°
ΠΡΠΈΠΌΠ΅Ρ ΠΎΡΠ²Π΅ΡΠ° Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ:
{
"error": "ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈΠ· Bitrix24 API"
}
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ HTTPS Π΄Π»Ρ Π·Π°ΡΠΈΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅
- Π₯ΡΠ°Π½ΠΈΡΠ΅ webhook-ΡΠΎΠΊΠ΅Π½ Π² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΈ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ Π΅Π³ΠΎ Π² ΠΊΠΎΠ΄
- Π Π΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠΉΡΠ΅ webhook-ΡΠΎΠΊΠ΅Π½ Π΄Π»Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΡΠΊΠΎΠ²
ΠΠΈΡΠ΅Π½Π·ΠΈΡ
MIT
MCP Π‘Π΅ΡΠ²Π΅Ρ (mcp-server.js)
ΠΠ±Π·ΠΎΡ
mcp-server.js
- ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ MCP (Model Context Protocol) ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄Π»Ρ Bitrix24, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Bitrix24 API ΡΠ΅ΡΠ΅Π· REST API ΡΠ΅ΡΠ²Π΅Ρ. MCP ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ ΡΠ»ΠΎΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ (LLM) ΠΈ REST API ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Bitrix24, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Bitrix24 ΡΠ΅ΡΠ΅Π· ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ.
ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ
MCP ΡΠ΅ΡΠ²Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ @modelcontextprotocol/sdk
Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Ρ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ:
- ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡ Π΅ΠΌΡ Zod
- ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΊ REST API ΡΠ΅ΡΠ²Π΅ΡΡ Bitrix24
- ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅
MCP ΡΠ΅ΡΠ²Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· stdio ΡΡΠ°Π½ΡΠΏΠΎΡΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΅ΠΌΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°.
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
MCP ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π³ΡΡΠΏΠΏΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²:
ΠΠΈΠ΄Ρ
getLeads
- ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° Π»ΠΈΠ΄ΠΎΠ² Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈgetLead
- ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ Π»ΠΈΠ΄Π΅ ΠΏΠΎ IDcreateLead
- ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π»ΠΈΠ΄Π°updateLead
- ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π»ΠΈΠ΄Π°getLeadStatuses
- ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΡΠ°ΡΡΡΠΎΠ² Π»ΠΈΠ΄ΠΎΠ²
Π‘Π΄Π΅Π»ΠΊΠΈ
getDeals
- ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΠ΄Π΅Π»ΠΎΠΊ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈgetDeal
- ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ΄Π΅Π»ΠΊΠ΅ ΠΏΠΎ IDcreateDeal
- ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΡΠ΄Π΅Π»ΠΊΠΈupdateDeal
- ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠ΄Π΅Π»ΠΊΠΈgetDealCategories
- ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° Π²ΠΎΡΠΎΠ½ΠΎΠΊ ΠΏΡΠΎΠ΄Π°ΠΆgetDealStages
- ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΡΠ°Π΄ΠΈΠΉ ΡΠ΄Π΅Π»ΠΎΠΊ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²ΠΎΡΠΎΠ½ΠΊΠΈ
ΠΠΎΠ½ΡΠ°ΠΊΡΡ
getContacts
- ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈgetContact
- ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅ ΠΏΠΎ ID
ΠΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ
getActivities
- ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠ΅ΠΉ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈgetActivity
- ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΏΠΎ IDcreateActivity
- ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈupdateActivity
- ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ
getUsers
- ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈgetUser
- ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ ΠΏΠΎ ID
ΠΠ°Π΄Π°ΡΠΈ
getTasks
- ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° Π·Π°Π΄Π°Ρ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ
Π’Π΅Π»Π΅ΡΠΎΠ½ΠΈΡ
getCallStatistics
- ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ Π·Π²ΠΎΠ½ΠΊΠΎΠ²
Π€Π°ΠΉΠ»Ρ
getFile
- ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠ°ΠΉΠ»Π΅ ΠΏΠΎ ID
Π’Π°ΠΉΠΌΠ»Π°ΠΉΠ½
addTimelineComment
- Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π² ΡΠ°ΠΉΠΌΠ»Π°ΠΉΠ½ ΡΡΡΠ½ΠΎΡΡΠΈ
Π‘Π²ΠΎΠ΄Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
getCrmSummary
- ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ CRM (ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π»ΠΈΠ΄ΠΎΠ², ΡΠ΄Π΅Π»ΠΎΠΊ, ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² ΠΈ Ρ.Π΄.)
Π‘Π»ΡΠΆΠ΅Π±Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
checkApiConnection
- ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ API ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
cd mcp-server
npm install
-
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ REST API ΡΠ΅ΡΠ²Π΅Ρ Bitrix24 Π·Π°ΠΏΡΡΠ΅Π½ Π½Π° ΠΏΠΎΡΡΡ 3000 (ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
API_BASE_URL
Π² ΡΠ°ΠΉΠ»Π΅mcp-server.js
). -
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ MCP ΡΠ΅ΡΠ²Π΅Ρ:
node mcp-server.js
- ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ MCP ΡΠ΅ΡΠ²Π΅ΡΠ°, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π΅Π³ΠΎ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ MCP ΡΠ΅ΡΠ²Π΅ΡΠΎΠ².
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Claude Desktop Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ MCP ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Bitrix24 MCP ΡΠ΅ΡΠ²Π΅ΡΠ° Ρ Claude Desktop, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ»ΠΈ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ claude_desctop_config.json
. ΠΡΠΎΡ ΡΠ°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° claude_desctop_config.json
:
{
"mcpServers": {
"bitrix24": {
"command": "node",
"args": ["/ΠΏΠΎΠ»Π½ΡΠΉ/ΠΏΡΡΡ/ΠΊ/mcp-server/mcp-server.js"],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}
ΠΠ΄Π΅:
bitrix24
- ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ MCP ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π½Π΅ΠΌΡcommand
- ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ° (ΠΎΠ±ΡΡΠ½ΠΎnode
)args
- ΠΌΠ°ΡΡΠΈΠ² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρmcp-server.js
env
- ΠΎΠ±ΡΠ΅ΠΊΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ (ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΡΡΡΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π²mcp-server.js
)disabled
- ΡΠ»Π°Π³, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ, ΠΎΡΠΊΠ»ΡΡΠ΅Π½ Π»ΠΈ ΡΠ΅ΡΠ²Π΅Ρ (Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡfalse
Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ)autoApprove
- ΠΌΠ°ΡΡΠΈΠ² ΠΈΠΌΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Ρ Π±Π΅Π· ΡΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ (ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΡΡΡΠΌ Π΄Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ)
ΠΠΎΡΠ»Π΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Claude Desktop, ΠΈ MCP ΡΠ΅ΡΠ²Π΅Ρ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΠ΅Π½ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ Claude. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Bitrix24 MCP ΡΠ΅ΡΠ²Π΅ΡΠ° Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ Ρ Claude.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠ΅ΡΠ΅Π· ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ
// ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° getLeads
const result = await model.useToolWithMcp("Bitrix24MCP", "getLeads", { filter: JSON.stringify({ STATUS_ID: "NEW" }) });
console.log(result); // ΠΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π½ΠΎΠ²ΡΡ
Π»ΠΈΠ΄ΠΎΠ²
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΎΡΠ²Π΅Ρ Π΄Π°ΠΆΠ΅ Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΡΠΈΠ±ΠΊΠΈ Π»ΠΎΠ³ΠΈΡΡΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ
ΠΠ»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ server.tool()
, ΡΠΊΠ°Π·Π°Π²:
- ΠΠΌΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°
- Π‘Ρ Π΅ΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Zod
- ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ