Model Context Protocol

Use User Evaluation from inside any AI client.

Plug your UE workspace into Claude Desktop, Claude.ai, Cursor, ChatGPT, or Claude Code. Search transcripts, pull quotes, capture insights without leaving the chat.

paste into Claude Desktop configjson
{
  "mcpServers": {
    "userevaluation": {
      "type": "http",
      "url": "https://api.userevaluation.com/mcp"
    }
  }
}

Why MCP

Four things you get out of the box.

One URL, OAuth flow, done

Paste the connector URL into your AI client. The app's existing UE login confirms it's you. No API-key juggling, no env vars.

Scoped tokens you can revoke

Each connection gets its own scoped access token (1 hour) and refresh token (30 days). Revoke any of them from Settings.

Search transcripts from inside chat

search_files runs Meilisearch across every interview, audio file, doc, and PDF in your workspace. Cited results with timecodes.

Drop a transcript into the conversation

Resources expose every file as ue://file/{id}/transcript. Paperclip-attach a single transcript or let the model fetch what it needs.

Connect any MCP-aware client

Hosted by default. Local stdio if you need it.

Hosted means paste a URL, finish OAuth in your browser, done. Local npx works too when your IT policy blocks custom OAuth connectors.

Claude Desktop / claude.ai / Cursor / ChatGPTjson
{
  "mcpServers": {
    "userevaluation": {
      "type": "http",
      "url": "https://api.userevaluation.com/mcp"
    }
  }
}
Claude Code (CLI)bash
claude mcp add-json userevaluation '{
  "type": "http",
  "url": "https://api.userevaluation.com/mcp"
}'
Local stdio (npx, env-var auth)json
{
  "mcpServers": {
    "userevaluation": {
      "command": "npx",
      "args": ["-y", "@userevaluation/mcp"],
      "env": { "UE_API_KEY": "ue_live_..." }
    }
  }
}

16 tools. 3 prompts.
3 resource templates.

The model picks tools by intent. You don’t call them by name; you describe the work. Slash-prompts skip straight to common workflows.

/ue:summarize-studySummarize a study's findings with citations
/ue:thematic-analysisGroup findings into 3 to 7 themes with quotes
/ue:participant-quotesPull verbatim quotes about a given theme
meIdentify the authenticated researcher
list_projectsPage through projects in the workspace
get_projectFetch one project by id
list_project_filesList files (videos / audio / PDFs / docs)
list_project_testsList engage tests inside a project
list_project_tagsList tags defined on a project
list_project_cardsList insight cards
list_project_reportsList AI-generated reports
get_fileFetch file metadata + signed URL
get_transcriptFetch transcript with speaker + timecodes
search_filesSearch transcripts (Meilisearch-backed)
create_cardCreate an insight card
transcribe_fileQueue a transcription job
create_reportQueue an AI report job
list_engage_testsList engage tests across the workspace
get_usageStats: calls, errors, recent paths

OAuth 2.1 with PKCE. Scoped. Revocable.

Connecting goes through the standard OAuth flow; you approve in your browser, the AI client never sees your credentials. Each access token expires in 1 hour and rotates via a refresh token. Revoke any client from Settings → MCP at any time.

RFC 7591 Dynamic Client Registration
RFC 9728 Protected Resource Metadata
RFC 8414 Authorization Server Metadata
PKCE S256, no client secrets
Granular scopes per tool
Per-token rate and tool-call caps

What it actually feels like.

You
What’s the most-cited friction in my onboarding study? Pull the strongest quote.
Claude (using UE)
I’ll search your onboarding study and read the relevant transcripts.
→ list_projects (limit=10)
→ search_files (project_id=…, query="onboarding")
→ get_transcript (file_id=65f8…)
Step 2 (account verification) is the dominant pain. Four of six participants got stuck there. Strongest quote:
“I literally don’t know what they want me to put in this field. Is it the company email? The personal one?”
file 65f8… at 2:14

Connect once.
Use it from every chat.

Paste the URL, finish OAuth, start asking. The quickstart takes about two minutes.