Back to Browse

Mcp MCP Server

Developer ToolsLow Risk10.0MCP RegistryLocalRemote
Free

Server data from the Official MCP Registry

Ask fifty verified real people a five-second question and get the split back.

About

Ask fifty verified real people a five-second question and get the split back.

Remote endpoints: streamable-http: https://mcp.50heads.com/mcp

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (2 strong, 1 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.

Endpoint verified · Requires authentication · 2 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

file_system

Check that this permission is expected for this type of plugin.

env_vars

Check that this permission is expected for this type of plugin.

Shell Command Execution

Runs commands on your machine. Be cautious — only use if you trust this plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

What You'll Need

Set these up before or after installing:

A 50heads API key (fh_live_…) from the dashboard. Or run `npx @50heads/mcp login` once instead.Required

Environment variable: FIFTYHEADS_API_KEY

How to Install & Connect

Available as Local & Remote

This plugin can run on your machine or connect to a hosted endpoint. during install.

Documentation

View on GitHub

From the project's GitHub README.

50heads MCP

Ask fifty verified real people a five-second question from Claude, ChatGPT, Cursor or your own agent, and get the split back. 50 answers at Tier 1: about 10 minutes and 1000 credits, priced in your account's currency.

There are two ways in, with the same tools:

  • Hosted (recommended): https://mcp.50heads.com/mcp. Streamable HTTP, sign in with OAuth in the browser. Nothing to install.
  • Local: npx -y @50heads/mcp, a stdio server for hosts that launch a command. Needs Node 20 or later and an API key (or a one-time login).

Install

Pick your host below. The hosted server needs nothing installed: add the URL and sign in with OAuth in the browser, which also sets the connection's daily spend cap. The local server (npx -y @50heads/mcp) needs Node 20 or later and an API key.

Make an API key, if you need one, on the Developers page of the dashboard: https://50heads.com/app/developers. Keys start fh_live_ and are shown once. Or run npx -y @50heads/mcp login once and leave the key out.

npx -y @50heads/mcp config [host] prints any of these. The same instructions are on https://50heads.com/en-us/docs/mcp.

Claude (claude.ai and Claude Desktop)

Hosted, sign in with OAuth. Settings, Connectors, Add custom connector. Paste the URL and sign in when asked. On Team and Enterprise plans an owner adds it for the organisation first.

https://mcp.50heads.com/mcp

Or with an API key, in claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude).

{
  "mcpServers": {
    "50heads": {
      "command": "npx",
      "args": [
        "-y",
        "@50heads/mcp"
      ],
      "env": {
        "FIFTYHEADS_API_KEY": "fh_live_…"
      }
    }
  }
}

Claude Code

Hosted, sign in with OAuth. Run in a terminal, then /mcp in Claude Code to sign in.

claude mcp add --transport http 50heads https://mcp.50heads.com/mcp

Or with an API key (CI and scripts):

claude mcp add --transport http 50heads https://mcp.50heads.com/mcp --header "Authorization: Bearer fh_live_…"

Cursor

Hosted, sign in with OAuth. ~/.cursor/mcp.json (or .cursor/mcp.json in a project). Cursor opens the sign-in page.

{
  "mcpServers": {
    "50heads": {
      "url": "https://mcp.50heads.com/mcp"
    }
  }
}

Or with an API key:

{
  "mcpServers": {
    "50heads": {
      "url": "https://mcp.50heads.com/mcp",
      "headers": {
        "Authorization": "Bearer fh_live_…"
      }
    }
  }
}

ChatGPT

Hosted, sign in with OAuth. Settings, Apps and Connectors, Advanced settings, turn on Developer mode, then Create. Paste the URL and choose OAuth. On Business and Enterprise plans an admin turns on Developer mode first.

https://mcp.50heads.com/mcp

VS Code

Hosted, sign in with OAuth. .vscode/mcp.json in the workspace, or MCP: Add Server from the command palette.

{
  "servers": {
    "50heads": {
      "type": "http",
      "url": "https://mcp.50heads.com/mcp"
    }
  }
}

Or from a terminal:

code --add-mcp '{"name":"50heads","type":"http","url":"https://mcp.50heads.com/mcp"}'

Windsurf

Local, with an API key. ~/.codeium/windsurf/mcp_config.json, or Windsurf Settings, Cascade, MCP servers, View raw config.

{
  "mcpServers": {
    "50heads": {
      "command": "npx",
      "args": [
        "-y",
        "@50heads/mcp"
      ],
      "env": {
        "FIFTYHEADS_API_KEY": "fh_live_…"
      }
    }
  }
}

Or the hosted server with an API key:

{
  "mcpServers": {
    "50heads": {
      "serverUrl": "https://mcp.50heads.com/mcp",
      "headers": {
        "Authorization": "Bearer fh_live_…"
      }
    }
  }
}

Any other host

Local, with an API key. Hosts that launch a local command. Needs Node 20 or later and an API key from the dashboard.

FIFTYHEADS_API_KEY=fh_live_… npx -y @50heads/mcp

Hosts that speak Streamable HTTP: https://mcp.50heads.com/mcp with the header "Authorization: Bearer fh_live_…", or OAuth.

