MCP server
UserSound exposes a Model Context Protocol server so AI assistants like Claude and ChatGPT can work with your survey data directly: list surveys, read transcripts, search responses across surveys, and generate sentiment reports. Everything is scoped to your organisation and authorised with OAuth 2.1 — the assistant only sees what your account can see.
Connect a client
The server speaks MCP's streamable HTTP transport at:
https://usersound.com/mcp
Point any MCP client at that URL. Clients that support OAuth discovery and Dynamic Client Registration (Claude, ChatGPT, MCP Inspector, and most others) register themselves automatically and open a browser window for you to sign in and approve access — no manual API keys.
Example client configuration
{
"mcpServers": {
"usersound": {
"type": "http",
"url": "https://usersound.com/mcp"
}
}
}
Authorization & scopes
The MCP server is an OAuth 2.1 resource server. Clients authorise with an
authorization-code + PKCE flow against UserSound's own authorization server
(discovered via /.well-known/oauth-protected-resource/mcp), and
can register themselves at /o/register/ (RFC 7591). Tokens are
granted the scopes you approve on the consent screen:
| Scope | Grants |
|---|---|
interviews:read |
All read tools: surveys, responses, transcripts, search, reports, members. |
interviews:write |
create_report — start generating a sentiment report. |
billing:read |
get_billing_status — your organisation's subscription status. |
Tools
| Tool | What it does |
|---|---|
list_surveys | List your surveys with response counts; filter by status, name or creator. |
get_survey | One survey's settings and metadata. |
get_survey_setup | The interview template and its questions (contributor roles only). |
list_responses | One survey's responses with filters plus lifecycle and quality aggregates. |
get_response_transcript | The full conversation transcript, summary and sentiment for one response. |
search_responses | Search responses across all your surveys by name, sentiment, status or date. |
get_dashboard_summary | Organisation-wide response status counts and the latest response. |
list_reports / get_report | Sentiment reports for a survey; get_report is also the poll tool. |
create_report | Start a sentiment report from a natural-language query or hard filters. |
get_billing_status | Your organisation's subscription snapshot. |
list_organisation_members | Active and archived members, plus pending invites. |
Reports generate asynchronously: create_report returns a pending
report id immediately; the assistant polls get_report until the
status is complete (or failed) and then reads the
report markdown and sentiment aggregates.
Try asking
Once connected, ask your assistant things like:
What did people with negative sentiment say in the last 30 days?
Which of my surveys got the most completed responses this month?
Create a sentiment report for my most recent survey and summarise the findings
Access control
- Every tool call runs as the user who authorised the client: organisation members see their organisation's surveys, and role permissions (viewer, member, admin, owner) apply exactly as in the dashboard.
- Tokens expire and can be revoked at any time from your account's authorised-applications page.
- An assistant can never widen access: cross-organisation ids simply return
not_found.