
Usercall
co.usercall由 usercall.co 发布官方发布者v0.4.0更新于 Oct 27, 2026
Give your AI agents the ability to ask real users why.
概览
Usercall 让助手针对真实用户创建 AI 主持的语音或文字访谈研究,并返回主题、洞察与逐字引述。
- 可以做什么
- 创建、更新和删除访谈研究,包括访谈提纲问题、语言、语音模式以及展示给参与者的图片或 Figma 原型
- 查看研究进度,并以主题、洞察、风险和引述的形式读取结果,可选择附带逐字稿
- 用模拟人设试跑访谈提纲,并在真实用户看到之前获得带修改建议的审阅
- 列出研究,并查看产品事件、事件字段结构以及支持哪些触发条件
- 创建、列出、更新和删除处于暂停状态的研究触发器,在产品事件后邀请匹配用户,支持页内拦截或 webhook 投递
- 适用场景
- 适合希望了解真实用户为何流失、为何在引导流程中放弃或为何操作失败的助手,而不是依赖合成反馈。也适合想让智能体根据分析结果准备产品内研究触发器、再由人工批准的团队。
- 运行要求
- 可使用带 OAuth 登录的远程托管端点,或在本地以 stdio 运行 npm 包,需要 Node.js 18+ 以及来自 Usercall 开发者设置的 USERCALL_API_KEY。可选的 USERCALL_BASE_URL 用于覆盖 Agent API 基础地址。需要拥有额度的 Usercall 账户;研究会消耗额度,HTTP 402 响应会返回结账链接。
安装
在 SourceWeft 中
- 打开 控制台中的 Usercall,将其添加到工作区。
- 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
交给智能体安装
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/co.usercall%2Fmcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。
{
"mcpServers": {
"usercall": {
"type": "http",
"url": "https://mcp.usercall.co/"
}
}
}README
Usercall MCP - AI agents that run real user interviews
AI can build products. But it still doesn't talk to users.
Give your AI agents the ability to ask real users why.
Usercall MCP runs AI-moderated voice or text interviews with real users. Use it to learn why users churn, where onboarding drops off, or why an action failed, and get themes, insights, and verbatim quotes.
Why this exists
AI agents can now build and ship products extremely quickly.
But most agents still rely on synthetic feedback or assumptions about users.
Usercall MCP lets agents gather real qualitative feedback directly from users.
Choose a connection
Recommended: hosted MCP (Claude, ChatGPT, Cursor, Grok Bot)
Add https://mcp.usercall.co as a remote MCP connector / custom connector.
- OAuth sign-in (no API key, no
npx) - Same tools as this package (studies + Research Triggers)
- Docs: app.usercall.co/docs/mcp
- Cursor Directory / Grok Bot: this repo ships
.mcp.jsonso cursor.directory can install the hosted connector. Grok Bot cannot run the localnpxpackage.
ChatGPT plugin package
Root plugin.json, mcp.json, and skills/ are the ChatGPT submission package (version in plugin.json, not package.json). Validate it and write the ZIP with:
The ZIP is dist/usercall-chatgpt-plugin-<version>.zip. Do not upload it unless someone asks to submit.
Install in Cursor
Community. Already listed at cursor.directory/plugins/usercall.
Official Marketplace. Once the listing is live, install from the Cursor Marketplace. Submit the repo at cursor.com/marketplace/publish.
Manual. Add the hosted MCP. OAuth sign-in, no API key.
This package: local / API-key / machine-to-machine
Use @usercall/mcp over stdio when you want a Bearer API key (scripts, local clients, M2M).
- Sign in at app.usercall.co → Home → Developer → Create API key
- Run
npx -y @usercall/mcpwithUSERCALL_API_KEY
Example workflow
The returned interview_link is an https://app.usercall.co/interview/ URL. Share it with participants through email, Slack, Discord, or in-product prompts.
Example result:
How it works
AI Agent
↓
Usercall MCP (hosted OAuth or this stdio package)
↓
Usercall Agent API
↓
Real user interviews
↓
Themes and verbatim quotes returned to the agent
With Research Triggers, the agent can also target users in your product:
Analytics MCP (PostHog, Mixpanel, …) finds a behavior
↓
Usercall MCP creates a study and a paused Research Trigger
↓
You activate it in Usercall
↓
The Usercall SDK invites matching users to an interview right after the behavior
Research Triggers
Analytics tells an agent what users do. Research Triggers let it ask them why.
- The Usercall SDK has to be installed. If
list_trigger_eventsreturns nothing, callget_trigger_sdk_setup(with your analytics provider and event names) to get the snippet. Coding agents can install it for you. - Only events Usercall has actually received can be used. Filters are exact matches on event properties or user traits.
get_trigger_event_schemashows which field is which. - Unsupported conditions are rejected, not silently dropped. These include event counts, sequences, absence ("did not do X"), time windows, and not-equals.
get_trigger_capabilitiesreturns the full list.
Local install (API key)
1. Get an API key
Sign in at app.usercall.co → Home → Developer → Create API key
2. Add to your MCP client
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
Cursor (.cursor/mcp.json):
For Claude, ChatGPT, or Cursor remote connectors, prefer https://mcp.usercall.co instead of this JSON config.
Restart your MCP client.
3. Ask your agent
The agent will:
- create a study
- return an interview link
- collect responses
- return the summary (themes, insights, and risks)
Structured tool example
Equivalent create_study tool call:
Tools
create_study
Create an AI-moderated interview study to learn why users churn, drop off in onboarding, fail an action, or where a product assumption is wrong. Returns HTTP 201 with study_id and interview_link for a voice, text, or voice-and-text interview. interview_link is an https://app.usercall.co/interview/ URL. key_research_goal is required and cannot be changed later. business_context is optional. Defaults: target_interviews 1, duration_minutes 12, interview_mode voice. One active agent study per account. Does not run the interview or invite a participant. HTTP 402 includes checkout_url.
One locale turns the language picker off; two or more turn it on. Research goal cannot be changed after create.
study_media (optional). Visual stimulus shown during all interview questions:
image: Direct image URL (.png,.jpg,.gif,.webp)prototype: Figma prototype URL (converted to interactive embed)- Media is only visible to web participants; phone callers won't see it
update_study
Update an interview study: slots, guide questions, intro, languages, voice, or an image or Figma prototype shown to participants. Returns the updated study. key_research_goal cannot be changed. is_link_disabled true stops new interviews and keeps recordings. One locale hides the language picker; two or more show it. Query parameters on interview_link are ignored until enable_link_context is true. study_media null clears media. API errors include http_status. Does not dry-run the guide or invite a participant.
Pass study_media: null to clear media. The study_media object follows the same schema as in create_study.
get_study_status
Check whether interviews about churn, onboarding, or a failed action have started. Returns completed_interviews, target_interviews, interview_link, and next_step. interview_link is an https://app.usercall.co/interview/ URL. Zero interviews is status: "not_started". running means an interview is underway. running and analyzing include no findings, themes, or quotes. next_step is update_study while a ready review still has unapplied edits. After the guide matches those edits, or when there are no edits, share is correct if a terminal simulation or review exists and completed interviews are still 0. Does not change the study.
Status values: not_started · running · analyzing · complete
get_study_results
Get interview findings after real users have talked: themes, insights, risks, and verbatim quotes. format omitted or summary returns themes, insights, and risks. format=full also returns transcripts. Empty themes mean analysis is not ready. Does not create interviews or edit the guide.
Summary/full responses include study progress fields and analysis output.
simulate_interview
Dry-run an interview guide before a real participant joins, including a question about churn, onboarding, or a failed action. Omit simulation_id to start; returns immediately with status: "running" and a simulation_id. Pass simulation_id to read that run. Omit persona and the server writes one from the research question, including that the person did not do the thing the study is about. A sent persona is used as-is: name is 1–80 characters and prompt is 1–4000. Result status is pass, fail, or error. A finished transcript is [{ "role": "agent" | "user", "content": "..." }]. Do not expect call_id, timezone, or timestamps. Max 5 simulations per account per UTC day. HTTP 429 means the daily cap is reached. A dry-run does not change completed_interviews and does not invite a participant.
Omit simulation_id to POST /api/v1/agent/studies/{studyId}/simulations. Pass simulation_id to GET that simulation. The tool does not poll. Omit persona on start and the server writes one. A sent persona is forwarded unchanged.
review_study
Review an interview guide before real users see the questions, including a question about churn, onboarding, or a failed action. The body keeps findings and adds suggested_edits. suggested_edits is an update_study body, or null when there is nothing to change. Send suggested_edits to update_study as-is. Nothing is applied for you. Costs 1 credit. Request is study_id only; call_ids are not accepted. Works when the in-app review control is hidden. HTTP 402 includes checkout_url. Reads the guide only: no transcripts.
Sends study_id only. It does not send call_ids. A non-null suggested_edits value is the update_study body, unchanged.
delete_study
Permanently delete an interview study, its recordings, and unused reserved credits. Cannot be undone. Does not delete in-product research triggers.
Research Trigger tools
create_research_trigger
For page-visit triggers, use source: "page_visit" and event_name: "$pageview", with url and optionally dwell_seconds.
Delivery.
intercept(default) shows the Usercall widget in your product, and the user takes a voice or text interview in the page. The modes come from the study;list_studiesreturns each study'sinterview_mode.webhookPOSTs each matched user towebhook_url, with their user ID, email if known, traits, event properties and a personal interview link. Ifwebhook_secretis set, requests carry anx-usercall-signatureHMAC header.- Only public
httpsURLs are accepted, and the activation page shows the destination before a person activates the trigger.
Safety
- Agents cannot activate triggers. Triggers are always created paused. Calling
update_research_triggerwithstatus: "active"returns HTTP 409 and theactivation_url. A person has to open that link, review who will be invited, what they will see and the credit cost, and click Activate. - Changes to an active trigger need re-approval. Changing an active trigger's configuration pauses it again.
- Secret keys are never returned. The ingestion secret key never comes back from any tool.
Example workflow
With visual stimulus
For Figma prototypes, use type: "prototype" with a Figma proto URL.
Requirements
- Node.js 18+
- A valid Usercall API key (local / API-key path only)
Self-hosting / development
Tests and smoke tests:
Official MCP Registry
Usercall is listed on the Official MCP Registry as co.usercall/mcp.
Troubleshooting
Remote Claude / ChatGPT / Cursor connectors should use https://mcp.usercall.co (OAuth). This package is the API-key stdio path.
License
MIT
来源:README.md,提交 1c6915e
工具
0版本历史
1- v0.4.0最新Oct 1, 2026
评分
已满足适用检查项的 85%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通必需25 分
- 已声明认证方式必需10 分
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分