关于 Riksdagen MCP Server
Riksdagen MCP Server 让 Claude 查询瑞典议会开放数据档案,并获取文档链接。它支持按关键词、类型和日期等条件搜索,还可将文档 ID 转为 JSON、HTML 或文本格式的 URL 列表。
主要功能
- 01按条件搜索议会文档
- 02列出可用文档类型
- 03生成多种格式的文档链接
- 04返回文档元数据
适用场景
- 01查找特定议题的议会文件
- 02按文档类型和议会年度筛选
- 03为检索结果生成访问链接
MCP 相关
该 MCP 服务向客户端提供文档搜索、文档类型查询和 URL 列表生成工具,用于访问瑞典议会档案。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
http://localhost:8000claude mcp add --transport http riksdagen http://localhost:8000{"mcpServers":{"riksdagen":{"type":"http","url":"http://localhost:8000"}}}在 Cursor 中打开{"servers":{"riksdagen":{"type":"http","url":"http://localhost:8000"}}}在 VS Code 中打开{"mcpServers":{"riksdagen":{"type":"http","url":"http://localhost:8000"}}}{"mcpServers":{"riksdagen":{"serverUrl":"http://localhost:8000"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Riksdagen MCP 服务
本项目实现了一个 Model Context Protocol(MCP)服务,允许 Claude 搜索瑞典议会(Riksdagen)文档档案,并以 JSON 格式获取 URL。 本项目由 Claude 3.7 生成。
概述
Riksdagen MCP 服务提供了用于搜索瑞典议会开放数据档案中文档的工具。它允许 Claude:
- 根据各种条件(关键词、文档类型、日期等)搜索文档
- 获取可用文档类型列表
- 以多种格式(JSON、HTML、文本)为特定文档创建 URL 列表
前提条件
- Python 3.9+
- FastAPI
- Uvicorn
- MCP Python SDK
- httpx
安装
-
克隆此仓库:
git clone https://github.com/amrtini/riksdagen-mcp-server.git cd riksdagen-mcp-server -
创建虚拟环境:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
安装依赖项:
pip install fastapi uvicorn httpx mcp注意:你可能需要直接从 MCP Python SDK 的仓库安装:
pip install git+https://github.com/modelcontextprotocol/python-sdk.git
运行服务
-
启动 MCP 服务:
uvicorn mcp_riksdagen_server:app --host 0.0.0.0 --port 8000 --reload -
服务将在 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 工具来:
- 搜索包含“klimat”一词的文档
- 筛选动议文档(doktyp="mot")
- 将议会年度设为当前年度
- 为找到的文档创建 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)团队制定此标准
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。