> For the complete documentation index, see [llms.txt](https://docs.onerpa.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.onerpa.ru/ai-platforma-oneapa/nastrojki/nastrojka-mcp.md).

# Настройка MCP

Руководство по настройке Model Context Protocol в OneAPA.

<figure><img src="https://1170843668-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6ZxAmaxODS4CigF0WD%2Fuploads%2FEfoA7lU7mBLSRJELq8Np%2Fimage.png?alt=media&amp;token=fa048591-1791-4c10-8972-726eedccb8a0" alt=""><figcaption></figcaption></figure>

## Что такое MCP

**Model Context Protocol (MCP)** — открытый протокол для взаимодействия языковых моделей с внешними инструментами и источниками данных.

### Преимущества MCP

| Преимущество       | Описание                            |
| ------------------ | ----------------------------------- |
| **Стандартизация** | Единый протокол для всех интеграций |
| **Расширяемость**  | Легко добавлять новые инструменты   |
| **Экосистема**     | Множество готовых MCP серверов      |
| **Совместимость**  | Работает с Cursor, Claude и другими |

## OneAPA как MCP сервер

OneAPA автоматически предоставляет все инструменты агентов через MCP протокол.

### Как это работает

```
┌─────────────────┐         ┌─────────────────┐
│   MCP клиент    │         │     OneAPA      │
│   (Cursor,      │────────►│   MCP Server    │
│    Claude)      │◄────────│                 │
└─────────────────┘         └─────────────────┘
       │                           │
       │  tools/list              │
       │─────────────────────────►│
       │                          │
       │  [список инструментов]   │
       │◄─────────────────────────│
       │                          │
       │  tools/call              │
       │─────────────────────────►│
       │                          │
       │  [результат]             │
       │◄─────────────────────────│
```

### Использование в Cursor

Добавьте OneAPA как MCP сервер в настройках Cursor:

```json
{
  "mcpServers": {
    "oneapa": {
      "url": "http://localhost:9000/mcp",
      "transport": "http"
    }
  }
}
```

## OneAPA как MCP клиент

OneAPA может использовать внешние MCP серверы как источники инструментов.

### Справочник "MCP серверы"

Внешние MCP серверы настраиваются в справочнике `APA_MCPСерверы`.

#### Реквизиты

| Реквизит         | Тип    | Описание                           |
| ---------------- | ------ | ---------------------------------- |
| **Наименование** | Строка | Название сервера                   |
| **URL**          | Строка | Адрес MCP сервера                  |
| **Токен**        | Строка | Токен авторизации (если требуется) |
| **Активен**      | Булево | Включён ли сервер                  |

### Добавление MCP сервера

1. Откройте справочник "MCP серверы"
2. Создайте новый элемент
3. Заполните поля:

| Поле         | Пример                      |
| ------------ | --------------------------- |
| Наименование | FileSystem MCP              |
| URL          | <http://localhost:8080/mcp> |
| Токен        | (если требуется)            |
| Активен      | ✓                           |

4. Сохраните

### Подключение к агенту

1. Откройте агента
2. Перейдите на вкладку "MCP серверы"
3. Добавьте нужные серверы
4. Сохраните

```
┌─────────────────────────────────────────────────────────────┐
│  Агент: Помощник                                            │
├─────────────────────────────────────────────────────────────┤
│  [Основное] [Инструменты] [MCP серверы] [Пользователи]     │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  MCP серверы:                                                │
│  ┌───────────────────────────────────────────────────────┐  │
│  │ ☑ FileSystem MCP                                       │  │
│  │ ☑ GitHub MCP                                           │  │
│  │ ☐ Database MCP                                         │  │
│  └───────────────────────────────────────────────────────┘  │
│                                                              │
│                                [Добавить] [Удалить]          │
└─────────────────────────────────────────────────────────────┘
```

## Примеры MCP серверов

### Файловая система

Позволяет агенту работать с файлами.

```json
{
  "name": "FileSystem MCP",
  "url": "http://localhost:8080",
  "capabilities": ["read_file", "write_file", "list_directory"]
}
```

### GitHub

Работа с репозиториями GitHub.

```json
{
  "name": "GitHub MCP",
  "url": "https://mcp.github.com",
  "token": "ghp_xxxxx"
}
```

### База данных

Выполнение SQL запросов.

```json
{
  "name": "Database MCP",
  "url": "http://localhost:8081",
  "capabilities": ["query", "execute"]
}
```

## Создание MCP инструмента в OneAPA

### В справочнике "Инструменты"

Для создания инструмента, работающего через MCP:

1. Создайте элемент в справочнике "Инструменты"
2. Установите флаг **MCP**
3. Заполните описание

```
┌─────────────────────────────────────────────────────────────┐
│  Инструмент: Поиск в файлах                                 │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  ☑ MCP (инструмент через MCP протокол)                      │
│                                                              │
│  Описание:                                                   │
│  ┌─────────────────────────────────────────────────────────┐│
│  │ Поиск текста в файлах указанного каталога               ││
│  └─────────────────────────────────────────────────────────┘│
│                                                              │
│  Параметры:                                                  │
│  ┌─────────────────────────────────────────────────────────┐│
│  │ directory | string | Путь к каталогу                    ││
│  │ pattern   | string | Шаблон поиска                      ││
│  └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘
```

### Вызов MCP инструмента

При вызове агент отправляет запрос к MCP серверу:

```json
{
  "method": "tools/call",
  "params": {
    "name": "search_files",
    "arguments": {
      "directory": "/data",
      "pattern": "*.log"
    }
  }
}
```

## Протокол MCP

### Методы

| Метод            | Описание                      |
| ---------------- | ----------------------------- |
| `tools/list`     | Список доступных инструментов |
| `tools/call`     | Вызов инструмента             |
| `resources/list` | Список ресурсов               |
| `resources/read` | Чтение ресурса                |
| `prompts/list`   | Список промптов               |
| `prompts/get`    | Получение промпта             |

### Формат инструмента

```json
{
  "name": "get_weather",
  "description": "Получить погоду в городе",
  "inputSchema": {
    "type": "object",
    "properties": {
      "city": {
        "type": "string",
        "description": "Название города"
      }
    },
    "required": ["city"]
  }
}
```

## Безопасность MCP

### Рекомендации

1. **Ограничьте доступ** — используйте токены авторизации
2. **Шифруйте трафик** — используйте HTTPS для внешних серверов
3. **Логируйте вызовы** — отслеживайте использование инструментов
4. **Проверяйте входные данные** — валидируйте параметры

### Пример с токеном

```
┌─────────────────────────────────────────────────────────────┐
│  MCP сервер: Sensitive Data MCP                             │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  URL: https://secure-mcp.company.local                       │
│  Токен: [••••••••••••••••••••]                              │
│  ☑ Активен                                                  │
└─────────────────────────────────────────────────────────────┘
```

## Отладка MCP

### Проверка доступности сервера

```bash
# Получение списка инструментов
curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{"method": "tools/list"}'
```

### Тестовый вызов инструмента

```bash
curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "method": "tools/call",
    "params": {
      "name": "test_tool",
      "arguments": {}
    }
  }'
```

## Устранение проблем

### MCP сервер недоступен

1. Проверьте URL сервера
2. Проверьте, что сервер запущен
3. Проверьте firewall

### Ошибка авторизации

1. Проверьте токен
2. Убедитесь, что токен не истёк
3. Проверьте формат токена (Bearer, Basic и т.д.)

### Инструменты не появляются

1. Выполните синхронизацию с Proxy
2. Проверьте, что MCP сервер добавлен в агента
3. Проверьте логи Proxy на ошибки

## Далее

{% content-ref url="/pages/TiKILijmgz67ITQIyG89" %}
[Broken mention](broken://pages/TiKILijmgz67ITQIyG89)
{% endcontent-ref %}
