Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

50heads

by 50headsversion 2026.1013.2i★ –iComputer or cloud
Registry namecom.50heads/mcp

Install

Overview

Description from the maker (original English)

Ask fifty verified people a five-second question and see what they think.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Computer or cloud
  • Transport: stdio, Streamable HTTP
  • Category: Other
  • You need to fill in: FIFTYHEADS_API_KEY, Authorization

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • You fill in yourself: FIFTYHEADS_API_KEY, Authorization

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Or run it on your computer

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

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

Run this in your terminal

claude mcp add --transport http 50heads https://mcp.50heads.com/mcp --header 'Authorization: your-value'

Or run it on your computer

claude mcp add 50heads --env FIFTYHEADS_API_KEY=your-value -- npx -y @50heads/mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "50heads": {
      "url": "https://mcp.50heads.com/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

Or run it on your computer

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

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

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "50heads": {
      "type": "http",
      "url": "https://mcp.50heads.com/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

Or run it on your computer

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "50heads": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@50heads/mcp"
      ],
      "env": {
        "FIFTYHEADS_API_KEY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • FIFTYHEADS_API_KEY secret env
    A 50heads API key (fh_live_…) from the dashboard. Or run `npx @50heads/mcp login` once instead.
  • Authorization secret HTTP header
    Optional: Bearer fh_live_… for an API key. Without it the host signs in with OAuth.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

We have not read this server’s tool list yet; we check endpoints in rotation.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain 50heads.com (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • … Not checked yet

    Endpoint responds

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    Sign-in with OAuth

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Otheri

  • More stars than 0% of the other 32688 servers in this category
  • Published to the registry more recently than 61% of the other 32688 servers in this category
  • Basic checks equal to or better than 100% of the other 32688 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is 50heads safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: FIFTYHEADS_API_KEY, Authorization

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed –, and the latest version (2026.1013.2) reached the registry 25 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, 御府和田玉 在售作品查询

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated 2 days ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

50heads MCP

Ask fifty verified people a five-second question from Claude, ChatGPT, Cursor or your own agent, and see what they think. 50 answers at Tier 1: 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 organization 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 (action quote) 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 (9, each takes an action)

There are nine tools, never more than ten. Each tool takes an action and that action's own arguments, validated per action (the input is a discriminated union on action), and tools/list documents every action in the tool's description. Scopes belong to actions, not tools: a connection that lacks the scope for an action is refused with insufficient_scope for that action alone, and a read-only grant never reaches an action that changes something. Tool annotations are true of every action in the tool: estimate, results, organization and audit are read-only (readOnlyHint: true); questions, projects and webhooks each hold a cancel or delete, so they carry destructiveHint: true; ask and help change something but destroy nothing. Each tool's _meta["com.50heads/scopes"] lists the scope of each action.

ToolHintsActionsDoes
estimateread-onlyquote, balance, templates, audiences, targetingPrice a question, check credits, and look up what you can ask for.
askwritesask, set, upload_image, build_linkAsk heads or your own audience, upload an image, build a link for a person to press Ask.
resultsread-onlyget, wait, answers, export, listRead results, wait for them, read single answers, export files, list your questions.
questionsdestructivecancel, add_heads, flag_answer, fileChange one question: cancel it, add heads, flag an answer, file it.
projectsdestructivelist, create, update, delete, labelsProjects and labels that keep questions findable.
webhooksdestructivelist, create, update, rotate_secret, test, deliveries, events, replay, deleteWebhook endpoints, deliveries and recent events.
organizationread-onlyget, domains, scim, member_sessions, service_accounts, appsThe organization, its domains, SCIM, member sessions, service accounts and workspace apps.
auditread-onlylist, exportThe organization audit log.
helpwritessearch, feedback, status, whoamiSearch the help center, send feedback, check whether 50heads is working, see who the connection acts as.
Actions and scopes
ToolActionScopeDoes
estimatequotequestions:writePrice and fixes for a question. Never spends. Call it first.
estimatebalanceaccount:readCredits, reserved credits and what is left under the connection's daily cap.
estimatetemplatesnoneFixed-price templates. Works without signing in.
estimateaudiencesnoneInterest audiences you can ask instead of targeting, with prices by grade.
estimatetargetingnoneCountries, languages, pool bands and the tags you can target.
askaskquestions:writeAsks verified heads. Needs a fresh UUID as idempotency_key. Returns a task (or a question_id on older hosts).
asksetquestions:writeTwo to ten questions for your own audience behind one shared link, answered in order. Needs an idempotency_key.
askupload_imagequestions:writePuts an image into 50heads from base64 or an https link; returns an image_url for a question.
askbuild_linknoneA portal link with the question filled in, for a person to check and ask. Spends nothing.
resultsgetquestions:readResults so far, without waiting: the share per option, a go or no go verdict against your own line on yes/no questions, and who beats whom on rankings and pairwise questions, with ranges.
resultswaitquestions:readWaits up to 600 s on the server for the answers (min_answers, timeout_seconds). For hosts without tasks.
resultsanswersquestions:readIndividual answers a page at a time, filtered by option, tier, country, age band or keyword.
resultsexportquestions:readThe results as a file: CSV, JSON lines (one answer per line, with option indexes and the cohort hash), a one-page PDF report, or a PNG chart.
resultslistquestions:readYour recent questions, filtered by status, project, label, reference, bookmark or set. Check before asking again.
questionscancelquestions:writeStops a live question and refunds unanswered heads. Destructive.
questionsadd_headsquestions:writeMore heads on the same question, merged into the same result. Needs an idempotency_key.
questionsflag_answerquestions:writeReports one answer by its attestation_ref for review; upheld flags are refunded.
questionsfilequestions:writeFiles a question: project, labels, bookmark, archive, and an external reference set once.
projectslistquestions:readProjects in the account, with include_archived for archived ones too.
projectscreatequestions:writeA new project to file questions in.
projectsupdatequestions:writeRenames, redescribes, archives or restores a project.
projectsdeletequestions:writeDeletes a project. Its questions stay, with their answers, outside any project. Destructive.
projectslabelsquestions:readLabels in use, most used first.
webhookslistwebhooks:readWebhook endpoints: address, events, filter, on or off, last delivery. Secrets masked.
webhookscreatewebhooks:writeSends the chosen events, signed, to an https address you own; filter by project or label. Returns the secret once.
webhooksupdatewebhooks:writeChanges address, events, description or filter (null clears it); pauses or resumes.
webhooksrotate_secretwebhooks:writeA new secret, returned once; the old one keeps signing for overlap_hours (default 24, up to 168).
webhookstestwebhooks:writeSends a signed webhook.test event now and says how the receiver answered.
webhooksdeliverieswebhooks:readThe latest 100 deliveries, by endpoint or state (failed is out of retries).

| webhooks | events | `webh

Only the beginning is shown; read the rest in the repo

Ask PopNx