UserTold
UserTold: голосовые интервью в продукте, доказательства с привязкой к источнику и выгрузка в GitHub или Linear
Что умеет
- Создавать и настраивать исследования со скриптом интервью
- Просматривать доказательства и контекст интервью с таймкодами
- Оформлять задачи из доказательств и отправлять их во внешние трекеры
- Проверять статус обработки записей интервью
- Настраивать виджет сбора интервью на сайте
Какие данные видит
Ассистент видит записи интервью, доказательства и задачи, связанные с проектами пользователя в UserTold.
Нужен ли аккаунт
Не нужен: сервер работает без входа
UserTold помогает планировать голосовые интервью прямо в продукте и разбирать собранные доказательства с привязкой к моменту записи и странице. Найденные проблемы оформляются в задачи и отправляются в GitHub или Linear.
Как подключить
Как подключить UserTold к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://usertold--krasnoperov.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить UserTold к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://usertold--krasnoperov.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить UserTold к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://usertold--krasnoperov.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (19)
Технические названия из tools/list. Нужны только разработчикам.
| evidence.get | Get one bounded Evidence record with its quote, observed behavior, source interview reference, seek timestamp, page context, review state, and linked Work references. Use after evidence.list when inspecting or handing evidence to another analysis tool. |
| evidence.list | List bounded Evidence summaries and source references captured from interviews. Use when selecting evidence to inspect, group into Work, or pass to another analysis tool. Defaults to the product_under_test area; pass target_surface="all" for every area. |
| interviews.get_context | Get a bounded transcript and synchronized navigation/click window around an evidence timestamp. Behavior events expose only controlled route vocabulary and element kinds, never page titles, accessible labels, account or participant identity, raw payloads, recordings, DOM selectors, or URL queries. Use after evidence.list or evidence.get to understand what happened immediately before and after a quoted moment. |
| interviews.list | List bounded recorded-interview summaries and analysis state without participant identity. Use when choosing captured voice, screen-capable desktop, or behavior interviews for evidence review or transcript context. |
| interviews.processing_status | Get a small privacy-safe processing and extraction summary for one captured interview. Use after an interview completes when waiting for Evidence or Work generation to finish. |
| interviews.retry_processing | Retry generation for one captured interview only after a durable processing failure or the conservative 24-hour no-progress guard. This replaces generated Evidence, preserves manual Evidence, and must not be repeated automatically when the outcome is uncertain. |
| projects.create | Create a Project in an organization returned by usertold://organizations. The additive operation creates a new public projectRef for Study, Interview, Evidence, and Work tools; it does not configure billing, members, provider credentials, or delivery integrations. |
| projects.get_widget_setup | Get the canonical install-once Project widget snippet and public setup guidance. Install it once across the product; active Studies are selected by status and Visibility, and each selected Study controls its Invitation. |
| projects.verify_widget_installation | Check a public HTTPS page for the canonical UserTold loader and this Project public key, then inspect CSP and Permissions-Policy for scripts, connections, microphone, and screen capture. The bounded remote check does not execute the host app, grant browser permissions, or replace a human browser smoke test. |
| studies.create | Create a draft UserTold Study with a complete StudyScriptV2 flow and optional canonical Invitation, Visibility, and customer origins. A direct-link Invitation provisions a revocable shareable campaign URL; retrieve it with studies.get. Use projects.get_widget_setup for the sole install-once Project snippet. |
| studies.get | Get one Study's bounded interview script, goals, canonical Invitation, Visibility, customer origins, and shareable direct-link campaign URL. Private campaign claims, participant identity, and eligibility answers are never returned. Oversized scripts are returned as null with scriptOmitted=true and remain available in the dashboard or CLI. |
| studies.list | List bounded Study summaries for one Project, newest first. Filter by lifecycle status and use the returned studyRef with studies.get or studies.update; full scripts and placement rules stay in studies.get. |
| studies.update | Update a Study returned by studies.list or studies.get, including its canonical Invitation, Visibility, and customer origins. Provide at least one mutable field. Set invitation to null for the built-in Invitation or allowedOrigins to [] to stop publishing its direct-link campaign URL. Set status to active to start new interview collection, paused to disable it temporarily, or closed to stop new interviews for the current collection cycle without interrupting an interview already in progress. A paused or closed Study can later return to active. Examples: use status="active" to begin collection or status="paused" for a temporary stop. The install-once Project widget selects active Studies through Visibility and Invitation, so no per-Study snippet or separate launch/stop call is needed; projects.get_widget_setup remains the sole snippet source. |
| studies.validate_script | Validate a bounded StudyScriptV2 and summarize its segments, goals, and modes. Use before studies.create or studies.update when drafting or revising an interview flow. |
| work.create_from_evidence | Create one source-linked UserTold Work item in backlog from selected Evidence and calculate its priority. Use after reviewing related Evidence that should become a single actionable problem; project-aware review is still required before delivery handoff. |
| work.get_evidence | Get a bounded, review-safe package of Evidence currently linked to one Work item, including source interview references, seek timestamps, related Work, recurrence candidates, and a decision summary that preserves resolved-history counts. Use before updating Work, designing follow-up research, writing verification criteria, or pushing to delivery. |
| work.list | List bounded UserTold Work summaries with evidence and interview counts. Use when choosing Work to review, update, inspect for evidence, or push to a delivery provider. Closed Work is hidden by default; enriched=true adds Evidence types and study references. |
| work.push | Create a GitHub or Linear issue from ready UserTold Work, sending the Work summary plus quoted Evidence and captured context to the explicitly selected provider. Use only after project-aware verification; this mutates an external system and does not determine verification itself. |
| work.update | Update one UserTold Work item after reviewing its Evidence. Provide at least one of status, title, description, or effort_estimate. This changes only UserTold data; use work.push separately for GitHub or Linear. Examples: set medium effort with effort_estimate="m"; mark delivery-ready Work with status="ready". |