{
  "mcpServers": {
    "50heads": {
      "url": "https://mcp.50heads.com/mcp",
      "headers": {
        "Authorization": "Bearer fh_live_…"
      }
    }
  }
}

Check it works

Ask your host to "use 50heads to estimate asking fifty people which of two names they prefer". estimate is free and never spends credits. In Claude Code, /mcp lists the server and its tools; elsewhere, look for 50heads in the host's tools or connectors list.

Signing in on the command line

npx -y @50heads/mcp login     # opens the browser; the token goes in your keychain
npx -y @50heads/mcp status
npx -y @50heads/mcp logout

login uses the OAuth device flow against https://auth.50heads.com. Tokens are kept in the macOS Keychain or the Secret Service on Linux, else in ~/.config/50heads/credentials.json (mode 600). An API key in FIFTYHEADS_API_KEY wins when both are present.

--proxy forwards stdio to the hosted server instead of running the tools locally.

VariableMeaning
FIFTYHEADS_API_KEYAPI key for CI and scripts
FIFTYHEADS_API_URLAPI base, default https://api.50heads.com
FIFTYHEADS_MCP_URLHosted endpoint for --proxy
FIFTYHEADS_AUTH_URLSign-in server for login
FIFTYHEADS_CREDENTIALS_STORE=fileKeep the sign-in in a file, not the keychain
FIFTYHEADS_DEBUG=1Log each call to stderr (never question text)

Tools

ToolScopeDoes
estimatequestions:writePrice, time and fixes for a question. Never spends. Call it first.
askquestions:writeAsks. Needs a fresh UUID as idempotency_key. Returns a task (or a question_id on older hosts).
get_resultsquestions:readResults so far, without waiting.
wait_for_resultsquestions:readOlder hosts only: waits up to 600 s on the server.
list_questionsquestions:readYour recent questions. Check before asking again.
cancelquestions:writeStops a question and refunds unanswered heads.
templatesnoneFixed-price templates. Works without signing in.
balanceaccount:readCredits, reserved credits and what is left under the connection's daily cap.
upload_imagequestions:writePuts an image into 50heads from base64 or an https link; returns an image_url for a question.
get_answersquestions:readIndividual answers a page at a time, filtered by option, tier, country, age band or keyword.
add_headsquestions:writeMore heads on the same question, merged into the same result. Needs an idempotency_key.
flag_answerquestions:writeReports one answer by its attestation_ref for review; upheld flags are refunded.
exportquestions:readThe results as a file: CSV, a one-page PDF report, or a PNG chart (square, wide or story).
build_ask_linknoneA portal link with the question filled in, for a person to check and ask. Spends nothing.
list_audiencesnoneInterest audiences you can ask instead of targeting, with prices by grade.
list_targetingnoneCountries, languages, pool bands and the tags you can target.
search_helpnoneSearches the help centre and returns articles with links.
send_feedbacknoneSends feedback or a problem to support as a ticket (signed out: add email).

Every connection has a daily spend cap (default 5,000 credits). Asking past it returns spend_cap_exceeded with what is left and when it resets.

Errors are JSON-RPC errors with error.data.code (validation, not_found, insufficient_credits, spend_cap_exceeded, idempotency_conflict, content_refused, rate_limited, unavailable) and a retryable hint.

Resources: 50heads://guide (the skill), 50heads://templates, 50heads://question-types, 50heads://pricing, 50heads://countries, 50heads://results/{question_id}. Prompts: ask_the_heads, read_results. Hosts that show MCP Apps get the estimate and the results as cards.

The Agent Skill

The package ships the 50heads Agent Skill in skills/50heads (@50heads/mcp/skills/50heads/SKILL.md): when to ask, the eight rules for a good question, how to read results, and references for question types and pricing. Copy the folder into your host's skills directory, or let a host that speaks the com.50heads/skills extension fetch it from the server.

As a library

import { serveStdio } from "@modelcontextprotocol/server/stdio";
import { serverFactory } from "@50heads/mcp";

serveStdio(serverFactory({ apiKey: process.env.FIFTYHEADS_API_KEY }));

serveStdioServer(options) runs the whole stdio server, tasks included. configSnippets() returns the install snippets above.

Versions

Releases use calendar versions, YYYY.MDD.N: 2026.924.1 is the first release on 24 September 2026, and a second that day is 2026.924.2. The npm package, the hosted server (serverInfo.version), the registry manifest, --version and the Agent Skill all carry the same number. See CHANGELOG.md.

server.json is ready for the official MCP Registry as com.50heads/mcp. The registry has no listing yet (a search returns no servers). Publishing it needs MCP_REGISTRY_ED25519_KEY on the release workflow. See docs/publishing.md. The npm package itself is published.

Development

This package lives in the 50heads monorepo. The hosted server (apps/mcp) and the stdio server share one module, src/server.ts, so they cannot drift.

pnpm --filter @50heads/mcp generate   # skill module, skill references, server.json, README install section
pnpm --filter @50heads/mcp test
pnpm --filter @50heads/mcp build      # dist/cli.js, dist/index.js, types, skills/ and skills/50heads.zip

Releasing (npm with provenance from the public mirror, the MCP Registry and a GitHub Release) is described in docs/publishing.md.

MIT licence.

Reviews

No reviews yet

Be the first to review this server!