Як MCP-сервер вирішує проблему інтеграції AI-агентів?
Уявіть: 50 менеджерів з продажу витрачають у середньому 15 хвилин на збір інформації про клієнта перед дзвінком. На місяць це 500 годин непродуктивної роботи, що коштує компанії до $10 000. Вони перемикаються між Claude та CRM, вручну копіюють дані, втрачають фокус. MCP-сервер вирішує цю проблему — дає AI-агенту прямий доступ до корпоративних даних через єдиний протокол. Час підготовки скорочується на 73%, а витрати — на $7 300 на місяць. AI-агент працює в 4 рази швидше за ручний пошук.
Ми розробляємо кастомні MCP-сервери під ключ. Беремо на себе повний цикл: від проєктування до деплою та документування. Гарантуємо безпеку та сумісність з будь-якими MCP-клієнтами (Claude, Cursor, власні агенти). Досвід — 5+ років в AI-інтеграціях та 50+ успішних проєктів. Наша команда налічує 10+ кваліфікованих інженерів.
MCP-сервер виступає мостом: ви описуєте tools, resources та prompts, і агент викликає їх як звичайні методи. Один сервер — один раз реалізували, працює з усіма MCP-клієнтами.
Чому HTTP+SSE транспорт є кращим для продакшену?
| Транспорт | Коли використовувати | Швидкість | Безпека |
|---|---|---|---|
| stdio | Локальна розробка, налагодження | Максимальна | Немає вбудованої аутентифікації |
| HTTP+SSE | Віддалений доступ, продакшен | Висока | JWT, OAuth2, API-ключі |
Для продакшену ми завжди обираємо HTTP+SSE з авторизацією — це гарантує, що дані не витічуть за межі корпоративної мережі. При цьому stdio транспорт швидший у 2-3 рази за затримками, але не масштабується.
Приклад MCP-сервера на Python з двома транспортами
Нижче — мінімальний MCP-сервер на Python, який надає інструменти для роботи з CRM. Бібліотека mcp (FastMCP) дозволяє визначити tools, resources та prompts у кілька рядків.
# pip install mcp
from mcp.server.fastmcp import FastMCP
from mcp import types
import json
mcp = FastMCP("Corporate CRM Server")
@mcp.tool()
async def search_customers(
query: str,
limit: int = 10,
status: str = "active",
) -> list[dict]:
"""Пошук клієнтів у CRM за ім'ям або компанією."""
results = await crm_db.search(
query=query,
limit=min(limit, 50),
status=status,
)
return [{"id": r.id, "name": r.name, "company": r.company, "email": r.email}
for r in results]
@mcp.tool()
async def get_customer_orders(customer_id: str, months: int = 3) -> dict:
"""Історія замовлень клієнта."""
orders = await orders_db.get_for_customer(customer_id, months=months)
return {
"customer_id": customer_id,
"total_orders": len(orders),
"total_revenue": sum(o.amount for o in orders),
"orders": [{"id": o.id, "date": str(o.date), "amount": o.amount, "status": o.status}
for o in orders[:20]],
}
@mcp.tool()
async def create_task(
customer_id: str, title: str, description: str, assignee: str, due_date: str,
) -> dict:
"""Створити завдання в CRM."""
task = await crm_tasks.create(...)
return {"task_id": task.id, "url": task.url}
@mcp.resource("crm://dashboards/{dashboard_id}")
async def get_dashboard(dashboard_id: str) -> str:
data = await crm_analytics.get_dashboard(dashboard_id)
return json.dumps(data, ensure_ascii=False, indent=2)
@mcp.resource("crm://segments")
async def list_segments() -> str:
segments = await crm_db.get_segments()
return json.dumps([{"id": s.id, "name": s.name, "count": s.count}], ensure_ascii=False)
@mcp.prompt()
def customer_analysis_prompt(customer_id: str) -> list[types.PromptMessage]:
return [
types.PromptMessage(
role="user",
content=types.TextContent(
type="text",
text=f"Проведи повний аналіз клієнта {customer_id}:\n1. Історія замовлень та тренди\n2. Ризик відтоку\n3. Upsell\n4. Рекомендації"
),
)
]
if __name__ == "__main__":
mcp.run()
Тепер ви маєте кастомний MCP протокол для інтеграції AI-агента з системою. Claude MCP використовує цей сервер для доступу до даних. Встановіть Python MCP SDK через pip. Ми обираємо HTTP транспорт MCP для продакшену. Безпека MCP реалізується через JWT. Це приклад CRM інтеграції MCP. MCP tools, MCP resources та MCP prompts — це основні будівельні блоки.
Якщо потрібно запустити сервер віддалено — використовуємо HTTP+SSE транспорт. Це дозволяє підключати агентів з будь-якого місця, з авторизацією через JWT.
from mcp.server.fastmcp import FastMCP
from fastapi import FastAPI
import uvicorn
mcp = FastMCP("Remote CRM Server")
# ... tools, resources ...
app = mcp.get_asgi_app()
from fastapi.middleware.base import BaseHTTPMiddleware
class AuthMiddleware(BaseHTTPMiddleware):
async def dispatch(self, request, call_next):
token = request.headers.get("Authorization", "").replace("Bearer ", "")
if not await verify_token(token):
return Response(status_code=401)
return await call_next(request)
app.add_middleware(AuthMiddleware)
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=8080)
Як створити MCP-сервер: покрокова інструкція
- Встановіть бібліотеку mcp: pip install mcp
- Створіть файл сервера з визначеннями tools/resources/prompts (див. приклад вище)
- Запустіть локально через python server.py (stdio) або uvicorn (HTTP+SSE)
- Підключіть клієнт (Claude, Cursor) через конфігурацію MCP
Детальні кроки для налаштування авторизації
- Створіть JWT токен з необхідними правами (secret key, expiry).
- Додайте middleware, який перевіряє токен у кожному запиті.
- Для кожного інструмента визначте рівень доступу (admin, user).
- Використовуйте декоратори для перевірки ролей.
Кейс: інтеграція MCP-сервера з Bitrix24 для відділу продажів
З нашої практики: наш клієнт — компанія з 50 менеджерами з продажу. Вони активно використовують Claude для підготовки до зустрічей, але щоразу вручну шукають інформацію в Bitrix24. Це забирало в середньому 15 хвилин на дзвінок.
Ми розгорнули один MCP-сервер на корпоративному сервері, підключили його до REST API Bitrix24. Сервер надає інструменти: пошук клієнтів за ім'ям, історія угод, створення завдань, аналітика по сегментах. Кожен менеджер підключається через Claude Desktop — після авторизації AI-агент сам отримує потрібні дані.
Результати:
- Час підготовки до дзвінка скоротився з 15 до 4 хвилин (економія 73%)
- Перемикання між системами знизилося на 83%
- Впровадження пройшло без навчання — Claude розуміє природні запитання
Процес розробки та терміни
| Етап | Тривалість | Результат |
|---|---|---|
| Аналіз та проєктування | 1–2 дні | Архітектура, специфікація tools/resources |
| Розробка MCP-сервера | 2–5 днів | Робочий сервер з обраним транспортом |
| Інтеграція з системою замовника | 1–3 дні | Підключення до CRM/ERP |
| Тестування та деплой | 1–2 дні | Документація, моніторинг, навчання команди |
Що входить в роботу під час замовлення MCP-сервера під ключ
- Документація: архітектура, специфікація інструментів, інструкція для користувачів
- Доступи: налаштування авторизації (JWT/OAuth2) та безпечне підключення до вашого API
- Навчання: демонстрація роботи сервера для вашої команди (до 2 годин)
- Підтримка: 2 тижні безплатної підтримки після деплою, далі за окремим договором
Поширені помилки при розробці MCP-сервера
- Неправильна обробка авторизації: не всі інструменти захищені.
- Відсутність rate limiting: агент може заспамити CRM.
- Занадто великі відповіді: для resources потрібно обмежувати розмір.
- Ігнорування версіонування: протокол MCP еволюціонує, потрібно стежити за сумісністю.
Ризики безпеки, які потрібно врахувати
При розробці MCP-сервера критично важливий захист від prompt injection та витоків даних. Ми використовуємо JWT-авторизацію на рівні кожного інструменту, валідацію вхідних параметрів та rate limiting для запобігання зловживанням. Додатково налаштовується HTTPS та ізоляція ресурсів. Для високонавантажених систем проводимо навантажувальне тестування з контролем latency p99 — час відповіді сервера не повинен перевищувати 200 мс.
Ми займаємося AI-інтеграціями понад п'ять років, виконали 50+ проєктів для компаній від стартапів до enterprise. Використовуємо перевірений стек: Python/TypeScript, авторизація через JWT, готова інтеграція з MCP SDK. Гарантуємо безпеку та сумісність. Зв'яжіться з нами для оцінки вашого проєкту — ми підготуємо комерційну пропозицію за 1 робочий день. Замовте розробку MCP під ключ і економте години ваших менеджерів. Базовий MCP-сервер коштує від $3000, повна інтеграція — від $8000.







