OpenTK モデル コンテキスト プロトコル サーバー
重要な帰属:このMCPサーバーは、 Bert Hubert氏が作成した優れたOpenTKプロジェクトのラッパーとして構築されています。OpenTKプロジェクトは、ユーザーフレンドリーなインターフェースを通じて、オランダ議会データへの前例のないアクセスを提供します。プロジェクトの詳細については、Bert氏の記事「 OpenTKへようこそ」をご覧ください。基盤となるデータアクセスと処理に関するすべての功績は、Bert Hubert氏と彼のオープンガバメントデータへの貢献に帰属します。
標準化されたインターフェースを介して、大規模言語モデル(LLM)とオランダ議会データをつなぐ橋渡しとなるMCPサーバー。このMCPサーバーは、オランダ議会の文書、討論、そしてTweede Kamer(トゥイーデ・カーマー)からの議員情報へのアクセスを提供します。
現実世界の自然言語インタラクションの例
例1:AI政策に関する政党の立場の比較
ユーザーからの質問:「オランダ下院におけるAI分野における野党PvdA、GroenLinks、Voltと与党BBBの活動を比較した場合、過去1年間に示した立場や見解に沿って、短期間で共同で実行できる行動は何でしょうか?OpenTKの情報源をご利用ください。」
例2:気候政策に関する国会の議論の調査
ユーザーからの質問:「オランダにおける気候変動政策と排出削減目標に関する最近の議会での議論を分析したいです。過去6ヶ月間の主要な議論と各政党の主な立場を特定するお手伝いをお願いできますか?」
例3: 特定の国会議員の投票記録に関する情報
ユーザークエリ:「ピーター・オムツィグト議員の医療改革法案に関する投票記録はどうですか?また、彼の立場は他の無所属議員とどう違いますか?彼はこの件に関して動議を提出したことがありますか?」
例4: 最近の住宅法の動向を調べる
ユーザークエリ: 「過去 1 年間の手頃な価格の住宅に関する法律に関して最も重要な議会文書と議論は何ですか。特に、賃貸市場の危機に対処する提案に興味があります。」
例5: 特定の委員会に所属する国会議員の検索
ユーザークエリ: 「現在、財務委員会と経済委員会の両方に所属している国会議員は誰ですか? 彼らはどの政党を代表していますか? また、最近共同イニシアチブを提出しましたか?」
例6:デジタルセキュリティに関する今後の議会活動の特定
ユーザーからの質問:「来月、サイバーセキュリティとデジタルインフラに関する委員会会議や討論会は予定されていますか?どの大臣が参加し、具体的にどのような議題が取り上げられる予定ですか?」
プロジェクトコンセプト
OpenTKプロジェクトは、標準化されたインターフェースを通じてオランダ議会データへのアクセスを提供するモデルコンテキストプロトコル(MCP)サーバーです。大規模言語モデル(LLM)とオランダ議会の情報システム間の橋渡しとして機能し、AIアシスタントによる議会文書、討論、議員情報の検索、取得、分析を可能にします。
サーバーは@modelcontextprotocol/sdk
を使用してMCP仕様を実装し、AIモデルと外部データソース間の構造化された通信を可能にします。OpenTKは、明確に定義されたツールとエンドポイントを通じて議会データを公開することで、AIアシスタントに以下の機能を提供します。
- 複雑なクエリを使用して議会文書を検索する
- 国会議員に関する情報にアクセスする
- さまざまな形式の公式文書を取得し、文書の全内容を読む
- 議会の活動と議事録を分析する
- 立法案件や政府の公約を追跡する
このプロジェクトでは、主要なデータ ソースとして Bert Hubert の tkconv サービスを活用しており、これはオランダ議会の公式 API よりもアクセスしやすい API を提供します。
インストール
1. NPM パッケージで Claude Desktop を使用する
Claude 構成ファイル (~/Library/Application Support/Claude/claude_desktop_config.json) を更新します。
2. ソースから
クローンリポジトリ:
依存関係をインストールします:
プロジェクトをビルドします。
サーバーを起動します。
2. Claudeデスクトップを設定する
Claude 構成ファイルを更新します。
/absolute/path/to/your/opentk-mcp/
実際のインストールパスに置き換えてください。
検索機能
検索機能は特に洗練されており、以下をサポートしています。
- 簡単なキーワード検索:
kunstmatige intelligentie
- 完全一致フレーズ検索:
"kunstmatige intelligentie"
- 除外検索:
Hubert NOT Bruls
- ブール演算子:
OR
、NEAR()
実装では、さまざまなエッジ ケースを処理します。
- 検索クエリで引用符を保持します
- 適切なコンテンツタイプヘッダーを使用する
- APIエラーに対するフォールバックメカニズムを実装します
- 意味のあるエラーメッセージを提供する
エラー処理
API サービスには堅牢なエラー処理が含まれています。
- API エラー (4xx、5xx) の適切な処理
- 複雑なクエリが失敗した場合は、単純化されたクエリにフォールバックします
- デバッグのための詳細なエラーメッセージ
- stderr への適切なログ記録 (stdout ではなく、stdio トランスポートが壊れる)
構成
サーバーは、主要なデータソースとしてBert Hubert氏のtkconvサービスに接続します。このサービスは、オランダ議会の公式APIよりもアクセスしやすいAPIを提供しています。Bert Hubert氏が開発したこのサービスは、オランダ議会のデータを収集、整理し、開発者にとって使いやすい形式で提供するという、非常に重要な役割を担っています。MCPサーバーはこの基盤の上に構築され、AIアシスタントがこの貴重なデータとやり取りするための標準化されたインターフェースを構築しています。
ライセンス
マサチューセッツ工科大学
結論
OpenTK MCPサーバーは、オランダ議会データへの堅牢で構造化されたインターフェースを提供し、モデルコンテキストプロトコル(MCP)を介してAIアシスタントによるアクセスを可能にします。モジュール設計、包括的なAPI、そして徹底したテストにより、AI支援による調査、分析、情報検索のための議会情報への信頼性の高いアクセスが保証されます。
設定が完了すると、Claude は OpenTK MCP サーバーを介してオランダ議会データにアクセスできるようになります。このサーバーは、上記の「使用方法」セクションで説明したすべてのツールを公開します。
Tools
大規模言語モデルとオランダ議会データ間の橋渡しとなり、Tweede Kamer からオランダ議会の文書、議論、議員情報へのアクセスを提供します。
Related MCP Servers
- AsecurityAlicenseAqualityAllows you to search for artworks, retrieve detailed information about specific artworks, access image tiles for artworks, and explore user-created collections from the Rijksmuseum.Last updated -75,58754JavaScriptMIT License
- -securityAlicense-qualityProvides access to Deutsche Bahn train timetables, station information, and schedule changes through Model Context Protocol tools and resources.Last updated -4TypeScriptMIT License
- AsecurityFlicenseAqualityProvides a structured interface to the Japanese National Diet Library's parliamentary proceedings API, allowing AI models to search and retrieve Diet meeting records and speeches.Last updated -3TypeScript
- AsecurityAlicenseAqualityProvides tools to query Dutch vehicle registration data through the official RDW open API, allowing users to look up vehicle information by license plate, retrieve fuel/emissions data, and search vehicles by brand and model.Last updated -15JavaScriptMIT License