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

Attribution for the channels that have no referrer.

HumanSurvey asks one question — how did you hear about us — inside the host's own signup or payment flow, at a granularity that is actually actionable: the platform first, then which creator, podcast, event or store.

Agent configures a form   → platforms from the catalog, creators supplied by the caller
Host embeds /s/{id}       → in its signup flow, its payment flow, or both
Respondent answers        → picks a platform; that pick expands the follow-up in place
Host pushes conversions   → POST /api/attribution/events, keyed on its own user id
Agent reads back          → rollup, raw response stream, free text awaiting a mapping

What is this?

An API and MCP server for self-reported attribution. TikTok in-app, Instagram, podcasts, communities, word of mouth, AI assistants: the exposure happens where tracking cannot reach, and asking a human is the only always-on signal that survives every referrer leak.

Инструменты были проиндексированы:
configure_form

Задаёт вопросы и варианты ответов, которые показывает форма. Заменяет всю конфигурацию и сохраняет её как новую неизменяемую версию, поэтому уже собранные ответы продолжают описывать список, который им реально показывался. Повторная отправка идентичной конфигурации переиспользует существующую версию, а не создаёт ещё одну. Форма - это один вопрос с одиночным выбором, который при необходимости раскрывается во второй. Задайте варианту параметр expands, который называет другой вопрос, чтобы показать его при выборе этого варианта, именно так "TikTok" превращается в "which account". Идентификаторы вариантов должны быть стабильными ключами, которые переживают переименование. Использование хэндла в качестве идентификатора разделяет историю этого создателя на две части в тот день, когда он его изменит. Присвойте catalog_slug, чтобы взять метку и логотип варианта из каталога платформы. Порядок по умолчанию - "rotate", который рандомизируется для каждого респондента, и именно это делает сообщаемые доли несмещёнными; "fixed" сохраняет ваш порядок и принимает, что более ранние варианты выбираются чаще из-за того, что они раньше.

Настраивает вопросы

Параметры
  • form_idstringобязательный

    Форма для настройки.

  • nodesobject[]обязательный

    От одного до двенадцати вопросов. Ровно один не должен быть достижим никаким expands: этот вопрос задается первым.

create_form

Создаёт форму и возвращает её id, URL для респондентов, а также iframe и слушатель postMessage для встраивания этого URL на страницу-хост. Форма пока не содержит вопросов и ничего не показывает респондентам, пока не будет настроена. allowed_origins ограничивает, какие сайты могут встраивать её; если оставить это поле пустым, встраивать сможет любой сайт, а значит, любой сайт сможет потратить квоту ответов этого аккаунта.

Создаёт форму.

Параметры
  • allowed_originsstring[]

    Допустимые источники для встраивания формы, например ["https://app.example.com"]. Только схема и хост: путь отклоняется, а не обрезается.

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

    Внутренняя метка. Респонденты никогда её не видят.

  • themeobject

    Именно эти четыре токена. Любой другой ключ отклоняется, а не игнорируется.

get_attribution

Сводка ответов респондентов. По каждому вопросу сообщает, сколько завершённых ответов назвали каждого кандидата из числа ответивших на этот вопрос, показывает неразрешённые ответы в том же списке, как часто уточняющий вопрос не находил ответа, и выручку, если зафиксированы события конверсии. При каждом вызове пересчитывается заново, с учётом всех сопоставлений, сделанных с тех пор, поэтому сводка за прошлый период может обоснованно измениться между двумя чтениями.

Агрегация атрибуции.

Параметры
  • byenum

    «"candidate" (по умолчанию): одна строка на вариант; "node" сводится к одной строке на вопрос.»

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

    Форма для отчета. Требование: объединение форм смешает две группы респондентов в один знаменатель.

  • fromstring

    Начало окна, включительно. Формат ISO 8601; значение без часового пояса интерпретируется как UTC.

  • metricenum

    Только порядок сортировки; и количество, и выручка указываются в любом случае. Выручка отображается в строках первого вопроса и нигде больше, потому что деньги респондента принадлежат респонденту, а не каждому вопросу, на который он ответил.

  • tostring

    Конец окна, исключительно.

get_catalog

Перечисли платформы, которые знает HumanSurvey: slug для использования в качестве catalog_slug, отображаемое название и класс канала. Это именованные каналы, которые можно показать респонденту: TikTok, ChatGPT, LinkedIn, Reddit и так далее, плюс описательные варианты без бренда, например «мне рассказал друг или коллега». API-ключ не нужен.

Каталог платформ

Параметры

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

get_form

Читает одну форму: ее настройки и конфигурацию вопросов, которая сейчас показывается респондентам, каждый вопрос, каждый вариант ответа и режим порядка. Возвращает конфигурацию в формате JSON, потому что это точно та структура, которую принимает запись конфигурации.

Считывает форму.

Параметры
  • form_idstringобязательный

    Идентификатор формы, указанный в списке форм.

list_forms

