瑞典议会MCP服务器
该项目实现了一个模型上下文协议(MCP)服务器,允许Claude搜索瑞典议会(Riksdagen)文档档案并检索JSON格式的URL。 该项目是使用Claude 3.7生成的。
概述
瑞典议会MCP服务器提供搜索瑞典议会开放数据档案中文件的工具。它允许克劳德:
- 根据各种条件(关键字、文档类型、日期等)搜索文档
- 获取可用文档类型的列表
- 为各种格式(JSON、HTML、文本)的特定文档创建URL列表
先决条件
- Python 3.9+
- 快速 API
- 乌维科恩
- 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
根据各种标准在瑞典议会档案馆中搜索文件。
参数:
sok:搜索词(可选)doktyp:文档类型(可选,例如“道具”、“mot”、“赌注”)rm:议会年(可选,例如“2021/22”)from_date:从YYYY-MM-DD格式的日期开始(可选)tom:以YYYY-MM-DD格式表示的截止日期(可选)sort:排序顺序(可选,默认:“rel”,选项:“rel”、“datum”、“betecking”)sortorder:排序方向(可选,默认:“desc”,选项:“desc”,“asc”)limit:要返回的最大结果数(可选,默认值:10)
退货: 包含文档URL和元数据的JSON对象。
2.riksdagen_get_document_types
获取瑞典议会档案中可用文档类型的列表。
退货: 将文档类型代码映射到其描述的词典。
3.riksdagen_create_url_list
以指定格式为议会文件创建URL列表。
参数:
document_ids:文档ID列表format:文档格式(默认:“json”,选项:“json“、”html“、”text“)
退货: 包含文档URL的JSON对象。
与克劳德一起使用
Claude可以使用此MCP服务器搜索瑞典议会档案中的文档,并生成URL列表以供进一步处理。示例客户端演示了如何与服务器交互。
克劳德提示示例
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”一词的文档
- 运动文档筛选器(doktip=“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许可证获得许可-有关详细信息,请参阅许可证文件。
致谢
- 瑞典议会(Riksdagen)提供开放数据API
- 用于开发标准的模型上下文协议(MCP)团队
