Workify logoЕдинственный бизнес-инструмент, который вам нуженWorkify
Menu

Архитектура MCP: клиенты, серверы, инструменты, ресурсы и промпты

Понимание того, как Model Context Protocol работает изнутри, помогает создавать лучшие интеграции и устранять неполадки. Это руководство объясняет основные архитектурные концепции MCP.

Обзор архитектуры MCP

MCP построен по клиент-серверной архитектуре, где ИИ-ассистенты (клиенты) подключаются к сервисам (серверам), предоставляющим инструменты и данные. Вот как это работает:

Схема архитектуры (текстовое описание)

┌─────────────────┐
│  ИИ-ассистент   │
│   (клиент MCP)  │
│                 │
│  - Claude       │
│  - Cursor       │
│  - Windsurf     │
└────────┬────────┘
         │
         │ Соединение HTTP/SSE
         │ (с заголовком Auth)
         │
         ▼
┌─────────────────┐
│  Сервер MCP 1   │  ┌─────────────────┐
│   (Workify)     │  │  Сервер MCP 2   │
│                 │  │  (другой сервис)│
│  Инструменты:   │  │                 │
│  - list_tasks   │  │  Инструменты:   │
│  - create_task  │  │  - read_file    │
│  - start_timer  │  │  - search_code  │
└─────────────────┘  └─────────────────┘
         │                     │
         └─────────┬───────────┘
                   │
         ┌─────────▼─────────┐
         │  Источники данных │
         │  (БД Workify,     │
         │   файловая система)│
         └───────────────────┘

Один клиент MCP может подключаться к нескольким серверам MCP одновременно, давая ИИ-ассистенту доступ к инструментам разных сервисов в одном разговоре.

Клиент MCP: ИИ-ассистент

Клиент MCP — это приложение ИИ-ассистента, с которым взаимодействуют пользователи. Оно отвечает за:

Пример: Claude Desktop как клиент MCP

Когда вы спрашиваете Claude Desktop «Какие задачи нужно выполнить на этой неделе?», клиент:

  1. Определяет, что для этого требуется вызов инструмента с сервера MCP Workify
  2. Отправляет запрос на https://app.workify.ru/mcp с вашим API-ключом
  3. Вызывает инструмент list_tasks с подходящими фильтрами
  4. Получает список задач и форматирует его для вас

Сервер MCP: поставщик сервиса

Сервер MCP предоставляет клиентам инструменты, ресурсы и промпты. Сервер MCP Workify предоставляет возможности управления проектами:

Обязанности сервера

  • Аутентификация запросов (API-ключи)
  • Авторизация операций (ограничение по команде)
  • Выполнение вызовов инструментов
  • Возврат структурированных ответов
  • Корректная обработка ошибок

Возможности сервера

  • Предоставление схем инструментов
  • Предоставление метаданных ресурсов
  • Предложение шаблонов промптов
  • Поддержка потоковых ответов
  • Логирование операций для аудита

Обнаружение инструментов: как клиенты находят инструменты

Когда клиент MCP подключается к серверу, он сначала обнаруживает доступные инструменты через эндпоинт tools/list:

Процесс обнаружения

  1. Клиент подключается к серверу с аутентификацией
  2. Клиент запрашивает tools/list, чтобы получить доступные инструменты
  3. Сервер отвечает схемами инструментов (имя, описание, параметры)
  4. Клиент кэширует информацию об инструментах на время сессии
  5. Клиент теперь может вызывать инструменты по имени при необходимости

Каждый инструмент имеет схему, которая описывает:

Как проходят вызовы инструментов

Когда вы просите ИИ-ассистента выполнить действие, вот что происходит за кулисами:

Пример потока вызова инструмента

1. Пользователь: «Создай задачу связаться с Acme Corp»

2. ИИ-ассистент (клиент):
   - Анализирует запрос
   - Определяет, что нужен инструмент create_task
   - Определяет, что инструмент с сервера MCP Workify
   - Извлекает параметры: title, description и т. д.

3. Запрос клиент → сервер:
   POST https://app.workify.ru/mcp
   Headers: Authorization: Bearer API_KEY
   Body: {
     "tool": "create_task",
     "arguments": {
       "title": "Follow up with Acme Corp",
       "description": "...",
       "due_date": "..."
     }
   }

4. Обработка на сервере:
   - Проверяет API-ключ
   - Проверяет права доступа
   - Создаёт задачу в базе данных
   - Возвращает объект задачи

5. Ответ сервер → клиент:
   {
     "task": {
       "id": 123,
       "title": "Follow up with Acme Corp",
       "status": "open",
       ...
     }
   }

6. ИИ-ассистент (клиент):
   - Получает ответ
   - Форматирует для пользователя
   - Подтверждает создание задачи

7. Пользователь видит: «Я создал задачу #123: связаться с Acme Corp»

Инструменты MCP Workify в действии

Вот как инструменты MCP Workify соотносятся с типичными действиями по управлению проектами:

Создание задачи

Запрос пользователя: «Создай задачу проверить отчёт за 4-й квартал»

Вызванный инструмент: create_task

Параметры:

  • title: «Проверить отчёт за 4-й квартал»
  • description: (сгенерировано из контекста)
  • project_id: (выведено или указано)

Результат: новая задача создана, возвращены ID и полные детали

Добавление комментария

Запрос пользователя: «Добавь к задаче #123 комментарий, что я завершил изменения API»

Вызванный инструмент: add_task_comment

Параметры:

  • task_id: 123
  • comment: «Изменения API завершены. Готово к проверке.»

Результат: комментарий добавлен к задаче с меткой времени

Запуск учёта времени

Запрос пользователя: «Начни отсчёт времени по моей текущей задаче»

Вызванный инструмент: start_time_tracking

Параметры:

  • task_id: (определено из контекста или активной задачи пользователя)

Результат: учёт времени запущен, таймер идёт

Несколько серверов, один разговор

Одна из мощных возможностей MCP — способность подключаться к нескольким серверам одновременно. Ваш ИИ-ассистент может использовать инструменты разных сервисов в одном разговоре:

Пример: рабочий процесс с несколькими серверами

Пользователь: «Создай задачу проверить документацию API, затем поищи в нашей кодовой базе похожие паттерны»

ИИ-ассистент:

  1. Вызывает create_task с сервера MCP Workify
  2. Вызывает search_code с сервера MCP кодовой базы
  3. Объединяет результаты и представляет единый ответ

Транспортный уровень: HTTP vs STDIO

MCP поддерживает два транспортных механизма:

Удалённые серверы (HTTP/SSE)

Workify использует этот подход:

  • Сервер работает как веб-сервис
  • Клиент подключается через HTTP/HTTPS
  • Поддерживает Server-Sent Events (SSE) для потоковой передачи
  • Многопользовательское централизованное развёртывание
  • Лучше для SaaS-приложений

Локальные серверы (STDIO)

Альтернативный подход:

  • Сервер работает как локальный процесс
  • Клиент взаимодействует через стандартный ввод/вывод
  • Однопользовательское локальное развёртывание
  • Лучше для персональных инструментов
  • Сеть не требуется

Узнайте больше о компромиссах в нашем руководстве по удалённым и локальным серверам MCP.

Обработка ошибок и отказоустойчивость

MCP включает встроенную обработку ошибок:

Готовы строить с MCP?

Подключите своего ИИ-ассистента к Workify и начните автоматизировать рабочие процессы

Банковская карта не требуется

Continue Reading

MCP-сервер для учёта времени

Специализированная страница о MCP-серверах для учёта времени. Объясняет, как MCP может запускать и останавливать таймеры...