mcpField
P
Plain Ballot

Plain Ballot

リモート
plainballot.com法務・行政0今日更新
リポジトリ公式サイト

Plain Ballot について

Plain Ballotは、関心のある論点を基に候補者を比較する有権者向けガイドです。米国の住所から投票対象の選挙を特定し、検証可能な引用と出典を示します。候補者との適合度はAIではなく決定的な計算で求めます。

主な機能

  1. 01住所による投票対象の検索
  2. 02論点の優先度設定と適合度スコア
  3. 03出典に結び付いた正確な引用
  4. 04希望時のみ政党ラベルを表示
  5. 05公開訂正とオープンな選挙データ

活用シーン

  1. 01選んだ論点について候補者を比較
  2. 02候補者の立場の出典を確認
  3. 03エージェントや他の製品で選挙調査データを利用

MCP 対応

リモートMCPサーバーは、論点一覧、引用と出典を含む住所別の投票対象、明示された優先事項に基づく適合度計算を読み取り専用ツールとして提供します。候補者の不明な立場を推測しないようエージェントに指示し、住所は保存しません。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://plainballot.com/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

Plain Ballot

投票用紙に記載されたすべての選挙で、あなたが重視することに合う候補者を見つけます。すべての立場に、確認可能な引用を添えています。

plainballot.com · 仕組み · オープンデータ · 貢献する

CI License: AGPL-3.0 GitHub stars

Plain Ballot

誰が立候補していて、どのような立場を取っているのでしょうか?重視する課題を選び、それぞれの目盛りを設定して、住所を入力してください。Plain Ballotが投票用紙の選挙を調べ、あなたに合う候補者、その理由、情報源を示します。希望するまで政党名は表示されません。広告もアカウントも不要で、住所は保存されません。

2026年11月3日に向けて、カリフォルニア州のすべての選挙に加え、全50州の連邦下院および上院選挙を網羅しています。

どちらも無料のオープンプロジェクトです:

  • Plain Ballot(このリポジトリ):有権者向けガイドです。
  • Open Election Data:その基盤となる調査データです。すべての候補者について同じ18の課題を調査し、各立場には正確な引用と情報源を添えています。合意に至る必要があるAIエージェントが調査を行います。Open Database Licenseのもと、商用利用を含め無料で利用でき、無料のAPIもあります。

作業内容を示すAI

チャットボットは投票に関する事実を誤ることがあります。Plain Ballotは、単一のモデルの言葉だけが有権者に届くことのないように構築されています。

  • エージェント同士の合意が必要です。 すべての候補者を、異なるモデル(Claude Code、Codex、GPT-5.6 Luna)を使う独立したエージェントが調査し、それぞれが個別に検索して読み込みます。対立がなければ3つのうち2つ、対立がある場合は10のエージェントの明確な多数が合意した場合にのみ、立場を公開します。
  • すべての引用を検証します。 各主張には、情報源から取得し、一字一句照合した正確な引用を添えます。照合できない引用は採用されません。毎晩のジョブで、公開済みの引用をすべて再確認します。
  • 推測はしません。 エージェントが情報源を見つけられなかった場合、それを賛成票として数えることはありません。多数の合意が得られなければ、課題欄は空白のままとなり、投票用紙にもその旨が示されます。
  • マッチングにAIは使いません。 ブラウザー内で実行する単純な決定論的計算です(lib/match.ts)。回答が同じなら、毎回同じ投票用紙が表示されます。
  • 有権者は異議を申し立てられます。 主張に「間違っていませんか?」から異議を申し立てると、公開イシューが作成され、新しいエージェントで調査をやり直します。修正内容は公開されます。
  • すべての変更について偏りを確認します。 異なる企業の3つのモデルが各プルリクエストを確認し、偏った表現や一方的な論理がないかをチェックします。また、どの目盛りでも両端が同じように扱われることをテストで確認します。
  • すべての文言を公開しています。 目盛りの文言、合意のルール、調査したすべての立場はOpen Election Dataで公開されています。マッチングの仕組みはこのリポジトリで公開されています。

データを使う

調査データは独立したプロジェクト、Open Election Data にあります。キー不要の無料静的APIを提供しています:

curl -s https://n8peace.github.io/open-election-data/v1/divisions/ca/cd-10.json

