# Подключение Dataforce через MCP

Источник: https://docs.dataforce.io/articles/dataforce-mcp

**MCP (Model Context Protocol)** — это стандарт, который позволяет AI-агентам напрямую обращаться к внешним сервисам. Подключив Dataforce по MCP, ваш агент сможет работать с данными платформы напрямую — без ручных выгрузок и копипаста: строить нейро-отчёты, управлять семантическим ядром, импортировать и экспортировать данные.

Инструкция универсальна и подходит для любого клиента с поддержкой MCP — Claude Desktop, Cursor, VS Code + Cline, Qwen Code и других.

У Dataforce два публичных MCP-сервера. Подключите тот, к которому у вас есть доступ, — или оба сразу:

| Сервер | URL | Что внутри |
| --- | --- | --- |
| **Dataforce ADS** | `https://direct.dataforce.io/api/mcp` | Расширенные отчёты (`report.*`, `report.dictionary.*`) + управление семантикой |
| **Dataforce AI** | `https://ai.dataforce.io/api/mcp` | Нейро-отчёты (`report.neuro`) + управление семантикой |

---

## Шаг 1. Получите токен

Токен создаётся самостоятельно в интерфейсе Dataforce. Это ваш ключ к платформе: он привязан к пользователю и наследует все его права.

**Что нужно знать:**

- Токен создаётся на пользователя и наследует все его права — агент получит доступ ровно к тем данным, которые видит этот пользователь.
- Один токен работает сразу и в API, и в MCP — в продуктах ADS и AI. Отдельные ключи под каждый случай создавать не нужно.

**Как создать:**

1. Нажмите на аватар в правом верхнем углу и выберите **Подключить MCP и API**.
2. В окне «Ключи доступа к API и MCP» нажмите **+ Создать токен**.
3. Укажите название токена (например, «Claude Desktop») и нажмите **Создать**.
4. Скопируйте токен, подтвердите чекбоксом, что сохранили его, и нажмите **Готово**.

> Токен показывается **только один раз** — повторно посмотреть его не получится. Если потеряли, создайте новый и удалите старый.

Токен передаётся агенту через заголовок авторизации:

```
Authorization: Bearer ВАШ_ТОКЕН
```

Храните токен как пароль: не коммитьте его в репозитории, не вставляйте в публичные промпты и не показывайте на скриншотах.

Подробнее со скриншотами — в статье [Токен для Dataforce ADS & AI](https://docs.dataforce.io/articles/token-ads-ai).

---

## Шаг 2. Настройте MCP через своего агента

Править конфигурационные файлы вручную не нужно. Современные AI-агенты умеют настраивать MCP-сервер самостоятельно — вы просто даёте им промпт ниже, и агент сам вписывает сервер в свой конфиг.

**Промпт для агента** — скопируйте и отправьте его своему агенту, подставив свои токены вместо `ТОКЕН`:

```
Настрой MCP-серверы DataForce. Транспорт строго streamable HTTP (НЕ SSE), токен передавай в заголовке Authorization: Bearer.

DataForce Direct (ADS DATAFORCE):
  URL: https://direct.dataforce.io/api/mcp
  Authorization: Bearer ТОКЕН

DataForce AI:
  URL: https://ai.dataforce.io/api/mcp
  Authorization: Bearer ТОКЕН

Подключи тот сервер, к которому у меня есть доступ (или оба).
После настройки проверь подключение — запроси ресурс spaces://active и покажи список доступных пространств.
```

Агент сам впишет серверы в свой конфиг, подставит токены и подключится. У успешного подключения в интерфейсе агента появится статус **Connected**, а инструменты Dataforce станут доступны с префиксом `mcp__`.

> Dataforce работает по **streamable HTTP**, а не SSE. Если агент не подключается — проверьте transport. Например в Qwen Code для этого нужен ключ `httpUrl` (не `url`); в остальных клиентах — `type: "http"`. Признак успеха: статус **Connected** и инструменты с префиксом `mcp__`.

---

## Ручная настройка: JSON-конфиги

Если хотите настроить MCP вручную или ваш агент не поддерживает авто-настройку, используйте один из примеров ниже. Подставьте свои токены вместо `ТОКЕН`; сервер, к которому нет доступа, можно удалить.

### Claude Desktop — claude_desktop_config.json

```json
{
  "mcpServers": {
    "dataforce-direct": {
      "type": "http",
      "url": "https://direct.dataforce.io/api/mcp",
      "headers": {
        "Authorization": "Bearer ТОКЕН"
      }
    },
    "dataforce-ai": {
      "type": "http",
      "url": "https://ai.dataforce.io/api/mcp",
      "headers": {
        "Authorization": "Bearer ТОКЕН"
      }
    }
  }
}
```

### Cursor — .cursor/mcp.json

```json
{
  "mcpServers": {
    "dataforce-direct": {
      "type": "http",
      "url": "https://direct.dataforce.io/api/mcp",
      "headers": {
        "Authorization": "Bearer ТОКЕН"
      }
    },
    "dataforce-ai": {
      "type": "http",
      "url": "https://ai.dataforce.io/api/mcp",
      "headers": {
        "Authorization": "Bearer ТОКЕН"
      }
    }
  }
}
```

### Cline (VS Code) — cline_mcp_settings.json

```json
{
  "mcpServers": {
    "dataforce-direct": {
      "type": "http",
      "url": "https://direct.dataforce.io/api/mcp",
      "headers": {
        "Authorization": "Bearer ТОКЕН"
      }
    },
    "dataforce-ai": {
      "type": "http",
      "url": "https://ai.dataforce.io/api/mcp",
      "headers": {
        "Authorization": "Bearer ТОКЕН"
      }
    }
  }
}
```

### Qwen Code — .qwen/settings.json

> Важно: используйте ключ `httpUrl`, а не `url`. С `url` Qwen Code пытается подключиться через SSE — и сервер отключается.

```json
{
  "mcpServers": {
    "dataforce-direct": {
      "httpUrl": "https://direct.dataforce.io/api/mcp",
      "headers": {
        "Authorization": "Bearer ТОКЕН"
      }
    },
    "dataforce-ai": {
      "httpUrl": "https://ai.dataforce.io/api/mcp",
      "headers": {
        "Authorization": "Bearer ТОКЕН"
      }
    }
  }
}
```

---

## Шаг 3. Проверьте подключение и попробуйте

Когда MCP подключён, не обязательно читать документацию по каждому инструменту — просто спросите агента. Он сам видит описания всех инструментов Dataforce и подскажет, что можно сделать.

Примеры первых запросов:

- *«Покажи мои доступные пространства (spaces) и проекты.»*
- *«Какие инструменты и ресурсы мне доступны через Dataforce?»*
- *«Какие метрики и измерения есть в отчётах?»*

Агент сам вызовет нужные инструменты, сгруппирует данные и объяснит результат. Дальше можно автоматизировать рутину — сводки по видимости, аудит семантики, импорт и экспорт данных.
