mcpField
R
Riksdagen MCP Server

Riksdagen MCP Server

リモート
github.com/amrtini法務・行政177 週間前に更新
リポジトリ

Riksdagen MCP Server について

Riksdagen MCP Server は、Claude からスウェーデン議会のオープンデータアーカイブを検索し、文書リンクを取得するためのサーバーです。キーワード、文書種別、日付などで絞り込み、JSON、HTML、テキスト形式の URL リストを作成できます。

主な機能

  1. 01条件を指定した議会文書の検索
  2. 02利用可能な文書種別の一覧
  3. 03複数形式での文書リンク作成
  4. 04文書メタデータの取得

活用シーン

  1. 01特定の議題に関する議会文書を検索
  2. 02文書種別と議会年度で絞り込み
  3. 03検索結果のアクセスリンクを作成

MCP 対応

MCP サーバーは、スウェーデン議会アーカイブにアクセスするための文書検索、文書種別の取得、URL リスト作成ツールを提供します。

設定

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

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

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

ツール

詳細

Riksdagen MCP サーバー

このプロジェクトは、Claude がスウェーデン議会(Riksdagen)の文書アーカイブを検索し、URL を JSON 形式で取得できる Model Context Protocol(MCP)サーバーを実装しています。 このプロジェクトは Claude 3.7 を使用して生成されました。

概要

Riksdagen MCP サーバーは、スウェーデン議会のオープンデータアーカイブ内の文書を検索するツールを提供します。Claude は次の操作を行えます。

  1. さまざまな条件(キーワード、文書の種類、日付など)に基づいて文書を検索する
  2. 利用可能な文書の種類の一覧を取得する
  3. さまざまな形式(JSON、HTML、テキスト)で特定の文書の URL 一覧を作成する

前提条件

  • Python 3.9+
  • FastAPI
  • Uvicorn
  • MCP Python SDK
  • httpx

インストール

  1. このリポジトリをクローンします。

    git clone https://github.com/amrtini/riksdagen-mcp-server.git
    cd riksdagen-mcp-server
    
  2. 仮想環境を作成します。

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. 依存関係をインストールします。

    pip install fastapi uvicorn httpx mcp
    

    注:MCP Python SDK をリポジトリから直接インストールする必要がある場合があります。

    pip install git+https://github.com/modelcontextprotocol/python-sdk.git
    

サーバーの実行

  1. MCP サーバーを起動します。

    uvicorn mcp_riksdagen_server:app --host 0.0.0.0 --port 8000 --reload
    
  2. サーバーは http://localhost:8000 で利用できます。

MCP ツール

サーバーは次の MCP ツールを提供します。

1. riksdagen_search

さまざまな条件に基づいて Riksdagen アーカイブ内の文書を検索します。

パラメーター:

  • sok:検索語(任意)
  • doktyp:文書の種類(任意。例:「prop」、「mot」、「bet」)
  • rm:議会年度(任意。例:「2021/22」)
  • from_date:開始日(YYYY-MM-DD 形式、任意)
  • tom:終了日(YYYY-MM-DD 形式、任意)
  • sort:並べ替え順(任意。デフォルト:「rel」、選択肢:「rel」、「datum」、「beteckning」)
  • sortorder:並べ替え方向(任意。デフォルト:「desc」、選択肢:「desc」、「asc」)
  • limit:返す結果の最大数(任意。デフォルト:10)

戻り値: 文書の URL とメタデータを含む JSON オブジェクト。

2. riksdagen_get_document_types

Riksdagen アーカイブで利用可能な文書の種類の一覧を取得します。

戻り値: 文書の種類コードとその説明を対応付けた辞書。

3. riksdagen_create_url_list

指定した形式で Riksdagen の文書の URL 一覧を作成します。

パラメーター:

  • document_ids:文書 ID の一覧
  • format:文書の形式(デフォルト:「json」、選択肢:「json」、「html」、「text」)

戻り値: 文書の URL を含む JSON オブジェクト。

Claude での使用

Claude はこの MCP サーバーを使用して、Riksdagen アーカイブ内の文書を検索し、後続の処理に使う URL 一覧を生成できます。サンプルクライアントでは、サーバーとのやり取り方法を示しています。

Claude プロンプトの例
I want to search for documents in the Swedish Parliament archive about climate change (klimat in Swedish) from the last year. Can you help me find relevant motions and create a list of URLs to access them?

その後、Claude は MCP ツールを使用して次の操作を行えます。

  1. 「klimat」という語句を含む文書を検索する
  2. 議員提出法案(doktyp="mot")に絞り込む
  3. 議会年度を現在の年度に設定する
  4. 見つかった文書の URL 一覧を作成する

クライアントの使用

付属のクライアントでは、プログラムから MCP サーバーとやり取りする方法を示しています。

# Create the client
client = ClaudeRiksdagenClient()

# Search for documents
search_results = await client.search_documents(
    search_term="klimat",
    document_type="mot",
    parliamentary_year="2023/24",
    limit=5
)

# Create URL list for the found documents
doc_ids = [doc["id"] for doc in search_results["documents"]]
url_list = await client.create_url_list(doc_ids, format="json")

ライセンス

このプロジェクトは MIT ライセンスのもとで公開されています。詳細については LICENSE ファイルを参照してください。

謝辞

  • オープンデータ API を提供しているスウェーデン議会(Riksdagen)
  • 標準を開発した Model Context Protocol(MCP)チーム

コメント

MCP は初めてですか?

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

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