MCP setup: JuryTap from Claude Code

JuryTap hosts an MCP server at https://app.jurytap.com/mcp (Streamable HTTP). It exposes seven hand-designed tools over the same org-scoped API keys as the REST API, so Claude Code can set up, watch, and read out a focus group in plain English. Tool reference and the underlying REST contract: docs/API.md. Local dev serves the same endpoint at http://localhost:3000/mcp with jt_dev_ keys.

1. Mint a key (admin, once per integration)

Host console > Settings > API keys (/host/settings/api-keys). Name the key for the machine or person using it. The full key is shown once; only its hash is stored. Pick the narrowest scopes for the job:

Job Scopes
Set up sessions and read reports (recommended default) cases:read cases:write sessions:read sessions:write responses:read reports:read observations:write
Watch a live room only sessions:read responses:read
Also let the agent push and close sets add sessions:control (still gated by the session's agent control switch)
Also hand out juror links add participants:links

Do not paste a key into a chat, a commit, or a shared document. Revoke from the same page if one leaks.

2. Register the server in Claude Code

claude mcp add --transport http jurytap https://app.jurytap.com/mcp \
  --header "Authorization: Bearer jt_live_..."

Then start a new Claude Code session and confirm:

claude mcp list

jurytap should show as connected. A 401 means the key is wrong or revoked; a 403 on a tool call means the key lacks that tool's scope.

claude.ai custom connectors need OAuth sign-in, which is not available yet; use Claude Code for now.

3. Set up a session

Ask for it in one message. setup_session creates the case (or attaches to an existing case_id), the session, up to 100 jurors, and the question sets in a single call. Everything lands as draft; nothing reaches a juror until a set is pushed.

Set up a JuryTap session for a new case "Garza v. Metro Transit", titled "Panel A, Sept 24", jurors Ana, Ben, Cara, Dev, Eli. Set 1 "After plaintiff opening": likert 7 "How believable was the plaintiff?", free text "What stuck with you?". Set 2 "Damages": numeric in dollars, 0 to 5,000,000, "What would you award?"

Question kinds: single_choice and multi_choice (options), likert (scale 5 or 7), numeric (unit, min, max), free_text.

Then open the session in the control room, check the sets and their order (prompts cannot be edited after a push), and copy the juror links from there. Pushing stays with the host.

4. During and after the session

Every call a key makes is in the audit log (audit:read), attributed to the key's name.

Removing

claude mcp remove jurytap

and revoke the key in the console.