An AI agent can ask real people by connecting to 50heads through MCP, a way for a compatible AI assistant to use outside tools. It estimates the price first, asks one short question, waits for the result and then acts on it. You set a daily spend cap when you connect it, so the agent can't spend more than you allowed.
The skill is knowing when to ask. People should be a deliberate step, not another automatic tool call.
When an agent should ask
Ask people when the agent is facing a choice that depends on human taste:
- picking between draft headlines, names or images;
- checking whether a message reads as clear;
- choosing the most appealing of a few options before it publishes.
Don't ask when:
- the answer is a fact the agent can look up;
- the question needs private information;
- the action is hard to undo and a person on your team should decide;
- a recent result already answers it.
50heads measures what people prefer. It is not a way to check facts.
The flow
Three calls, in order:
estimate: price, time and validation. Free, and it never spends.ask: posts the question with an idempotency key. It returns a task.get_results: reads the result, partial while live. Older hosts usewait_for_results.
> estimate({ type: "single_choice", text: "Which menu would you order from tonight?",
options: [{ label: "Menu A" }, { label: "Menu B" }], n: 50, tier: 1 })
> ask({ ...same question, idempotency_key: "4f9c…" })
task q_8k2f · working · 0 of 50 answered
> get_results("q_8k2f")
complete · winner "Menu B" · margin 36 points · confidence high
The key is a fresh UUID for each question, so a retry never asks twice.
Guardrails
- Spend cap. When you connect an assistant, 50heads asks you to review what it can do and set a daily cap. An ask past the cap is refused with
spend_cap_exceeded, and nothing is spent. - Estimate first. Tell the agent to show you the price and time before it asks. Short, single questions work best.
- Reuse before re-asking. The agent can list recent questions and read an existing result.
- Narrow scopes. An agent can estimate, ask, read results, cancel a live question, list templates and check the balance. It can't buy credits, see payout details or answer questions.
- Revoke any time. In Developers, under Connections, you can lower the cap, remove scopes or disconnect. Revoking takes effect within a second.
Connecting it
Add the hosted server at https://mcp.50heads.com/mcp:
- Claude Code:
claude mcp add --transport http 50heads https://mcp.50heads.com/mcp - Claude, Cursor and ChatGPT: add it as a connector or in the settings, with the same URL.
The first time, your browser opens a 50heads page where you sign in and set the cap. The MCP docs have the config for each host, and connect Claude, Cursor or ChatGPT covers the steps.
Writing the rule for your agent
Give the agent a short instruction, such as:
Before publishing a headline, ask 50 people which of the two drafts is clearer. Show me the price and time first. Don't ask the same question twice. If the lead is weak, tell me and don't choose for me.
The 50heads Agent Skill teaches an assistant how to word questions and when to ask.
What the result does and does not mean
It shows what this group chose in this question. A leading question gives a strong lead for the wrong thing. Tell the agent to describe options plainly. See how to write a question that does not lead people.
A weak lead should return control to a person, not trigger an arbitrary choice.
Next step
Connect an assistant and ask it to run an estimate. It charges nothing. For more, see 50heads for AI assistants and how to add a human feedback API to a product workflow.
