ИИ-ассистенты
MCP Server
Подключите Claude, Cursor и другие AI-ассистенты к WebAsk через Model Context Protocol
Model Context Protocol (MCP) — стандарт, позволяющий AI-моделям (Claude, Cursor, Copilot и др.) подключаться к WebAsk и работать с вашими данными напрямую: читать опросы, ответы, аналитику и выполнять действия без ручного копирования.
Готовые скиллы для ассистента
MCP даёт ассистенту доступ к инструментам. Скилл добавляет готовую методику работы с ними: какие данные собрать, что посчитать и в каком виде показать результат.
Каталог скиллов → · Как это работает →1. Подключение
Получение API-ключа
- Войдите в свой аккаунт WebAsk.
- Перейдите в раздел Настройки → API / MCP.
- Нажмите «Создать API-ключ» и скопируйте его — ключ показывается только один раз.
Эндпоинт
Аутентификация
Передайте API-ключ в заголовке Authorization:
OAuth 2.1 сервер не поддерживает
Авторизация только по API-ключу в заголовке Authorization.
Поля «OAuth Client ID» и «OAuth Client Secret» заполнять нечем, подходящих значений нет.
Отсюда практическое ограничение: подключить сервер через нативный облачный коннектор
пока нельзя, такая форма не передаёт постоянный заголовок Authorization.
Конфигурация для Claude Desktop
Файл claude_desktop_config.json
Клиент общается с MCP-серверами через stdio, поэтому удалённый сервер подключается через прокси.
Ниже сторонний пакет mcp-remote: своего
npm-пакета у WebAsk нет.
{
"mcpServers": {
"webask": {
"command": "npx",
"args": [
"-y",
"mcp-remote@latest",
"https://mcp.webask.io/mcp/v1",
"--header",
"Authorization:${WEBASK_AUTH}"
],
"env": {
"WEBASK_AUTH": "Bearer <ваш_api_ключ>"
}
}
}
}
- После
Authorization:пробела нет намеренно, а словоBearerвынесено в переменную окружения: Claude Desktop под Windows и Cursor не экранируют пробелы внутриargs, и заголовок доходит искажённым. Это описано в документации самогоmcp-remote. - После правки файла клиент надо полностью закрыть и запустить заново.
- Нужны установленные Node.js и npm, команда
npxдолжна работать из терминала.
Конфигурация для Cursor
Файл ~/.cursor/mcp.json. Прокси не нужен, ключ верхнего уровня mcpServers.
{
"mcpServers": {
"webask": {
"url": "https://mcp.webask.io/mcp/v1",
"headers": {
"Authorization": "Bearer ${env:WEBASK_API_KEY}"
}
}
}
}
Конфигурация для VS Code
Файл .vscode/mcp.json. Ключ верхнего уровня здесь другой, servers, и нужен тип транспорта.
{
"servers": {
"webask": {
"type": "http",
"url": "https://mcp.webask.io/mcp/v1",
"headers": {
"Authorization": "Bearer ${input:webask-api-key}"
}
}
}
}
Лимиты
- 180 запросов в минуту на пользователя (tools/call, resources/read и т.д.)
- Экспортные ссылки действуют 1 час
2. Ресурсы (Resources)
Ресурсы предназначены только для чтения данных. Для их вызова отправляется запрос
resources/read с соответствующим URI.
| URI | Описание |
|---|---|
| Пользователь и воркспейсы | |
| user://me | Базовая информация о текущем пользователе |
| workspace://list | Список всех рабочих пространств пользователя |
| Папки и опросы | |
| folder://list | Список всех папок пользователя |
| quiz://list | Список всех доступных опросов |
| Структура и конфигурация опроса | |
| quiz://{id}/structure | Полная структура виджетов опроса |
| quiz://{id}/texts | Пользовательские надписи интерфейса |
| quiz://{id}/variables | Скрытые переменные (extra fields) |
| quiz://{id}/hidden_options | Служебные конфигурационные опции опроса |
| quiz://{id}/widgets_hidden | Скрытая мета-информация виджетов |
| Ответы и аналитика | |
| quiz://{id}/answers | Список ответов респондентов с пагинацией |
| quiz://{id}/summary | Сводная аналитика (воронка, устройства, гео) |
| quiz://{id}/report | Детальный отчёт по виджетам (с фильтрами) |
| quiz://{id}/report_filters | Сохранённые фильтры пользователя |
| quiz://{id}/report/{uuid}/inputs | Текстовые ответы на input-виджеты |
| quiz://{id}/report/{uuid}/files | Файлы, загруженные респондентами |
| Темы и промокоды | |
| theme://list | Список тем оформления воркспейса |
| theme://{id}/details | Детальные настройки темы |
| promocode://list | Списки групп промокодов |
| promocode://{id}/codes | Коды в конкретном списке промокодов |
3. Инструменты (Tools)
Tools — действия, которые выполняются на стороне WebAsk по запросу AI-модели через метод
tools/call.
Формат ответа инструментов
Каждый инструмент возвращает объект с полями content (массив текстовых блоков) и isError (false — успех, true — ошибка). При успехе добавляются доп. поля с данными.
На сервере 161 инструментов. Что делает каждый, какие параметры принимает и что возвращает — в справочнике «Инструменты MCP».
4. Технические детали
Версии протокола
2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05
Транспорт
HTTP POST (JSON-RPC 2.0)
Метод подключения
POST /mcp/v1
Поддерживаются обе схемы работы. Клиенты до 2025-11-25 включительно
начинают с initialize. Клиенты 2026-07-28
рукопожатия не делают: объявляют версию в каждом запросе и могут спросить
server/discover — он одним ответом отдаёт версии, возможности и представление сервера.
Клиент 2026-07-28 дублирует в заголовки то, что объявил в теле: версию, имя
метода, а для вызова инструмента, чтения ресурса и получения шаблона — ещё и имя цели. Если заголовок и тело расходятся
или обязательного заголовка нет, запрос отклоняется. Имя цели, которое нельзя записать в заголовок как есть (например,
с кириллицей), передаётся в виде =?base64?…?=.
| Код | Когда | Ответ |
|---|---|---|
| -32022 | Запрошена версия протокола, которой сервер не поддерживает | 400, в data — список версий сервера и запрошенная |
| -32020 | Заголовок противоречит телу или обязательный заголовок отсутствует | 400 |
| -32601 | Метод неизвестен | 404 для клиента 2026-07-28, 200 для прежних |
Стандартные JSON-RPC методы
| Метод | Описание |
|---|---|
| server/discover | Версии протокола, возможности и представление сервера одним запросом |
| initialize | Инициализация сессии, получение capabilities сервера (клиенты прежних версий) |
| tools/list | Получить список всех доступных инструментов |
| tools/call | Вызвать инструмент с параметрами |
| resources/list | Получить список всех доступных ресурсов |
| resources/read | Прочитать содержимое ресурса по URI |
| prompts/list | Получить список prompt-шаблонов |
| prompts/get | Получить конкретный prompt-шаблон |
Пример запроса
POST https://mcp.webask.io/mcp/v1 Authorization: Bearer 42|xK7mP9nQ2wL5eH8jR3vU6tY0iD4aF1bG Content-Type: application/json { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "rename_quiz", "arguments": { "quiz_id": 123, "name": "Новое название опроса" } } }
Формат ответа при ошибке
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32602,
"message": "Invalid params: quiz_id is required"
}
}
5. Типичные сценарии
1. Получить список опросов и структуру конкретного
1. resources/read: quiz://list → получаем список опросов с ID
2. resources/read: quiz://{id}/structure → получаем структуру виджетов
2. Работа с ответами
1. resources/read: quiz://{id}/answers → получаем ответы (с answer_id)
2. tools/call: tag_answer (добавить теги) или toggle_answer_visibility (скрыть/показать)
3. Экспорт с фильтрацией
1. tools/call: generate_filtered_report (quiz_id, dateFrom/dateTo в формате d.m.Y, фильтры) → report_uuid
↳ Формат дат здесь d.m.Y (01.01.2024), тогда как ресурс quiz://report использует Y-m-d
2. resources/read: quiz://{id}/report/{uuid}/files или /inputs
3. tools/call: export_filtered_report_pdf (quiz_id) → ссылка на PDF
↳ export_filtered_report_pdf и _word принимают только quiz_id; report_uuid передавать не нужно
4. Добавление промокодов
1. tools/call: create_promocode_group → создаём список с первыми кодами → получаем list_id
2. tools/call: add_promocodes → добавляем ещё коды в список
3. resources/read: promocode://{id}/codes → проверяем добавленные коды
5. Применить тему и сразу получить структуру опроса
1. resources/read: theme://list → получаем список тем с ID
2. tools/call: apply_quiz_theme (quiz_id, theme_id)
→ в ответе сразу поле quiz со структурой — дополнительный resources/read не нужен
Полная документация MCP в markdown-формате для работы с AI: