英国议会AI助手
该项目帮助像Microsoft Copilot这样的AI助手使用来自英国议会的全面官方数据来回答问题。它充当桥梁,使AI能够直接从源头获取最新、可靠的信息,涵盖议员、法案、投票记录、委员会、辩论、程序等。
🔥 必要条件:系统提示(最佳结果所需!)
重要:在开始新对话时,您必须使用起始系统提示。这对于准确响应至关重要。
最简单的方法是在所有新的对话中以“你好,议会”作为开头。
或者您可以复制并粘贴以下内容:
您是一个使用仅来自英国议会MCP服务器的数据来回答问题的帮助助手。
当会话开始时,请用简短的消息介绍自己,例如:
“你好!我是议会数据助手。我可以使用来自英国议会MCP API的官方数据来帮助回答问题。只需问我一些问题,我会尽力提供答案——并且我总是会显示我使用的来源。”
在回应用户查询时,您必须:
仅检索并使用此服务器提供的MCP API端点中的数据。
避免使用任何外部来源或推断的知识。
在每次响应后,附上生成答案所使用的所有MCP API URL列表。
如果通过MCP API无法获得相关数据,请明确说明,并不要尝试编造答案。
将原始数据转换为人类可读的摘要,同时保持准确性,但始终列出使用的原始URL。
我可以问什么?
您可以询问关于英国议会数据几乎所有方面的信息。这里是一些关键领域:
- 实时议会活动:“现在下议院发生了什么?” 或 “现在上议院正在讨论什么?”
- 议员:“告诉我关于鲍里斯·约翰逊的一切”,“基尔·斯塔默爵士的注册利益是什么?” 或 “展示成员4129的投票记录”
- 法案与立法:“展示法案425的详细信息”,“对法案425提出了哪些修正案?” 或 “环境法案有哪些出版物?”
- 投票记录:“议员们如何投票支持气候变化动议?” 或 “展示上议院关于医疗保健政策的投票”
- 委员会与调查:“哪些委员会正在调查经济问题?” 或 “展示提交给财政部委员会的证据”
- 议会程序:“搜索Erskine May中关于议长裁决的引用” 或 “本周的口头提问时间是什么时候?”
- 选区与选举:“展示伯明翰选区的选举结果” 或 “列出苏格兰的所有选区”
- 官方文件:“有关住房的法定工具书有哪些?” 或 “涉及贸易协定的条约有哪些?”
- 透明度数据:“展示财政部部长的利益登记册” 或 “声明利益类别是什么?”
断开与议会的连接
开始新的聊天会话,或为了保持上下文但断开与议会MCP服务器的连接,提示:“再见,议会”
它是如何工作的?
当您向连接到此工具的AI助手提问时,它不会只是猜测答案。相反,助手使用此项目查询官方英国议会数据库,并根据找到的数据提供响应。
这意味着您得到的答案更有可能是准确且基于事实的。
安装和使用指南
本项目使用模型上下文协议(MCP),使大型语言模型(LLMs/AIs)能够访问公共英国议会数据。
它使AI工具(如Microsoft Copilot)能够回答关于英国议会数据的问题,前提是它们支持MCP协议。
✅ 本项目提供了全面覆盖的英国议会数据,包括成员、法案、修正案、投票记录、委员会、辩论、程序、选区和官方文件。
正在持续添加额外的数据源和端点。
由于涉及到AI,某些响应可能不准确。请参阅下面的“提示技巧”以提高可靠性。
安装及设置
本节解释如何配置Visual Studio Code中的Microsoft Copilot,以便通过MCP服务器查询英国议会数据。
先决条件
确保已安装以下内容:
克隆并打开项目
git clone https://github.com/chrisbrooksbank-parliament/opendata-mcp-lab.git
cd opendata-mcp-lab
或者手动下载并在VS Code中打开文件夹。
在Claude桌面应用程序中添加MCP服务器
- 打开claude桌面应用程序
- 点击设置
- 点击开发者标签
- 点击编辑配置
- 编辑文件并保存为UTF-8编码
- 退出claude(如有需要,使用TaskMon),然后重新启动
- 再次打开开发者标签并检查是否运行正常
- 输入系统提示并测试其工作情况
示例claude_desktop_config.json文件内容:
{
"mcpServers": {
"opendata-server": {
"command": "dotnet",
"args": [
"run",
"--project",
"C:\\code\\opendata-mcp-lab\\OpenData.Mcp.Server\\OpenData.Mcp.Server.csproj"
]
}
}
}
在VS Code中添加MCP服务器
- 按
Ctrl+Shift+P 打开命令面板。
- 选择 MCP: 添加服务器。
- 选择 命令:标准输入输出。
- 输入以下命令(如有必要调整路径):
dotnet run --project C:\code\opendata-mcp-lab\OpenData.Mcp.Server\OpenData.Mcp.Server.csproj
- 按 Enter。
启动服务器
- 再次按
Ctrl+Shift+P。
- 选择 MCP: 列出服务器。
- 点击您刚刚添加的服务器并选择 启动服务器。
第一次交互
- 在VS Code中打开 Copilot Chat。
- 使用左下角的下拉菜单设置 代理模式。
- 选择您偏好的模型,例如Claude Sonnet 4。
- 点击 配置工具,并从新添加的MCP服务器中选择所有工具。
- (输入系统提示后)尝试如下提示:
现在下议院发生了什么?
- 接受任何权限请求以允许MCP调用。
提示技巧
✅ 系统提示
始终以本指南顶部定义的系统提示开始您的会话。这是确保AI助手保持正轨、仅使用提供的数据并正确引用其来源的关键步骤。
🔄 清晰上下文
如果:
使用 + 图标(新建聊天)。
🔗 重新显示API URL
虽然AI被指示自动列出源URL,但您可以在任何时候要求再次显示它们。这在故障排除或您只是想重新确认上次响应的来源时非常有用。
您可以询问:
显示您刚才使用的API URL。
示例响应:
刚才用于检索鲍里斯·约翰逊信息的API URL是:
https://members-api.parliament.uk/api/Members/Search?Name=Boris%20Johnson
🧠 结合多个来源的数据
示例:
切尔姆斯福德在下议院或上议院中被提及了吗?
AI可能会:
- 查询下议院和上议院Hansard
- 组合结果
- 如果请求提供更多细节
🧾 查看原始JSON
为了调试或检查原始数据结构,您可以要求助手显示其最后一次API调用返回的完整JSON响应。这对于希望了解AI在总结之前确切处理了哪些信息的开发人员特别有用。
示例提示:
显示最后一次MCP调用返回的JSON。
示例提示
🏛️ 实时议会活动
- 下议院和上议院现在发生了什么?
- 下议院现在发生了什么?
- 上议院现在发生了什么?
👥 议员
- 展示基尔·斯塔默爵士的兴趣
- 鲍里斯·约翰逊是谁?
- 成员ID 1471是谁?
- 获取成员172的传记
- 展示成员4129的联系详情
- 成员3743的注册兴趣是什么?
- 展示成员172的最近贡献
- 成员4129的下议院投票记录是什么?
- 成员3743的上议院投票记录是什么?
- 展示成员1471的专业经验
- 成员172专注于哪些政策领域?
- 展示成员1471提交的早期动议
- 获取成员4129的选区选举结果
- 展示成员172的肖像和缩略图图像
📜 法案与立法
- 最近有哪些关于捕鱼的法案?
- 哪些法案最近进行了更新?
- 展示法案425的详细信息
- 法案425经过了哪些阶段?
- 对法案425第15阶段提出的修正案是什么?
- 展示法案425第115阶段的修正案1234
- 法案425有哪些出版物?
- 关于法案425有哪些新闻文章?
- 展示所有可用的法案类型
- 法案可以经历的不同阶段是什么?
- 搜索包含单词“环境”的法案
- 获取所有法案的RSS订阅
- 获取仅公共法案的RSS订阅
- 获取法案425的RSS订阅
🗳️ 投票与分歧
- 搜索下议院分歧中的关键词“难民”
- 展示下议院分歧1234的详细信息
- 展示上议院分歧5678的详细信息
- 按政党分组搜索关键词“气候”的下议院分歧
- 按政党分组搜索成员3743的上议院分歧
- 匹配搜索词“脱欧”的分歧有多少?
🏢 委员会与调查
- 哪些委员会专注于女性问题?
- 列出2024年11月安排的委员会会议
- 展示委员会789的详细信息
- 委员会789举办了哪些事件?
- 委员会789的成员是谁?
- 搜索关于医疗保健的委员会出版物
- 展示提交给委员会789的书面证据
- 展示委员会789听证会上的口头证据
- 所有委员会类型是什么?
🏛️ 议会程序
- 搜索Erskine May中关于权杖的引用
- 展示2024年11月提出的问题的口头提问时间
- 搜索2024年11月关于脱欧的Hansard贡献
- 存在哪些政府部门?
- 议会中的回答机构是什么?
- 下议院有哪些政党代表?
- 上议院有哪些政党代表?
- 展示2024年12月下议院的日历事件
- 2025年1月议会何时休会?
📍 选区与选举
- 列出所有英国选区
- 展示选区4359的选举结果
- 搜索包含“伦敦”的选区
💰 透明度与利益
- 列出所有成员利益类别
- 获取已发布的利益登记册
- 展示上议院成员的工作人员利益
- 搜索成员1471的利益登记册
📋 官方文件与出版物
- 是否有任何关于港口的法定工具书?
- 搜索提到道路的议会法案
- 涉及西班牙的条约有哪些?
- 可用于法案的出版物类型有哪些?
- 展示出版物456中的文档123
🔍 高级查询
- 显示从这个粘贴的API结果中获取的全部数据:{粘贴API结果}
- 显示最后一次MCP调用返回的JSON
- 显示您刚才使用的API URL
- 搜索由环境部成员172发起的法案
- 查找2024年11月至12月之间关于气候变化的所有委员会会议
最后的想法
该项目正处于积极开发中,计划增加数据覆盖范围并改进交互质量。欢迎贡献和反馈。