sunsiyuan/human-survey

sunsiyuan/human-survey

от sunsiyuan
HumanSurvey — это минималистичное API и MCP-сервер для сбора структурированной обратной связи от групп людей через AI-агентов. Позволяет создавать опросы с JSON-схемой, поддерживает типы вопросов (...

HumanSurvey

Website: humansurvey.co · Docs: humansurvey.co/docs · FAQ: humansurvey.co/faq

human-survey MCP server

Feedback collection infrastructure for AI agents.

HumanSurvey lets an agent doing long-horizon work collect structured feedback from a group of people:

Agent is doing a job
  → needs structured feedback from a group
  → creates survey from JSON schema
  → shares /s/{id} URL with respondents
  → humans respond over hours or days
  → agent retrieves structured JSON results and acts on them

What is this?

HumanSurvey is a minimal API and MCP server for one narrow job: let agents collect structured feedback from groups of humans and get machine-usable results back.

It is designed for:

  • AI agents running event management, product launches, or community workflows that need to survey a group
  • Developers building agent products that need a lightweight feedback-collection primitive

It is not designed for:

  • survey dashboards
  • visual form builders
  • template libraries
  • email campaigns
  • analytics/reporting UI

Features

  • JSON schema input — structured, precise, and directly machine-generated
  • MCP server — create surveys and read results directly from Claude Code
  • Minimal API surface — authenticated creator routes, public respondent submission
  • Four semantic question typeschoice, text, scale, matrix
  • Conditional logicshowIf in Markdown and JSON schema
  • Explicit lifecycle — close surveys, expiry, and max response limits
close_survey

Навсегда закрыть опрос, чтобы он больше не принимал новые ответы. Используйте это, когда у вас достаточно ответов или окно сбора данных прошло. Возвращает окончательное количество ответов. Закрытие необратимо через MCP - используйте PATCH /api/surveys/{id}, чтобы открыть снова.

Close Survey

Навсегда закрыть опрос, чтобы он больше не принимал новые ответы. Используйте это, когда у вас достаточно ответов или окно сбора данных прошло. Возвращает окончательное количество ответов. Закрытие необратимо через MCP - используйте PATCH /api/surveys/{id}, чтобы открыть снова.

Параметры

  • survey_idstringобязательный

    The survey ID to close

create_key

Создаёт новый ключ API HumanSurvey. Вызывай этот инструмент перед любым другим, если HUMANSURVEY_API_KEY не задан. Возвращает ключ — сохрани его как HUMANSURVEY_API_KEY в своей конфигурации MCP. После создания ключ нельзя получить снова.

Create API Key

Создаёт новый ключ API HumanSurvey. Вызывай этот инструмент перед любым другим, если HUMANSURVEY_API_KEY не задан. Возвращает ключ — сохрани его как HUMANSURVEY_API_KEY в своей конфигурации MCP. После создания ключ нельзя получить снова.

Параметры

  • namestring

    A label for this key, e.g. the project or agent name.

  • emailstring

    Contact email of the human owner. Used for billing and usage notifications in the future.

  • wallet_addressstring

    Optional wallet address in CAIP-10 format (e.g. "eip155:8453:0xabc..." for Base, "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp:ABC..." for Solana). Will be used for agent-native payments in the future.

create_survey

Используйте это, когда задача агента требует сбора структурированной обратной связи или данных от группы людей. Типичные случаи: отзывы участников после мероприятия, удовлетворённость продуктом после запуска, проверка состояния команды, оценки клиентов после закрытия обращения. Параметр schema полностью типизирован — следуйте типам полей, а не догадывайтесь. Возвращает survey_url для отправки респондентам и survey_id для передачи в get_results позднее. Опрос принимает ответы сразу и остаётся открытым, пока вы его не закроете или не истечёт срок. Встраивание: добавьте "?embed=1" к возвращённому survey_url, чтобы отобразить внутри <iframe> на любом хост-сайте (онбординг/сбор лидов). Встроенная форма отправляет события в window.parent с source: "humansurvey" — тип "loaded", "resize" (с высотой) и "submitted" (с responseId и answers). Полный контракт встраивания см. на https://www.humansurvey.co/llms.txt.

Create Survey

Используйте это, когда задача агента требует сбора структурированной обратной связи или данных от группы людей. Типичные случаи: отзывы участников после мероприятия, удовлетворённость продуктом после запуска, проверка состояния команды, оценки клиентов после закрытия обращения. Параметр schema полностью типизирован — следуйте типам полей, а не догадывайтесь. Возвращает survey_url для отправки респондентам и survey_id для передачи в get_results позднее. Опрос принимает ответы сразу и остаётся открытым, пока вы его не закроете или не истечёт срок. Встраивание: добавьте "?embed=1" к возвращённому survey_url, чтобы отобразить внутри <iframe> на любом хост-сайте (онбординг/сбор лидов). Встроенная форма отправляет события в window.parent с source: "humansurvey" — тип "loaded", "resize" (с высотой) и "submitted" (с responseId и answers). Полный контракт встраивания см. на https://www.humansurvey.co/llms.txt.

Параметры

  • schemaobjectобязательный

    Survey definition. Each question is a discriminated union keyed by type: single_choice, multi_choice, text, scale, or matrix. Use the typed fields below — do not send free-form JSON.

  • max_responsesinteger

    Optional. Close the survey automatically after this many responses.

  • expires_atstring

    Optional. ISO 8601 datetime — close the survey automatically at this time (e.g. "2026-04-14T00:00:00Z").

  • webhook_urlstring

    Optional. URL to POST to when the survey hits a notable event. Branch on the "event" field. Closure: { event_id, event: "survey_closed", survey_id, status: "closed", closed_reason: "manual" | "max_responses" | "expired", response_count, closed_at } — fires on close_survey, max_responses reached, or expires_at passed (lazy, within seconds of any next interaction). Threshold (if notify_at_responses is set): { event_id, event: "threshold_reached", survey_id, status: "open", response_count, threshold, fired_at }. Use event_id to dedupe; delivery is at-least-once per event type.

  • notify_at_responsesinteger

    Optional. Fire the webhook once when this many responses arrive — survey stays open. Use this to wake the agent on "enough signal" without waiting for full closure. Requires webhook_url (rejected at create time without it). If equal to max_responses, both threshold and closure events fire on the same response (separate event_ids). Must be ≤ max_responses if both are set; otherwise rejected at create time.

get_results

Извлекает агрегированные результаты опроса. Показывает статус опроса (открыт/закрыт), общее количество ответов и результаты по вопросам: подсчёт вариантов с процентами, среднее/медиана/распределение по шкале, а также последние текстовые ответы. Для длительных опросов (часы/дни): передайте since_response_id (значение next_cursor из предыдущего вызова), чтобы забирать только новые ответы инкрементально. Когда is_final равен true — опрос закрыт (вручную, по max_responses или по истечении срока) — действуйте на основе результатов. Когда is_final равен false — опрос ещё собирает ответы: вы можете либо запланировать ещё один get_results примерно через next_check_hint_seconds, либо установить webhook_url при создании опроса, чтобы получать асинхронное уведомление при его закрытии (предпочтительно для окон сбора длительностью часы/дни). next_check_hint_seconds — рекомендация, не обязательство: проверяйте раньше, если ваша задача требует.

Get Results

Извлекает агрегированные результаты опроса. Показывает статус опроса (открыт/закрыт), общее количество ответов и результаты по вопросам: подсчёт вариантов с процентами, среднее/медиана/распределение по шкале, а также последние текстовые ответы. Для длительных опросов (часы/дни): передайте since_response_id (значение next_cursor из предыдущего вызова), чтобы забирать только новые ответы инкрементально. Когда is_final равен true — опрос закрыт (вручную, по max_responses или по истечении срока) — действуйте на основе результатов. Когда is_final равен false — опрос ещё собирает ответы: вы можете либо запланировать ещё один get_results примерно через next_check_hint_seconds, либо установить webhook_url при создании опроса, чтобы получать асинхронное уведомление при его закрытии (предпочтительно для окон сбора длительностью часы/дни). next_check_hint_seconds — рекомендация, не обязательство: проверяйте раньше, если ваша задача требует.

Параметры

  • survey_idstringобязательный

    The survey ID from the create_survey output (last segment of the survey_url, e.g. "abc123efgh45")

  • since_response_idstring

    Optional. Pass the next_cursor returned from a prior get_results call to fetch only responses received since then. Aggregates always reflect the full survey; this only filters the raw response list. Use this to incrementally consume long-running surveys without re-reading old data.

list_surveys

Вывести все опросы, созданные с текущим API key, в порядке от новых к старым. Используйте это, чтобы найти survey_id, необходимый для get_results или close_survey, или чтобы проверить, какие опросы ещё открыты.

List Surveys

Вывести все опросы, созданные с текущим API key, в порядке от новых к старым. Используйте это, чтобы найти survey_id, необходимый для get_results или close_survey, или чтобы проверить, какие опросы ещё открыты.

Параметры

Без параметров.

Другие проверенные MCP-сервера

ppl-ai/modelcontextprotocol

ppl-ai/modelcontextprotocol

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

TypeScript2388
XeroAPI/xero-mcp-server

XeroAPI/xero-mcp-server

официальный

MCP-сервер для интеграции с Xero: управление контактами, счетами, планом счетов, отчётами и расчётами зарплаты через единый протокол. Полезен разработчикам и бухгалтерам, автоматизирующим обмен дан...

TypeScript340
keboola/keboola-mcp-server

keboola/keboola-mcp-server

официальный

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

Python84
neondatabase/mcp-server-neon

neondatabase/mcp-server-neon

официальный

MCP сервер для управления базами данных Neon Postgres через естественный язык. Создавай проекты, ветки, выполняй запросы и миграции без SQL. Полезен разработчикам и аналитикам, упрощает работу с PostgreSQL.

TypeScript618
duaraghav8/MCPJungle

duaraghav8/MCPJungle

MCPJungle — это MCP-шлюз, объединяющий множество серверов за одним endpoint. Регистрируйте инструменты один раз, подключайте Claude, Cursor или своих AI-агентов к единой точке входа. Упрощает управление, контроль доступа и observability для команд и локальных разработчиков.

Go1161
mem0ai/mem0-mcp

mem0ai/mem0-mcp

официальный

Mem0 MCP Server даёт AI-агентам долговременную память через Mem0 API. Добавляйте, ищите и обновляйте воспоминания в Claude Desktop, Cursor и других MCP-клиентах. Управляйте контекстом диалога - пол...

Python658
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин