mcpField
R
Riksdagen MCP Server

Riksdagen MCP Server

远程服务
github.com/amrtini法律与政务177 周前更新
代码仓库

关于 Riksdagen MCP Server

Riksdagen MCP Server 让 Claude 查询瑞典议会开放数据档案,并获取文档链接。它支持按关键词、类型和日期等条件搜索,还可将文档 ID 转为 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 服务

本项目实现了一个 Model Context Protocol(MCP)服务,允许 Claude 搜索瑞典议会(Riksdagen)文档档案,并以 JSON 格式获取 URL。 本项目由 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 文件。

致谢

  • 感谢瑞典议会(Riksdagen)提供开放数据 API
  • 感谢 Model Context Protocol(MCP)团队制定此标准

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。