---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.4
alternate:
  - https://sourcecraft.dev/portal/docs/en/code-assistant/operations/agent/mcp/mcp-vs-api.md
  - https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/mcp-vs-api.md
  - href: ru/code-assistant/operations/agent/mcp/mcp-vs-api.md
    type: text/markdown
    title: Markdown version
  - href: ../../../llms.txt
    type: text/markdown
    title: llms.txt
title: Отличия MCP и REST API
description: 'Сравнение протокола контекста модели (MCP) и REST API: архитектурные различия и области применения.'
---
> **Documentation Index:** Fetch the complete configuration index at https://sourcecraft.dev/portal/docs/ru/llms.txt


# Отличия MCP и REST API

Нельзя полноценно сравнивать REST API с протоколом контекста модели (MCP). Они работают на разных уровнях абстракции и служат принципиально разным целям в ИИ-системах.

## Архитектурные различия {#architectural-differences}

| Характеристика | MCP | REST API |
| --- | --- | --- |
| Управление состоянием | **Stateful** — поддерживается контекст между взаимодействиями. | **Stateless** — каждый запрос независим. |
| Тип соединения | Постоянные двунаправленные соединения. | Односторонний запрос-ответ. |
| Стиль связи | Основан на JSON-RPC с текущими сессиями. | Основан на HTTP с дискретными запросами. |
| Обработка контекста | Контекст встроен в протокол. | Контекст должен управляться вручную. |
| Обнаружение инструментов | Обнаружение доступных инструментов во время выполнения. | Интеграция на этапе проектирования, требующая предварительных знаний. |
| Подход к интеграции | Интеграция во время выполнения с динамическими возможностями. | Интеграция на этапе проектирования, требующая изменений в коде. |

## Разные уровни, разные цели {#different-levels-different-purposes}

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

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

## Сохранение контекста {#context-persistence}

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

Например ИИ, отлаживающий кодовую базу, может открыть файл, запустить тесты и выявить ошибки, не теряя контекста между шагами. Сессия MCP сохраняет осведомленность о предыдущих действиях и результатах.

## Динамическое обнаружение инструментов {#dynamic-tool-discovery}

MCP позволяет ИИ обнаруживать и использовать инструменты во время выполнения:

```json
// ИИ обнаруживает доступные инструменты
{
  "tools": [
    {
      "name": "readFile",
      "description": "Читает содержимое файла",
      "parameters": {
        "path": { "type": "string", "description": "Путь к файлу" }
      }
    },
    {
      "name": "createTicket",
      "description": "Создает тикет в системе отслеживания задач",
      "parameters": {
        "title": { "type": "string" },
        "description": { "type": "string" }
      }
    }
  ]
}
```

Эта возможность позволяет добавлять новые инструменты без повторного развертывания или модификации самого ИИ.

## Пример — многосервисный рабочий процесс {#example-multi-service-workflow}

Рассмотрим задачу, требующую использования нескольких сервисов: `Проверь последние коммиты, создай тикет в JIRA для исправления ошибки и опубликуй в Slack`.

Подход на основе REST:
* Требует отдельных интеграций для git, JIRA и Slack API.
* Нужен пользовательский код для управления контекстом между вызовами.
* Ломается, если какой-либо сервис изменяет свой API.

Подход на основе MCP:
* Один унифицированный протокол для всех инструментов.
* Сохраняет контекст на протяжении всего рабочего процесса.
* Новые инструменты можно добавлять без изменений в коде.

## Почему AI-агенты используют MCP {#why-ca-uses-mcp}

AI-агенты используют MCP по следующим причинам:

* Расширяемость — к агенту можно подключать пользовательские инструменты без отдельной интеграции.
* Динамическое обнаружение — агент получает список доступных инструментов во время подключения к серверу.
* Единый интерфейс — разные инструменты подключаются по одному стандартному протоколу.
* Гибкость — набор доступных возможностей можно изменять без доработки агента.

MCP создает универсальный интерфейс между AI-агентом и внешними сервисами, при этом сами сервисы могут использовать REST API.

MCP не заменяет REST API — эта технология строится на основе REST API.

REST отлично подходит для предоставления дискретных сервисов, в то время как MCP превосходен в оркестрации этих сервисов для ИИ-агентов.

Ключевое различие в том, что MCP ориентирован на ИИ: он рассматривает модель как полноценного пользователя, предоставляя контекстуальный, сохраняющий состояние слой взаимодействия, необходимый ИИ-агентам для эффективной работы в сложных средах.

#### Полезные ссылки {#see-also}

* [Что такое MCP](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/what-is-mcp.md)
* [Обзор MCP](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/overview.md)
* [MCP в плагине Code Assistant для VS Code](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/using-mcp-in-ca.md)
* [Работа с MCP-сервером SourceCraft](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/work-with-mcp.md)
* [Транспорт MCP в плагине Code Assistant для VS Code](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/server-transports.md)
* [MCP-серверы SourceCraft и Yandex Cloud](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/recommended-mcp-servers.md)
