MCP-сервер
Подключите Framix как MCP-коннектор — и нейросеть будет управлять сайтами, товарами, CRM и агентами через ваш API-ключ. Пошаговый гайд.
MCP-сервер
Framix предоставляет Remote MCP-сервер (Model Context Protocol) — это надстройка над Workspace API. Подключив его как коннектор в Claude Desktop, Cursor или любой MCP-совместимый клиент, вы даёте нейросети управлять вашей группой обычными словами:
- «Покажи новые лиды за последнюю неделю и помечай обработанными те, где есть телефон»
- «Добавь в каталог 5 товаров: …»
- «Создай лендинг для кофейни и сохрани его HTML на главную страницу сайта X»
- «Сколько записей на завтра и какие из них не подтверждены?»
Нейросеть работает строго в рамках прав вашего ключа: MCP-тулзы — это тонкая обёртка над теми же REST-эндпоинтами, и каждая операция проходит ту же проверку скоупов, что и прямой вызов API. Что не разрешено ключом — ИИ сделать не сможет.
Чем это отличается от обычного API
| Workspace API | MCP-сервер | |
|---|---|---|
| Кто вызывает | ваш код / скрипт | нейросеть в чат-клиенте |
| Формат | вы сами пишете HTTP-запросы | ИИ сам выбирает инструмент и параметры |
| Аутентификация | Authorization: Bearer fmxk_... | тот же заголовок |
| Права | скоупы ключа | те же скоупы ключа |
Если коротко: MCP — это «руки» для нейросети поверх того же ключа.
Шаг 1. Создайте API-ключ
- Откройте Настройки группы → API-ключи (
/account/settings/api-keys). - Нажмите «Создать ключ», задайте имя (напр. «Claude Desktop»).
- Выберите скоупы. Принцип — минимально необходимые:
- только чтение аналитики/лидов →
crm:read,projects:read; - наполнение каталога →
products:read,products:write; - полный контент-менеджмент →
projects,pages,products,services,crmна чтение и запись.
- только чтение аналитики/лидов →
- Скопируйте токен
fmxk_...— он показывается один раз.
Чем уже скоупы ключа, тем меньше нейросеть может сделать «не то». Для экспериментов начните с
*:read.
Шаг 2. Подключите коннектор
Эндпоинт один для всех клиентов:
POST https://framix.app/api/mcp
Транспорт — Streamable HTTP (stateless JSON-RPC 2.0). Авторизация — заголовком:
Authorization: Bearer fmxk_ваш_токен
Claude Desktop / Cursor / Windsurf
В конфиге MCP-коннекторов добавьте HTTP-сервер с заголовком авторизации:
{
"mcpServers": {
"framix": {
"url": "https://framix.app/api/mcp",
"headers": {
"Authorization": "Bearer fmxk_ваш_токен"
}
}
}
}
Где лежит конфиг:
- Claude Desktop —
claude_desktop_config.json(macOS:~/Library/Application Support/Claude/, Windows:%APPDATA%\Claude\). Также можно добавить через Settings → Connectors. - Cursor —
~/.cursor/mcp.jsonили Settings → MCP.
После сохранения перезапустите клиент. Он автоматически вызовет initialize и tools/list — в списке инструментов появятся framix_*.
Клиенты, требующие команду запуска (mcp-remote)
Если клиент умеет только локальные stdio-серверы, используйте мост mcp-remote:
{
"mcpServers": {
"framix": {
"command": "npx",
"args": [
"mcp-remote",
"https://framix.app/api/mcp",
"--header",
"Authorization: Bearer fmxk_ваш_токен"
]
}
}
}
Шаг 3. Пользуйтесь
Просто пишите задачу словами — нейросеть сама подберёт инструменты. Несколько примеров диалогов:
Наполнить каталог
Добавь товар «Зерно Эфиопия Иргачефф», цена 890 ₽, остаток 40, артикул COF-ETH-01.
ИИ вызовет framix_create_product с price: 89000 (копейки) и нужными полями.
Обработать лиды
Покажи новые заявки и переведи в работу те, где указан телефон.
framix_list_leads → framix_set_lead_status по каждой подходящей.
Собрать страницу
Сделай продающий лендинг для студии йоги и сохрани его на главную страницу сайта «Дзен».
framix_list_sites → framix_list_pages → framix_save_page_html.
Доступные инструменты
Все тулзы с префиксом framix_. Денежные значения — в копейках (89000 = 890 ₽), длительность — в минутах. Точные параметры приходят в inputSchema ответа tools/list и совпадают с телами REST-эндпоинтов.
| Инструмент | Скоуп | Действие |
|---|---|---|
framix_list_workspaces | любой ключ | Список групп + активная |
framix_list_sites | projects:read | Список сайтов |
framix_create_site | projects:write | Создать сайт |
framix_update_site | projects:write | Обновить сайт |
framix_delete_site | projects:write | Удалить сайт |
framix_list_pages | pages:read | Список страниц |
framix_get_page | pages:read | Страница + её HTML |
framix_create_page | pages:write | Создать страницу |
framix_save_page_html | pages:write | Сохранить HTML страницы |
framix_list_leads | crm:read | Список лидов |
framix_set_lead_status | crm:write | Сменить статус лида |
framix_list_products | products:read | Список товаров |
framix_get_product | products:read | Товар по id |
framix_create_product | products:write | Создать товар |
framix_update_product | products:write | Обновить товар |
framix_delete_product | products:write | Удалить товар |
framix_list_services | services:read | Список услуг |
framix_create_service | services:write | Создать услугу |
framix_update_service | services:write | Обновить услугу |
framix_delete_service | services:write | Удалить услугу |
framix_list_bookings | bookings:read | Список записей |
framix_set_booking_status | bookings:write | Сменить статус записи |
framix_list_files | files:read | Файлы и папки |
framix_list_folders | files:read | Дерево папок |
framix_list_agents | agents:read | Список AI-агентов |
framix_get_agent | agents:read | Агент по id |
framix_create_agent | agents:write | Создать агента |
framix_update_agent | agents:write | Обновить агента |
framix_list_blog_posts | blog:read (ADMIN) | Список статей блога |
framix_get_blog_post | blog:read (ADMIN) | Статья по slug |
framix_create_blog_post | blog:write (ADMIN) | Создать статью |
framix_update_blog_post | blog:write (ADMIN) | Обновить статью |
framix_delete_blog_post | blog:write (ADMIN) | Удалить статью |
Ручная проверка (curl)
Полезно убедиться, что ключ работает, до настройки клиента.
Список инструментов:
curl https://framix.app/api/mcp \
-H "Authorization: Bearer fmxk_ваш_токен" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Вызов инструмента (новые лиды):
curl https://framix.app/api/mcp \
-H "Authorization: Bearer fmxk_ваш_токен" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name":"framix_list_leads","arguments":{"status":"new","size":20}}}'
Создать товар (цена в копейках):
curl https://framix.app/api/mcp \
-H "Authorization: Bearer fmxk_ваш_токен" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call",
"params":{"name":"framix_create_product",
"arguments":{"name":"Тестовый товар","price":89000,"stock":10}}}'
Успешный ответ инструмента приходит в result.content[0].text (это JSON соответствующего эндпоинта).
Диагностика
| Симптом | Причина и решение |
|---|---|
HTTP 401 | Токен не передан или недействителен. Проверьте заголовок Authorization: Bearer fmxk_..., отозван ли ключ. |
Инструмент вернул isError: true, status 403 | У ключа нет нужного скоупа (напр. вызвали framix_create_product ключом только с products:read). Выпустите ключ с *:write. |
| Инструмента нет в списке клиента | Клиент не перезапущен после правки конфига; либо неверный путь к конфигу. |
404 внутри ответа инструмента | Передан несуществующий id (сайта/товара). Сначала получите список через framix_list_*. |
| Блог-тулзы отсутствуют/403 | Скоупы blog:* доступны только ключам аккаунта с ролью ADMIN. |
Ошибка конкретного инструмента (нет скоупа, ресурс не найден, невалидные данные) возвращается не как ошибка протокола, а как результат tools/call с isError: true — нейросеть видит текст ошибки и может среагировать.
Безопасность
- Права нейросети = скоупы ключа. Для read-only сценариев выпускайте ключ только с
*:read. - Финансы (баланс, платежи, карты) и управление самими ключами через MCP недоступны — это безусловное ограничение, как и у Workspace API.
- Ключ хранится у вас в конфиге MCP-клиента; на стороне Framix — только его SHA-256-хэш. Потеряли или засветили — отзовите в
/account/settings/api-keysи выпустите новый. - Для каждого клиента/сценария лучше отдельный ключ с говорящим именем — так проще отозвать только нужный.