Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Ask fifty verified people a five-second question and see what they think.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
FIFTYHEADS_API_KEY, Authorization「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
このアドレスはリクエストの header にキーが必要ですが、コネクタを追加するメニューでは設定できません。代わりにClaude Code、Cursor、VS Codeを使ってください。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"50heads": {
"command": "npx",
"args": [
"-y",
"@50heads/mcp"
],
"env": {
"FIFTYHEADS_API_KEY": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add --transport http 50heads https://mcp.50heads.com/mcp --header 'Authorization: your-value'claude mcp add 50heads --env FIFTYHEADS_API_KEY=your-value -- npx -y @50heads/mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"50heads": {
"url": "https://mcp.50heads.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"50heads": {
"command": "npx",
"args": [
"-y",
"@50heads/mcp"
],
"env": {
"FIFTYHEADS_API_KEY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"50heads": {
"type": "http",
"url": "https://mcp.50heads.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"50heads": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@50heads/mcp"
],
"env": {
"FIFTYHEADS_API_KEY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
このアドレスはリクエストの header にキーが必要ですが、コネクタを追加するメニューでは設定できません。代わりにClaude Code、Cursor、VS Codeを使ってください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
Authorization 秘密 HTTP headerこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
このサーバーのツール一覧はまだ読み取っていません。エンドポイントは順番にチェックしています。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名はドメイン 50heads.com で確認済みです(レジストリがドメインの所有を確認しています)
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
まだチェックしていません。エンドポイントは順番にチェックしています
まだチェックしていません。エンドポイントは順番にチェックしています
まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:FIFTYHEADS_API_KEY, Authorization
どちらでも使えます。パソコンにインストールしても、クラウド版につないでもかまいません。
GitHubリポジトリの最終更新は–、最新バージョン(2026.1013.2)がレジストリに届いたのは25 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Georgia MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
An MCP server for Georgian public data, read from the organizations that publish it.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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:
https://mcp.50heads.com/mcp. Streamable HTTP, sign in with OAuth in the browser. Nothing to install.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).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.
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_…" } } } }
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_…"
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_…" } } } }
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
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"}'
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_…" } } } }
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_…" } } } }
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.
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.
| Variable | Meaning |
|---|---|
FIFTYHEADS_API_KEY | API key for CI and scripts |
FIFTYHEADS_API_URL | API base, default https://api.50heads.com |
FIFTYHEADS_MCP_URL | Hosted endpoint for --proxy |
FIFTYHEADS_AUTH_URL | Sign-in server for login |
FIFTYHEADS_CREDENTIALS_STORE=file | Keep the sign-in in a file, not the keychain |
FIFTYHEADS_DEBUG=1 | Log each call to stderr (never question text) |
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.
| Tool | Hints | Actions | Does |
|---|---|---|---|
estimate | read-only | quote, balance, templates, audiences, targeting | Price a question, check credits, and look up what you can ask for. |
ask | writes | ask, set, upload_image, build_link | Ask heads or your own audience, upload an image, build a link for a person to press Ask. |
results | read-only | get, wait, answers, export, list | Read results, wait for them, read single answers, export files, list your questions. |
questions | destructive | cancel, add_heads, flag_answer, file | Change one question: cancel it, add heads, flag an answer, file it. |
projects | destructive | list, create, update, delete, labels | Projects and labels that keep questions findable. |
webhooks | destructive | list, create, update, rotate_secret, test, deliveries, events, replay, delete | Webhook endpoints, deliveries and recent events. |
organization | read-only | get, domains, scim, member_sessions, service_accounts, apps | The organization, its domains, SCIM, member sessions, service accounts and workspace apps. |
audit | read-only | list, export | The organization audit log. |
help | writes | search, feedback, status, whoami | Search the help center, send feedback, check whether 50heads is working, see who the connection acts as. |
| Tool | Action | Scope | Does |
|---|---|---|---|
estimate | quote | questions:write | Price and fixes for a question. Never spends. Call it first. |
estimate | balance | account:read | Credits, reserved credits and what is left under the connection's daily cap. |
estimate | templates | none | Fixed-price templates. Works without signing in. |
estimate | audiences | none | Interest audiences you can ask instead of targeting, with prices by grade. |
estimate | targeting | none | Countries, languages, pool bands and the tags you can target. |
ask | ask | questions:write | Asks verified heads. Needs a fresh UUID as idempotency_key. Returns a task (or a question_id on older hosts). |
ask | set | questions:write | Two to ten questions for your own audience behind one shared link, answered in order. Needs an idempotency_key. |
ask | upload_image | questions:write | Puts an image into 50heads from base64 or an https link; returns an image_url for a question. |
ask | build_link | none | A portal link with the question filled in, for a person to check and ask. Spends nothing. |
results | get | questions:read | Results 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. |
results | wait | questions:read | Waits up to 600 s on the server for the answers (min_answers, timeout_seconds). For hosts without tasks. |
results | answers | questions:read | Individual answers a page at a time, filtered by option, tier, country, age band or keyword. |
results | export | questions:read | The 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. |
results | list | questions:read | Your recent questions, filtered by status, project, label, reference, bookmark or set. Check before asking again. |
questions | cancel | questions:write | Stops a live question and refunds unanswered heads. Destructive. |
questions | add_heads | questions:write | More heads on the same question, merged into the same result. Needs an idempotency_key. |
questions | flag_answer | questions:write | Reports one answer by its attestation_ref for review; upheld flags are refunded. |
questions | file | questions:write | Files a question: project, labels, bookmark, archive, and an external reference set once. |
projects | list | questions:read | Projects in the account, with include_archived for archived ones too. |
projects | create | questions:write | A new project to file questions in. |
projects | update | questions:write | Renames, redescribes, archives or restores a project. |
projects | delete | questions:write | Deletes a project. Its questions stay, with their answers, outside any project. Destructive. |
projects | labels | questions:read | Labels in use, most used first. |
webhooks | list | webhooks:read | Webhook endpoints: address, events, filter, on or off, last delivery. Secrets masked. |
webhooks | create | webhooks:write | Sends the chosen events, signed, to an https address you own; filter by project or label. Returns the secret once. |
webhooks | update | webhooks:write | Changes address, events, description or filter (null clears it); pauses or resumes. |
webhooks | rotate_secret | webhooks:write | A new secret, returned once; the old one keeps signing for overlap_hours (default 24, up to 168). |
webhooks | test | webhooks:write | Sends a signed webhook.test event now and says how the receiver answered. |
webhooks | deliveries | webhooks:read | The latest 100 deliveries, by endpoint or state (failed is out of retries). |
| webhooks | events | `webh
冒頭だけを表示しています。続きはリポジトリで読めます