UK Parliament - Open Data - Model Context Protocol Server について
英国議会の公式 API を通じてデータを調べる、旧版の .NET MCP サーバーです。MCP 対応アシスタントでの議会調査向けに、議員や法案、投票、Hansard などを扱い、参照元 URL も示します。開発は後継リポジトリに移っています。
主な機能
- 01議員と選挙区の検索
- 02法案、投票、委員会の調査
- 03Hansard と議会活動の照会
- 04公式 API の参照元 URL
活用シーン
- 01議員の経歴や投票記録の確認
- 02法案の段階や修正案の検索
- 03委員会の会議や証拠資料の調査
MCP 対応
英国議会のオープンデータ API を stdio の MCP ツールとして公開し、GitHub Copilot や Claude Desktop などのクライアントから利用できます。取得に使った API URL を参照元として返せます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🇬🇧 英国議会 AI アシスタント
MCP 対応の AI を、リアルタイムの議会調査デスクに変えましょう。
下院議員、貴族院議員、法案、投票、委員会、ハンサードなどについて質問できます。回答は公式の議会 API から取得され、毎回出典が示されます。
クイックスタート · 質問できる内容 · セットアップ · プロンプトの例 · 後継プロジェクト
重要
現在の開発は移行しました。 このリポジトリは元の .NET MCP ラボです。
継続的にメンテナンスされているプロジェクト(充実した CLI、より豊富なツール、継続的な修正を含む)はこちらです:
👉 ChrisBrooksbank/uk-parliament-data-mcp
| 機能 | このリポジトリ(レガシーラボ) | 後継プロジェクト |
|---|---|---|
| AI アシスタント向け MCP サーバー | ✅ .NET | ✅ Python(継続的にメンテナンス中) |
| コマンドラインインターフェース(CLI) | ❌ ここにはありません | ✅ あります — CLI は新しいリポジトリにのみあります |
| AIS/インストール不要のオプション | 限定的 | ✅ 拡充 |
| 継続的な機能強化と修正 | アーカイブ済み/活動低調 | ✅ 活発 |
現在、最良のエクスペリエンスを得たい場合(特にターミナルでのワークフロー)は、後継リポジトリから始めてください。
🎬 実際の動作を見る
AI アシスタントでの MCP
注記: Claude Code と MCP サーバーは、議会の PC での使用を許可されていません。このデモは議会以外の PC で録画されました。
自然言語で質問すると、アシスタントが MCP 経由で議会 API を呼び出し、出典付きの回答を返します。
MCP セッション — ライブツール、ライブデータ、出典 URL 付き。
後継プロジェクトの CLI
ターミナルを使いたいですか? CLI は新しいリポジトリにのみあります — このラボにはありません。
uk-parliament-data-mcp の CLI デモ — そちらでインストールして実行してください。
✨ このプロジェクトの目的
議会データは公開されていますが、多数の API に分散しています。このプロジェクトはそれらのエンドポイントを MCP ツールとして利用できるようにし、GitHub Copilot、Claude Desktop などのアシスタントや、ほかの MCP クライアントが次のことをできるようにします:
| メリット | 内容 |
|---|---|
| 🎯 根拠のある回答 | 回答はモデルの記憶だけに頼らず、公式の parliament.uk API から取得されます |
| 🔗 出典の透明性 | 役立つ回答には、使用した API URL をすべて記載できます |
| ⚡ 幅広い対象範囲 | 議員、法案、投票、委員会、ハンサード、質問、カレンダー、法定文書、条約、利益関係など… |
| 🧩 MCP が使える場所で利用可能 | VS Code Copilot Chat(エージェントモード)、Claude Desktop、その他の MCP ホスト |
免責事項: 非公式の独立プロジェクトです。英国議会が作成、承認、支援したものではありません。データは公開されている議会開発者向け APIから取得しています。
🚀 クイックスタート
1. 前提条件
- .NET SDK 9+
- Git
- MCP ホスト:VS Code(Copilot Chat)および/または Claude Desktop
2. クローン
git clone https://github.com/chrisbrooksbank-parliament/opendata-mcp-lab.git
cd opendata-mcp-lab
3. MCP ホストからサーバーに接続する
VS Code — コマンドパレット → MCP: Add Server → Command (stdio):
dotnet run --project C:\code\opendata-mcp-lab\OpenData.Mcp.Server\OpenData.Mcp.Server.csproj
(クローンした場所に合わせてパスを変更してください。)
Claude Desktop — claude_desktop_config.json(UTF-8)を編集し、Claude を完全に再起動します:
{
"mcpServers": {
"opendata-server": {
"command": "dotnet",
"args": [
"run",
"--project",
"C:\\code\\opendata-mcp-lab\\OpenData.Mcp.Server\\OpenData.Mcp.Server.csproj"
]
}
}
}
4. セッションを正しく開始する
最良の結果を得るには、必ずセッションプロンプトから開始してください(または 「Hello Parliament」 と入力してください)。
📋 必須のシステムプロンプト(クリックして展開)
You are a helpful assistant that answers questions using only data from UK Parliament MCP servers.
When the session begins, introduce yourself with a brief message such as:
"Hello! I’m a parliamentary data assistant. I can help answer questions using official data from the UK Parliament MCP APIs. Just ask me something, and I’ll fetch what I can — and I’ll always show you which sources I used."
When responding to user queries, you must:
Only retrieve and use data from the MCP API endpoints this server provides.
Avoid using any external sources or inferred knowledge.
After every response, append a list of all MCP API URLs used to generate the answer.
If no relevant data is available via the MCP API, state that clearly and do not attempt to fabricate a response.
Convert raw data into human-readable summaries while preserving accuracy, but always list the raw URLs used.
チャットのコンテキストを保持したまま接続を解除するには、「Goodbye Parliament」 と入力してください。または、新しいチャットを開始してください。
お試しください:
What is happening now in the House of Commons?
🗺 質問できる内容
| 分野 | 質問の例 |
|---|---|
| 🔴 リアルタイムの活動 | 現在、庶民院では何が行われていますか?貴族院の予定は何ですか? |
| 👥 議員 | …の選挙区選出議員は誰ですか?利害関係、経歴、投票記録、発言 |
| 📜 法案と立法 | 法案の詳細、段階、修正案、刊行物、ニュース |
| 🗳 投票と採決 | トピック、議員、または採決 ID による庶民院/貴族院の採決 |
| 🏛 委員会 | 委員構成、会議、書面/口頭の証拠資料、刊行物 |
| 📖 Hansard と議事手続き | 討論、Erskine May、口頭質問、日程/休会日 |
| 📍 選挙区 | 選挙区の検索、選挙結果 |
| 📄 公式文書 | 委任立法、条約、法律 |
| 💎 透明性 | 利害関係の登録簿と分類 |
🛠 セットアップ
VS Code + Copilot Chat
Ctrl+Shift+P→ MCP: Add Server → Command: Stdio- 上記の
dotnet run --project …コマンドを入力します - MCP: List Servers → サーバーを起動します
- Copilot Chat を開き、Agent モードにして、このサーバーのツールを有効にします
- システムプロンプト(または Hello Parliament)を貼り付けてから、質問します
- 求められたら、ツール/権限の確認を承認します
Claude Desktop
- Settings → Developer → Edit Config
- Quick start に記載されている
mcpServersブロックを追加します - UTF-8 で保存し、Claude を完全に終了してから再起動します
- Developer の画面でサーバーが実行中であることを確認し、システムプロンプトを使ってテストします
任意:リポジトリの .mcp.json
このクローンには、ビルド済みのサーバーバイナリを参照するサンプルの .mcp.json が含まれています。OpenData.Mcp.Server をすでにビルドしている場合を除き、dotnet run --project … を使用してください。
💡 プロンプトのヒント
| ヒント | 効果 |
|---|---|
| ✅ システムプロンプト/Hello Parliament から開始する | 回答を MCP データに限定し、ソース URL を必ず提示させます |
🆕 行き詰まったら新しいチャット(+)を開始する | ループや古いコンテキストをクリアします |
| 🔗 「今使った API URL を見せてください。」 | 検証用の引用を再表示します |
| 🧠 議院をまたぐ質問 | 例:「チェルムズフォードは庶民院または貴族院で言及されていますか?」 |
| 🧾 「直前の MCP 呼び出しの JSON を見せてください。」 | 生のペイロードをデバッグできます |
想定される引用形式の例:
https://members-api.parliament.uk/api/Members/Search?Name=…
💬 プロンプトの例
リアルタイムの活動
- 現在、両院では何が行われていますか?
- 現在、庶民院/貴族院では何が行われていますか?
議員
- Sir Keir Starmer の利害関係を見せてください
- Boris Johnson は誰ですか?/議員番号 1471 の人物は誰ですか?
- 議員 ID に対応する経歴、連絡先、利害関係、発言、投票記録
- 議員 172 の肖像写真/サムネイル
法案
- 漁業/環境に関する最近の法案
- 法案 425 の詳細、段階、修正案、刊行物、ニュース
- 法案の種類、段階のカタログ、RSS フィード
投票
- 「refugee」/「climate」/「brexit」に関する庶民院の採決を検索する
- ID による庶民院または貴族院の採決。結果は政党別にグループ化
委員会
- 女性問題/医療に関する委員会
- 委員会 ID に対応する会議、委員、書面および口頭の証拠資料
手続き、ハンサード、カレンダー
- Erskine May でメイスを検索
- 口頭質問の時間;トピックと日付範囲を指定してハンサードを検索
- 政党、省庁、回答機関
- 庶民院のカレンダー;休会日
場所、文書、透明性
- 「london」を含む選挙区;選挙区 ID による選挙結果
- 港湾に関する SIs;道路に言及する法律;スペインが関与する条約
- 利益カテゴリーと公開済みの登録簿
パワーユーザー向け
- 貼り付けたこの API 結果の全データを表示:
{…} - 直近の MCP 呼び出しの JSON / API URL を表示
- 環境省の 172 番の議員が提出した法案
- 2 つの日付の間に開催される気候変動に関する委員会の会議
🏗 このリポジトリの内容
opendata-mcp-lab/
├── OpenData.Mcp.Server/ # .NET MCP server (stdio tools)
│ ├── Tools/ # Members, Bills, Votes, Hansard, …
│ └── Context/ # API shape notes for tools
├── context/ # Shared API context for LLMs
├── mcp-demo.gif # MCP assistant demo
├── cli-demo.gif # CLI demo (successor project only)
└── README.md
技術スタック: .NET 9 · MCP stdio トランスポート · 公式の英国議会 HTTP API
ここには含まれていません: 完全版の CLI、PyPI パッケージ化、新しいホスト連携 — これらは
uk-parliament-data-mcp のみに含まれています。
📌 アクティブな開発は移行しました
| このリポジトリ | .NET の歴史的な実験用リポジトリ/リファレンス MCP サーバー |
| 新たな開発はこちら | github.com/ChrisBrooksbank/uk-parliament-data-mcp |
| CLI | 後継リポジトリのみ |
| パッケージ | PyPI:uk-parliament-mcp(後継) |
この実験用リポジトリへの Issue や PR も、.NET 固有の情報として引き続き役立つ場合がありますが、機能開発は新しいプロジェクトで進めています。
🤝 コントリビューションとフィードバック
アイデア、修正、API カバレッジに関する提案を歓迎します。積極的にメンテナンスされているプロジェクト(CLI を含む)については、後継リポジトリで Issue または PR を作成してください。
好奇心と精査、そしてより良い議会質問のために — 公開オープンデータを活用しています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。