Перечисляет формы в этой учётной записи: id, имя, URL респондента, активна ли форма или приостановлена, настроена ли она уже с вопросами и сколько ответов она собрала.

Перечисляет формы.

Параметры

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

list_unresolved

Ответы, которые респонденты вводили вручную вместо выбора из списка, сгруппированные по точному тексту и упорядоченные по частоте ввода. Сообщает о замеченных вариантах написания, когда каждый был введён впервые и в последний раз, а также о том, покрывает ли его уже существующее сопоставление. Это дословные формулировки. Два похожих текста могут принадлежать разным людям, а текст может упоминать кого-то, кого вообще нет в списке кандидатов.

Ответы в свободной форме.

Параметры
  • form_idstringобязательный

    Форма для чтения.

  • fromstring

    Начало окна, включительно.

  • include_mappedboolean

    Включает тексты, которые уже разрешает живое сопоставление. По умолчанию отключено.

  • limitinteger
  • tostring

    Конец окна, исключительно.

login

Входит с адресом электронной почты и сохраняет API-ключ на этой машине. При вызове только с адресом электронной почты отправляет на него шестизначный код и не возвращает ничего полезного: код должен поступить от человека, из его почтового ящика. При вызове с адресом и этим кодом сохраняет ключ в ~/.humansurvey/credentials и сообщает, куда он записан. Сам ключ никогда не выводится. Вход и регистрация - это одно и то же действие: адрес, который никогда не использовался, получает аккаунт.

Войти

Параметры
  • codestring

    Шесть цифр из письма. При первом вызове не указывайте: вы не можете знать это значение, попросите его у человека.

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

    Адрес электронной почты человека. Он прочитает код из этого почтового ящика.

  • namestring

    Метка для ключа, например, проект, для которого он предназначен.

remap

Записываем, что конкретный введённый ответ означает конкретного кандидата. Это касается каждого ответа, который уже содержит этот текст, а также любого будущего ответа, поэтому числа, сообщённые для прошлых окон, меняются. Исходный текст никогда не изменяется, и сопоставление можно отменить, но отчёт уже может быть прочитан. Сопоставляйте только текст, значение которого установлено: текст, лишь похожий на имя кандидата, не доказательство того, что это он. Одно действующее сопоставление на каждый текст и на каждый вопрос.

Сопоставляет введенный ответ с кандидатом.

Параметры
  • candidate_idstringобязательный

    Имеется в виду кандидат. Не проверяется по текущей конфигурации, потому что кандидат мог быть удалён, в то время как его история всё ещё требует сопоставления.

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

    Вопрос, в который был введён этот текст. Одни и те же слова в разных вопросах могут означать разное.

  • notestring

    Почему. Оставлено с маппингом.

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

    Введённый текст, точно в том виде, как он был передан. С обеих сторон он нормализуется одинаково.

revoke_remap

Останавливает применение сопоставления. Введённые ответы, которые оно охватывало, возвращаются в список нерешённых, причём и в прошлых окнах, и в будущих, потому что сводки присоединяют сопоставления при чтении, а не при создании. Поэтому уже выведенные для этих окон числа изменятся. Ничего не удаляется: сопоставление помечается как отозванное и сохраняется, так что отчёт, созданный, пока оно действовало, всё ещё можно объяснить. Отзыв уже отозванного сопоставления не считается ошибкой и не сдвигает момент, когда оно перестало действовать. Идентификаторы сопоставлений появляются в списке свободного ввода рядом с любым уже сопоставленным текстом, а также в подтверждении, которое показывается при создании сопоставления.

Отменяет сопоставление.

Параметры
  • form_idstringобязательный

    Форма, которой принадлежит отображение.

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

    Отзываемое сопоставление. Одного идентификатора сопоставления никогда не достаточно: он проверяется по этой форме и этому аккаунту.

1.2.0основная
1.1.1
1.1.0
1.0.1
1.0.0
0.6.0
0.5.1
0.4.0
0.3.1
0.3.0
0.2.1
0.1.0