Open Database Licenseのもと、商用製品を含め、どのような用途にも利用できます。クレジットを表示し、データの改善を同じ条件で共有してください。

エージェントに送る

Plain Ballot はブラウザーなしで動作します。MCP に対応した AI エージェント(Claude、ChatGPT、Cursor など)を次の URL に接続してください。

https://plainballot.com/mcp

読み取り専用のツールが 3 つあります。

  • list_issues:18 の争点と、それぞれの立場の表現。
  • get_ballot:住所に該当する、調査済みのすべての選挙について、各候補者の立場、正確な引用、出典。
  • score_fit:有権者が示した優先事項に、各候補者がどの程度合致するかを、サイトと同じ計算方法で評価します。モデルは関与しません。

エージェントには、サイトと同じルールが伝えられます。党派に偏らないこと、出典を引用してリンクすること、立場が不明な場合に補完しないこと、有権者が実際に示した優先事項だけを評価することです。住所は保存されません。

プレーンな JSON を使いたいですか? GET https://plainballot.com/api/ballot?address=... は同じ投票情報を返します。また、調査データ自体は無料の静的 APIとして公開されています。

すでにあるものと、それでもこれを作った理由

優れた情報源はすでに存在し、Plain Ballot はそれらを参考にしています。

  • Ballotpedia は立候補者に関する最も包括的な記録であり、調査エージェントも参照しています。一括データは有料製品であり、ページをこちらで再公開することはできません。
  • BallotReady は、組織向けの有料 API で候補者の争点に対する立場を提供しています。
  • Vote Smart は、候補者が回答するアンケート「Political Courage Test」を通じて立場を集めており、投票記録や評価も提供しています。
  • Google Civic と Democracy Works は、投票用紙に記載される候補者と投票方法を扱っています。

私たちが見つけられなかったのは、候補者の立場を示す無料でオープンなデータセットです。すべての立場に確認可能な引用があり、すべての候補者が同じ争点について記載されて比較でき、誰でも無料で再利用できるものです。そこで、Open Election Dataを作りました。すべての主張は今も候補者自身の発言に基づいています。エージェントは要約を候補者のウェブサイト、投票記録、またはインタビューにたどって確認し、引用します。

お住まいの州を調査する

調査はご自身の Claude または ChatGPT のプランで実行できるため、API クレジットに料金を払わずに誰でも対象範囲を広げられます。調査はOpen Election Dataで行われ、各州に「お住まいの州を調査する」というオープンなイシューがあります。

ローカルで実行する

npm install
cp .env.example .env.local
npm run dev                        # http://localhost:3000

キーがなくても、架空の投票用紙で実行でき、ダイヤルも引き続き動作します。調査済みの選挙情報はオープンデータの API から取得します(オフラインで作業するには、ELECTION_DATA_DIR にローカルチェックアウトの data/positions を設定してください)。キーを設定すると、優先事項の入力(AI_GATEWAY_API_KEY)、実際の投票情報の検索(GOOGLE_CIVIC_API_KEY)、住所候補の提示(GOOGLE_PLACES_API_KEY)が有効になります。

npm test               # matching, neutrality, sharing, abuse limits
npm run eval           # does the AI put people on the right side of each dial? (calls the model)
npm run check:issues   # dial wording matches the research data

構築方法

Vercel 上の Next.js を使用しています。Census ジオコーダーで有権者の選挙区を特定します。調査済みの選挙情報は Open Election Data API から取得し、選挙区に基づいて有権者と照合します。BotID、レート制限、支出上限によって、有料エンドポイントを保護しています(docs/security.md)。図を含む全体像はdocs/ARCHITECTURE.mdをご覧ください。AI エージェントを使ってコーディングしますか? AGENTS.mdを指定してください。

貢献

最も役立つのは調査と調査内容の確認で、どちらもコードは必要ありません。CONTRIBUTING.mdをご覧いただくか、すぐに実行できるコピーをブラウザーで開いてください。

GitHub Codespaces で開く

ライセンス

AGPL-3.0。誰でも自分のコピーを実行できますが、ホストされたコピーは変更内容を公開する必要があるため、偏ったバージョンをひそかに運用することはできません。

スター履歴

スター履歴

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。