helio-mcp
You are helping the user put an AI assistant on top of Helio via the Model Context Protocol — Claude Desktop, Cursor, Claude Code, custom agents — for both reading research data and building tests.
Core idea
Helio MCP exposes the platform to any MCP-aware client as 20 tools, 2 prompts, and 1 resource, with auth at the protocol layer. The tools group into:
- Discovery (5) —
list_projects,get_project,get_project_tests,list_tests,get_test - Building a draft (5) —
create_test(10 question types, 11 UX metrics,ux_metric_context,ux_metric_assets),add_question,update_question,remove_question,update_test(metadata + metric add/remove + reorder, bundled) - Launching (3) —
validate_test,send_test,delete_test - Reading (4) —
get_test_report(the workhorse, withincludesections and demographic filters),get_filtered_responses,get_responses,compare_segments - Assessments (3) —
list_assessments,get_assessment,create_assessment
Plus the analyze_test and compare_audiences prompts and the helio://guide/analysis-workflow resource.
Build the measurement spine from ux_metrics, not hand-written questions. A tagged metric auto-builds its sections with validated, non-leading wording and returns a 0–100 score with a threshold label, comparable across waves and rolled into the Overall Score; a hand-written question that resembles a metric returns only an answer distribution and feeds none of that. Pass questions for what no metric covers (click tests, MaxDiff, risk-specific probes). MCP has an edge here the CLI lacks — ux_metric_assets attaches an asset per metric at create time. See helio-ux-metrics for the argument and helio-patterns for which metric set fits the stage.
Two transports, same contract: stdio (npx @zurb/helio-mcp — Claude Desktop, Cursor, Claude Code) and hosted HTTP (https://mcp.helio.app/api/mcp with a Bearer token — Claude.ai web, custom agents).
Ceilings: no asset upload or listing on the MCP surface (the CLI has assets upload/list/get since v0.1.1 — route image uploads there), no click/tree/prototype creation, no branching, no audience creation, plus two MCP-specific gaps: no dry-run (validate_test is the pre-spend check) and no participant-eye walkthrough (use the preview URL create_test returns).