Выберите клиент, чтобы установить sunsiyuan/human-survey:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "sunsiyuan-human-survey-3kstrxus6e": {
      "env": {
        "HUMANSURVEY_API_KEY": "hs_sk_your_key_here"
      },
      "args": [
        "-y",
        "humansurvey-mcp"
      ],
      "command": "npx"
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "sunsiyuan-human-survey-3kstrxus6e": {
      "env": {
        "HUMANSURVEY_API_KEY": "hs_sk_your_key_here"
      },
      "args": [
        "-y",
        "humansurvey-mcp"
      ],
      "command": "npx"
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "sunsiyuan-human-survey-3kstrxus6e": {
      "type": "stdio",
      "env": {
        "HUMANSURVEY_API_KEY": "hs_sk_your_key_here"
      },
      "args": [
        "-y",
        "humansurvey-mcp"
      ],
      "command": "npx"
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"sunsiyuan-human-survey-3kstrxus6e\",\"type\":\"stdio\",\"env\":{\"HUMANSURVEY_API_KEY\":\"hs_sk_your_key_here\"},\"args\":[\"-y\",\"humansurvey-mcp\"],\"command\":\"npx\"}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "sunsiyuan-human-survey-3kstrxus6e": {
      "env": {
        "HUMANSURVEY_API_KEY": "hs_sk_your_key_here"
      },
      "args": [
        "-y",
        "humansurvey-mcp"
      ],
      "command": "npx"
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add sunsiyuan-human-survey-3kstrxus6e --env HUMANSURVEY_API_KEY=hs_sk_your_key_here -- npx -y humansurvey-mcp

Либо через JSON-конфиг:

claude mcp add-json sunsiyuan-human-survey-3kstrxus6e "{\"env\":{\"HUMANSURVEY_API_KEY\":\"hs_sk_your_key_here\"},\"args\":[\"-y\",\"humansurvey-mcp\"],\"command\":\"npx\"}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add sunsiyuan-human-survey-3kstrxus6e --env HUMANSURVEY_API_KEY=hs_sk_your_key_here -- npx -y humansurvey-mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.sunsiyuan-human-survey-3kstrxus6e]
command = "npx"
args = ["-y", "humansurvey-mcp"]

[mcp_servers.sunsiyuan-human-survey-3kstrxus6e.env]
HUMANSURVEY_API_KEY = "hs_sk_your_key_here"
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите sunsiyuan/human-survey, а в поле команды запуска — строку ниже:
npx -y humansurvey-mcp

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "sunsiyuan-human-survey-3kstrxus6e": {
      "env": {
        "HUMANSURVEY_API_KEY": "hs_sk_your_key_here"
      },
      "args": [
        "-y",
        "humansurvey-mcp"
      ],
      "command": "npx"
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "sunsiyuan-human-survey-3kstrxus6e": {
      "env": {
        "HUMANSURVEY_API_KEY": "hs_sk_your_key_here"
      },
      "args": [
        "-y",
        "humansurvey-mcp"
      ],
      "command": "npx",
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например sunsiyuan-human-survey-3kstrxus6e.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: sunsiyuan-human-survey-3kstrxus6e
    command: npx
    args:
      - "-y"
      - "humansurvey-mcp"
    env:
      HUMANSURVEY_API_KEY: hs_sk_your_key_here
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "sunsiyuan-human-survey-3kstrxus6e": {
      "env": {
        "HUMANSURVEY_API_KEY": "hs_sk_your_key_here"
      },
      "args": [
        "-y",
        "humansurvey-mcp"
      ],
      "command": "npx"
    }
  }
}

Похожие MCP-сервера

marketplaceadpros/amazon-ads-mcp-server

marketplaceadpros/amazon-ads-mcp-server

от marketplaceadpros

Сервер для подключения к Amazon Advertising через MarketplaceAdPros. Управляйте рекламными кампаниями, группами объявлений, ключевыми словами и отчётами на естественном языке. Полезен маркетологам ...

JavaScript⭐ 29
lionkiii/rss-feeds-mcp

lionkiii/rss-feeds-mcp

от lionkiii

MCP сервер для работы с RSS-лентами: помогает AI-ассистентам (Claude, Cursor) получать, фильтровать и искать записи из блогов и новостей. Подходит для мониторинга контента, SEO-исследований и сбора новостей. Не требует API ключей, работает без настройки.

JavaScript⭐ 4
OrbiAds/Orbiads-GAM-MCP

OrbiAds/Orbiads-GAM-MCP

от orbiads

OrbiAds — это MCP сервер, который дает AI-ассистентам прямой доступ к Google Ad Manager. Управляйте кампаниями, отчетами и креативами через естественный язык — без API-токенов и скриптов. Идеально для AdOps, издателей и агентств.

Python⭐ 3
carlosalvite/foundersignal-mcp

carlosalvite/foundersignal-mcp

от carlosalvite

FounderSignal - MCP сервер для Claude, агрегирующий рыночную аналитику: выручку, тренды, боли сообщества из TrustMRR, AppSumo, Reddit. Помогает основателям быстро валидировать идеи без ручного сбора.

JavaScript⭐ 1
krissanders/ai-visibility-mcp

krissanders/ai-visibility-mcp

от krissanders

MCP-сервер для аудита и исправления видимости сайта для AI-поиска. Проверяет robots.txt, схему, ссылки на LLM, настройки Cloudflare и генерирует исправления. Помогает SEO-специалистам и владельцам ...

Python⭐ 1
saurabhsharma2u/search-console-mcp

saurabhsharma2u/search-console-mcp

от saurabhsharma2u

MCP сервер объединяет Google Search Console, Bing и GA4 для SEO-аналитики. SEO-специалисты задают вопросы на естественном языке и получают инсайты: каннибализацию, аномалии трафика, приоритетные то...

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

Лука Никитин