50heads について
50heads は、Claude、ChatGPT、Cursor などのエージェントから検証済みの人々に質問し、回答を確認できるサービスです。意見収集を行うチーム向けに、ホスト型 HTTP とローカル stdio の接続方法を用意しています。
主な機能
- 01検証済みの人々への質問
- 02回答の取得・待機・エクスポート
- 03質問費用とクレジットの見積もり
- 04プロジェクト、ラベル、Webhook の管理
- 05組織情報と監査ログの確認
活用シーン
- 012つの名前の好みを比較
- 02組織独自のオーディエンスに調査
- 03回答の確認とエクスポート
MCP 対応
質問、費用見積もり、結果取得、プロジェクトや Webhook の管理ツールを MCP クライアントに提供します。OAuth または API key を使うホスト型 Streamable HTTP と、ローカル stdio で接続できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.50heads.com/mcpclaude mcp add --transport http com-50heads https://mcp.50heads.com/mcp{"mcpServers":{"com-50heads":{"type":"http","url":"https://mcp.50heads.com/mcp"}}}Cursor で開く{"servers":{"com-50heads":{"type":"http","url":"https://mcp.50heads.com/mcp"}}}VS Code で開く{"mcpServers":{"com-50heads":{"type":"http","url":"https://mcp.50heads.com/mcp"}}}{"mcpServers":{"com-50heads":{"serverUrl":"https://mcp.50heads.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.50heads.com/mcp認証が必要ツール
詳細
50heads MCP
Claude、ChatGPT、Cursor、または独自のエージェントから、本人確認済みの50人に5秒で答えられる質問をして、回答を確認できます。Tier 1では50件の回答を1000クレジットで利用でき、価格はアカウントの通貨で表示されます。
接続方法は2通りあり、利用できるツールは同じです。
- ホステッド(推奨):
https://mcp.50heads.com/mcp。Streamable HTTPを使用し、ブラウザーでOAuthにサインインします。インストールは不要です。 - ローカル:
npx -y @50heads/mcp。コマンドを起動するホスト向けのstdioサーバーです。Node 20以降とAPIキーが必要です(または一度だけloginを実行します)。
インストール
以下から利用するホストを選択してください。ホステッドサーバーはインストール不要です。URLを追加してブラウザーでOAuthにサインインすると、接続の日次利用上限も設定されます。ローカルサーバー(npx -y @50heads/mcp)にはNode 20以降とAPIキーが必要です。
APIキーが必要な場合は、ダッシュボードのDevelopersページ(https://50heads.com/app/developers)で作成してください。キーは`fh_live_`で始まり、一度だけ表示されます。または、`npx -y @50heads/mcp login`を一度実行すれば、キーを指定せずに利用できます。
npx -y @50heads/mcp config [host]を実行すると、以下の設定を表示できます。同じ手順はhttps://50heads.com/en-us/docs/mcpにも掲載されています。
Claude(claude.aiとClaude Desktop)
ホステッドサーバーを使い、OAuthにサインインします。Settings、Connectors、Add custom connectorの順に選択します。URLを貼り付け、求められたらサインインしてください。TeamおよびEnterpriseプランでは、まずオーナーが組織に追加する必要があります。
https://mcp.50heads.com/mcp
または、APIキーを使って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
ホステッドサーバーを使い、OAuthにサインインします。ターミナルで実行し、Claude Codeで/mcpを実行してサインインしてください。
claude mcp add --transport http 50heads https://mcp.50heads.com/mcp
または、APIキーを使います(CIやスクリプト向け)。
claude mcp add --transport http 50heads https://mcp.50heads.com/mcp --header "Authorization: Bearer fh_live_…"
Cursor
ホステッドサーバーを使い、OAuthにサインインします。~/.cursor/mcp.json(またはプロジェクト内の.cursor/mcp.json)に設定します。Cursorでサインインページが開きます。
{
"mcpServers": {
"50heads": {
"url": "https://mcp.50heads.com/mcp"
}
}
}
または、APIキーを使います。
{
"mcpServers": {
"50heads": {
"url": "https://mcp.50heads.com/mcp",
"headers": {
"Authorization": "Bearer fh_live_…"
}
}
}
}
ChatGPT
ホステッドサーバーを使い、OAuthにサインインします。Settings、Apps and Connectors、Advanced settingsの順に選択し、Developer modeをオンにしてからCreateを選択します。URLを貼り付け、OAuthを選択してください。BusinessおよびEnterpriseプランでは、まず管理者がDeveloper modeをオンにする必要があります。
https://mcp.50heads.com/mcp
VS Code
ホステッドサーバーを使い、OAuthにサインインします。ワークスペース内の.vscode/mcp.jsonを使用するか、コマンドパレットからMCP: Add Serverを選択します。
{
"servers": {
"50heads": {
"type": "http",
"url": "https://mcp.50heads.com/mcp"
}
}
}
または、ターミナルから実行します。
code --add-mcp '{"name":"50heads","type":"http","url":"https://mcp.50heads.com/mcp"}'
Windsurf
ローカルサーバーをAPIキーで利用します。~/.codeium/windsurf/mcp_config.jsonを編集するか、Windsurf Settings、Cascade、MCP servers、View raw configの順に選択します。
{
"mcpServers": {
"50heads": {
"command": "npx",
"args": [
"-y",
"@50heads/mcp"
],
"env": {
"FIFTYHEADS_API_KEY": "fh_live_…"
}
}
}
}
または、ホステッドサーバーをAPIキーで利用します。
{
"mcpServers": {
"50heads": {
"serverUrl": "https://mcp.50heads.com/mcp",
"headers": {
"Authorization": "Bearer fh_live_…"
}
}
}
}
その他のホスト
ローカルサーバーをAPIキーで利用します。ローカルコマンドを起動するホスト向けです。Node 20以降と、ダッシュボードで取得したAPIキーが必要です。
FIFTYHEADS_API_KEY=fh_live_… npx -y @50heads/mcp
Streamable HTTPに対応するホストでは、https://mcp.50heads.com/mcpにヘッダー「Authorization: Bearer fh_live_…」を付けるか、OAuthを使用してください。
{
"mcpServers": {
"50heads": {
"url": "https://mcp.50heads.com/mcp",
"headers": {
"Authorization": "Bearer fh_live_…"
}
}
}
}
動作確認
「50headsを使って、2つの名前のどちらが好ましいかを50人に尋ねる場合の見積もりを出して」とホストに依頼してください。estimate(アクションquote)は無料で、クレジットを消費しません。Claude Codeでは、/mcpを実行するとサーバーとそのツールが表示されます。それ以外のホストでは、ツールまたはコネクターの一覧から50headsを探してください。
コマンドラインでのサインイン
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は、https://auth.50heads.comに対してOAuthデバイスフローを使用します。トークンはmacOSのKeychainまたはLinuxのSecret Serviceに保存されます。いずれも利用できない場合は~/.config/50heads/credentials.jsonに保存されます(モード600)。両方が設定されている場合は、FIFTYHEADS_API_KEYのAPIキーが優先されます。
--proxyを指定すると、ツールをローカルで実行せず、stdioをホステッドサーバーに転送します。
| 変数 | 意味 |
|---|---|
FIFTYHEADS_API_KEY | CIやスクリプト用のAPIキー |
FIFTYHEADS_API_URL | APIのベースURL。デフォルトはhttps://api.50heads.comです |
FIFTYHEADS_MCP_URL | --proxy用のホステッドエンドポイント |
FIFTYHEADS_AUTH_URL | login用のサインインサーバー |
FIFTYHEADS_CREDENTIALS_STORE=file | サインイン情報をキーチェーンではなくファイルに保存します |
FIFTYHEADS_DEBUG=1 | 各呼び出しをstderrに記録します(質問文は記録されません) |
ツール(9 個。それぞれが action を受け取ります)
ツールは 9 個あり、10 個を超えることはありません。各ツールは action と、そのアクション固有の引数を受け取ります。引数はアクションごとに検証されます(入力は action による判別共用体です)。tools/list には、各ツールの説明にすべてのアクションが記載されています。スコープはツールではなくアクションに属します。あるアクションに必要なスコープがない接続は、そのアクションだけが insufficient_scope で拒否されます。また、読み取り専用の許可では、変更を行うアクションには到達しません。ツールのアノテーションは、そのツール内のすべてのアクションに適用されます。estimate、results、organization、audit は読み取り専用(readOnlyHint: true)です。questions、projects、webhooks はそれぞれキャンセルまたは削除を行うため、destructiveHint: true が付与されています。ask と help は変更を行いますが、破壊的な操作は行いません。各ツールの _meta["com.50heads/scopes"] には、各アクションのスコープが記載されています。
| ツール | ヒント | アクション | 機能 |
|---|---|---|---|
estimate | 読み取り専用 | quote、balance、templates、audiences、targeting | 質問の料金を見積もり、クレジットを確認し、質問できる内容を調べます。 |
ask | 書き込み | ask、set、upload_image、build_link | 回答者や独自のオーディエンスに質問し、画像をアップロードし、相手が「Ask」を押すためのリンクを作成します。 |
results | 読み取り専用 | get、wait、answers、export、list | 結果を読み取り、結果を待ち、個別の回答を読み取り、ファイルをエクスポートし、質問を一覧表示します。 |
questions | 破壊的 | cancel、add_heads、flag_answer、file | 1 件の質問を変更します。キャンセル、回答者の追加、回答へのフラグ付け、ファイルへの記録を行います。 |
projects | 破壊的 | list、create、update、delete、labels | 質問を見つけやすくするプロジェクトとラベルを管理します。 |
webhooks | 破壊的 | list、create、update、rotate_secret、test、deliveries、events、replay、delete | Webhook エンドポイント、配信、最近のイベントを管理します。 |
organization | 読み取り専用 | get、domains、scim、member_sessions、service_accounts、apps | 組織、そのドメイン、SCIM、メンバーのセッション、サービスアカウント、ワークスペースアプリを管理します。 |
audit | 読み取り専用 | list、export | 組織の監査ログを管理します。 |
help | 書き込み | search、feedback、status、whoami | ヘルプセンターを検索し、フィードバックを送信し、50heads の稼働状況を確認し、接続がどのユーザーとして動作しているかを確認します。 |
アクションとスコープ
| ツール | アクション | スコープ | 内容 |
|---|---|---|---|
estimate | quote | questions:write | 質問の料金と修正内容を確認します。クレジットは消費しません。最初に呼び出してください。 |
estimate | balance | account:read | クレジット、予約済みクレジット、および接続の1日あたりの上限内で残っているクレジットを確認します。 |
estimate | templates | none | 固定価格のテンプレートです。サインインせずに利用できます。 |
estimate | audiences | none | ターゲティングの代わりに指定できる関心オーディエンスと、グレード別の料金です。 |
estimate | targeting | none | ターゲティング可能な国、言語、対象者数の範囲、タグです。 |
ask | ask | questions:write | 検証済みの回答者に質問します。新しい UUID を idempotency_key として指定する必要があります。タスク(古いホストでは question_id)を返します。 |
ask | set | questions:write | 共有リンク1つを通じて自分のオーディエンスに質問するための、2~10個の質問です。順番に回答されます。idempotency_key が必要です。 |
ask | upload_image | questions:write | base64 または https リンクから画像を 50heads にアップロードし、質問用の image_url を返します。 |
ask | build_link | none | 質問を入力済みのポータルリンクを作成します。回答者は内容を確認して質問できます。クレジットは消費しません。 |
results | get | questions:read | 待たずに途中経過を取得します。各選択肢の回答割合、はい/いいえ形式の質問で自分の基準に照らした実施可否の判定、ランキングやペア比較形式の質問での勝敗を範囲とともに確認できます。 |
results | wait | questions:read | サーバー上で回答を最大 600 s 待ちます(min_answers、timeout_seconds)。タスクに対応していないホスト向けです。 |
results | answers | questions:read | 選択肢、ティア、国、年齢層、キーワードで絞り込める個別回答を、ページ単位で取得します。 |
results | export | questions:read | 結果をファイルとして出力します。CSV、JSON lines(1行につき1回答。選択肢のインデックスとコホートのハッシュを含む)、1ページの PDF レポート、または PNG チャートを選べます。 |
results | list | questions:read | 最近の質問を、ステータス、プロジェクト、ラベル、参照、ブックマーク、セットで絞り込んで表示します。再度質問する前に確認してください。 |
questions | cancel | questions:write | 実施中の質問を停止し、未回答の回答者分を返金します。破壊的な操作です。 |
questions | add_heads | questions:write | 同じ質問に回答者を追加し、同じ結果に統合します。idempotency_key が必要です。 |
questions | flag_answer | questions:write | attestation_ref で指定した回答を審査のために報告します。報告が認められた場合は返金されます。 |
questions | file | questions:write | 質問を整理します。プロジェクト、ラベル、ブックマーク、アーカイブ、および一度だけ設定できる外部参照を指定できます。 |
projects | list | questions:read | アカウント内のプロジェクトを表示します。アーカイブ済みのプロジェクトも含めるには include_archived を指定します。 |
projects | create | questions:write | 質問を整理するための新しいプロジェクトを作成します。 |
projects | update | questions:write | プロジェクトの名前や説明を変更したり、アーカイブまたは復元したりします。 |
projects | delete | questions:write | プロジェクトを削除します。質問と回答は残り、どのプロジェクトにも属さない状態になります。破壊的な操作です。 |
projects | labels | questions:read | 使用中のラベルを、使用頻度の高い順に表示します。 |
webhooks | list | webhooks:read | Webhook エンドポイントのアドレス、イベント、フィルター、有効/無効、最終配信を表示します。シークレットはマスクされます。 |
webhooks | create | webhooks:write | 選択したイベントを署名付きで、自分が所有する https アドレスに送信します。プロジェクトまたはラベルで絞り込めます。シークレットは一度だけ返されます。 |
webhooks | update | webhooks:write | アドレス、イベント、説明、フィルター(null でクリア)を変更したり、一時停止または再開したりします。 |
webhooks | rotate_secret | webhooks:write | 新しいシークレットを発行し、一度だけ返します。古いシークレットは overlap_hours の間(デフォルトは 24、最大 168)、引き続き署名に使われます。 |
webhooks | test | webhooks:write | 署名付きの webhook.test イベントを今すぐ送信し、受信側の応答を返します。 |
webhooks | deliveries | webhooks:read | 最新の 100 件の配信を、エンドポイントまたは状態(failed は再試行回数の上限に達した状態)で表示します。 |
webhooks | events | webhooks:read | 1種類の最新イベント(最大 25 件)を、配信時とまったく同じ内容で表示します。サンプルペイロードの取得や、イベント ID による追跡に使えます。 |
webhooks | replay | webhooks:write | 同じイベント ID を使って、配信のイベントを再送信します。 |
webhooks | delete | webhooks:write | エンドポイントを完全に削除します。破壊的な操作です。 |
organization | get | organization:read | キーまたはアプリが操作するワークスペースの組織情報です。ワークスペース、検証済みドメイン、シングルサインオン、SCIM、サインインルールを確認できます。 |
organization | domains | organization:read | 組織のドメインを、それぞれの状態と、所有を証明する DNS TXT レコードとともに表示します。管理者専用です。 |
organization | scim | organization:read | SCIM プロビジョニング情報です。ベース URL、送信されたユーザーとグループ、デフォルトのロール、ラベルとプレフィックスごとのトークンを確認できます。管理者専用です。 |
organization | member_sessions | members:read | メンバー1人の有効なセッションと、それぞれのセッションの開始方法を表示します。管理者専用です。 |
organization | service_accounts | organization:read | 組織のサービスアカウントを表示します。ワークスペース、スコープ、上限、本日の利用額、最後のトークンを確認できます。シークレットは表示されません。 |
organization | apps | apps:read | 50heads が追加されている Slack ワークスペースと Microsoft Teams テナント(どちらかは provider で確認できます)、および Zapier 接続を表示します。1日あたりの上限、本日の利用額、追加したユーザー、各 Zapier 接続のフックも確認できます。 |
audit | list | audit:read | 組織とそのワークスペースで誰が何をしたかを、新しい順に表示します。時刻、実行者、event_action、ワークスペースで絞り込めます。管理者専用です。 |
audit | export | audit:read | 同じイベントを、古い順の JSON lines としてエクスポートします。続きから再開するためのカーソルが含まれます。エクスポートはすべて記録されます。管理者専用です。 |
help | search | none | ヘルプセンターを検索し、記事とリンクを返します。 |
help | feedback | none | フィードバックまたは問題をチケットとしてサポートに送信します(サインアウト中は email を追加してください)。 |
help | status | none | 50heads が稼働中かどうか、また質問、回答、MCP での質問、クレジット購入が一時停止中かどうかを確認します。サインインせずに利用できます。読み取り専用です。 |
help | whoami | account:read | 接続がどのユーザーとして操作しているか(メールアドレスはマスクされます)、スコープ、上限、本日の利用額、操作対象のアカウントと組織、使用量とともにレート制限を確認します。読み取り専用です。 |
変更前と変更後
このリリースでは、用途が限定された44個のツールを、上記の9個に置き換えます(決定G12:モデルが適切に選択できるよう、ツールは最大10個まで)。以前の各ツールは、新しいツールの1つのアクションに対応し、引数も同じです。変更点は2つあります。build_ask_link では質問のフィールドを draft 内で指定するようになり、監査フィルターの action は event_action になりました(action との衝突を避けるためです)。wait_for_results は results に統合され、すべてのホストで action: "wait" を指定するようになりました。
| 旧ツール | 新ツール | アクション |
|---|---|---|
estimate | estimate | quote |
ask | ask | ask |
ask_set | ask | set |
get_results | results | get |
wait_for_results | results | wait |
list_questions | results | list |
cancel | questions | cancel |
templates | estimate | templates |
balance | estimate | balance |
upload_image | ask | upload_image |
get_answers | results | answers |
add_heads | questions | add_heads |
flag_answer | questions | flag_answer |
export | results | export |
build_ask_link | ask | build_link |
list_audiences | estimate | audiences |
list_targeting | estimate | targeting |
search_help | help | search |
send_feedback | help | feedback |
whoami | help | whoami |
service_status | help | status |
list_webhooks | webhooks | list |
create_webhook | webhooks | create |
update_webhook | webhooks | update |
rotate_webhook_secret | webhooks | rotate_secret |
test_webhook | webhooks | test |
list_webhook_deliveries | webhooks | deliveries |
list_webhook_events | webhooks | events |
replay_webhook_delivery | webhooks | replay |
delete_webhook | webhooks | delete |
list_projects | projects | list |
create_project | projects | create |
update_project | projects | update |
delete_project | projects | delete |
list_labels | projects | labels |
file_question | questions | file |
list_apps | organization | apps |
get_organization | organization | get |
list_domains | organization | domains |
list_audit_events | audit | list |
export_audit_events | audit | export |
get_scim_status | organization | scim |
list_member_sessions | organization | member_sessions |
list_service_accounts | organization | service_accounts |
webhookとappのスコープは、要求されない限り付与されません。これらのスコープが付与される前に作成された接続、またはスコープを要求しなかった接続では、insufficient_scope が返されます。再接続してスコープを追加できます。
各接続には1日あたりの利用上限があり、デフォルトは5,000クレジットです。上限を超えて質問すると、残りの利用可能量とリセット時刻を含む spend_cap_exceeded が返されます。
エラーは、error.data.code(validation、not_found、insufficient_credits、spend_cap_exceeded、idempotency_conflict、content_refused、rate_limited、unavailable)と retryable のヒントを含むJSON-RPCエラーです。
リソース:50heads://guide(スキル)、50heads://templates、50heads://question-types、50heads://pricing、50heads://countries、50heads://webhook-events(イベントの種類、各イベントに含まれる情報、それぞれのJSON Schemaへのリンク、配信の署名方法)、50heads://results/{question_id}。プロンプト:ask_the_heads、read_results。MCP Appsを表示するホストでは、見積もりと結果がカードとして表示されます。
ツールのアノテーション:読み取り専用のツールには readOnlyHint: true が設定されています。destructiveHint: true が設定されているのは、questions(cancel)、projects(delete)、webhooks(delete)のみです。すべてのツールに openWorldHint: true と出力スキーマ(各アクションの出力をまとめたユニオン)があります。MCP Appsを表示するホストでは、見積もりと結果がカードとして表示されます。これらは estimate と results に表示され、対応する返信に限って表示されます。
プライバシー
入手先
- ホスト型:
https://mcp.50heads.com/mcp。 - npm:
@50heads/mcp。 - 公式MCPレジストリでは
com.50heads/mcpとして登録予定で、MCPディレクトリにも掲載予定です。近日公開。
エージェントスキル
パッケージには、skills/50heads(@50heads/mcp/skills/50heads/SKILL.md)に50headsエージェントスキルが含まれています。質問するタイミング、良い質問をするための8つのルール、結果の読み方、質問の種類と料金に関する参考情報が記載されています。このフォルダーをホストのスキルディレクトリにコピーするか、com.50heads/skills 拡張機能に対応するホストからサーバー経由で取得できます。
ライブラリとしての利用
import { serveStdio } from "@modelcontextprotocol/server/stdio";
import { serverFactory } from "@50heads/mcp";
serveStdio(serverFactory({ apiKey: process.env.FIFTYHEADS_API_KEY }));
serveStdioServer(options) はタスクを含むstdioサーバー全体を実行します。configSnippets() は上記のインストール用スニペットを返します。
バージョン
リリースにはカレンダー形式のバージョン YYYY.MDD.N を使用します。2026.924.1 は2026年9月24日の最初のリリースで、同日の2回目のリリースは 2026.924.2 です。npmパッケージ、ホスト型サーバー(serverInfo.version)、レジストリマニフェスト、--version、エージェントスキルでは、すべて同じ番号を使用します。CHANGELOG.md をご覧ください。
server.json は公式MCPレジストリに com.50heads/mcp として登録できる状態です。レジストリにはまだ掲載されていません(検索してもサーバーは見つかりません)。公開にはリリースワークフローで MCP_REGISTRY_ED25519_KEY が必要です。docs/publishing.md をご覧ください。npmパッケージは公開済みです。
開発
このパッケージは50headsモノレポ内にあります。ホスト型サーバー(apps/mcp)とstdioサーバーは同じモジュール src/server.ts を共有しているため、実装に差異が生じることはありません。
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
公開ミラーからの来歴情報付きnpm公開、MCPレジストリへの登録、GitHubリリースを含むリリース手順については、docs/publishing.md をご覧ください。
MITライセンスです。
表記
サーバーが発話、受け付け、返却する内容はすべて米国英語です。ツール名、アクション、説明、引数、出力、エラーコード(organization、authorized、canceled)が含まれます。1つだけ、こちらでは表記を決められない語があります。停止されたMCPタスクのステータスは cancelled です。MCPタスクプロトコルでそのように定義されており、クライアントが検証するためです。questions で action: "cancel" を使って停止した質問のステータスは canceled です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。