Elections Canada MCP Server について
Elections Canada MCP Serverは、2021年と2025年のカナダ連邦選挙データをMCPクライアントに提供します。選挙区、州、政党ごとの検索や集計に対応します。
主な機能
- 01選挙区の検索
- 02選挙区ごとの政党得票の取得
- 03州・全国結果の集計
- 04接戦選挙区の検索
- 05政党の好成績・低成績の比較
活用シーン
- 01選挙区ごとの選挙結果を調べる
- 02州別または全国の政党結果を集計する
- 03得票差が最も小さい選挙区を特定する
MCP 対応
選挙区と州のリソースに加え、選挙結果の検索・集計ツールをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Elections Canada MCP Server
カナダの連邦選挙データにアクセスできる Model Context Protocol(MCP)サーバーです。現在、2021年と2025年の選挙結果に対応しています。今後のアップデートでは、過去の選挙、国勢調査の人口統計データ、ThreeFortyThree のリアルタイム予測が追加される予定です。
ThreeFortyThree が提供するこのサーバーは、ThreeFortyThree Chat を支え、Claude Desktop などの MCP クライアントで利用できます。
🛠 セットアップ
インストール(PyPI 経由)
uv pip install elections-canada-mcp-server
Claude Desktop での使用方法
- サーバーがインストールされていることを確認します。
uv pip install elections-canada-mcp-server
claude_desktop_config.jsonを開き、次のブロックを追加します。
uv
{
"mcpServers": {
"elections_canada_data_and_predictions": {
"command": "{PATH_TO_UVX}", // Replace with output of: which uvx
"args": ["elections-canada-mcp"]
}
}
}
-
Claude Desktop を再起動します。
-
これで、Claude に次のような質問をできます。
- 「トロント・センターの2021年の選挙結果はどうでしたか?」
- 「NDP にとって最も接戦だった選挙区はどこですか?」
- 「2021年における保守党の勝利で、得票差が最も大きかったものを教えてください。」
ローカル開発
MCP Inspector を使ってサーバーをテストするには:
-
このリポジトリをクローンします。
git clone https://github.com/ThreeFortyThree-Canada/elections-canada-mcp-server.git cd elections-canada-mcp-server -
MCP CLI をインストールします。
uv pip install mcp -
サーバーをテストします。
mcp dev elections_canada_mcp/server.py
ローカルでサーバーをテストするためのウェブ UI が開きます。
🧰 ツール
| ツール | 説明 | 入力 | 戻り値 |
|---|---|---|---|
search_ridings | 選挙区を名前で検索します(アクセント記号を区別しません) | search_term: str | 一致する選挙区のリスト |
get_party_votes | 選挙区の得票率を取得します(任意で政党を指定できます) | riding_code: str, party_code: str (optional) | 得票数と割合 |
get_winning_party | 選挙区の勝利政党を取得します | riding_code: str | 勝利政党 |
summarize_province_results | 州全体の得票数/議席数をまとめます | province_name_or_code: str | 政党別の結果 |
summarize_national_results | カナダ全体の選挙結果をまとめます | — | 全国の政党別結果 |
find_closest_ridings | 最も接戦の選挙区を検索します | num_results: int, party: str (optional) | 最小の得票差 |
best_and_worst_results | ある政党にとって最良/最悪の選挙区を検索します | party: str, num_entries: int | 4カテゴリの実績概要 |
📚 リソース
| リソース | URI |
|---|---|
| すべての選挙区 | elections-canada://ridings |
| 単一の選挙区 | elections-canada://riding/{riding_code} |
| 州 | elections-canada://province/{province_code} |
📌 州コード
AB, BC, MB, NB, NL, NS, NT, NU, ON, PE, QC, SK, YT
📌 政党コード
LPC, CPC, NDP, BQ, GPC, PPC
📄 ライセンス
このプロジェクトは MIT License に基づいてライセンスされています。
© ThreeFortyThree Canada – threefortythree.ca
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。