
Elections Canada MCP Server

2025.05.07
0
Python选举数据分析加拿大联邦选举政治研究工具位置服务
Elections Canada MCP Server 是一个基于模型上下文协议(MCP)的服务,主要用于查询和分析加拿大联邦选举数据。该服务器提供对三种数据源的访问:历史联邦选举数据(从2015年开始)、加拿大各选区的普查数据(包括人口统计信息如年龄、种族、性别、收入、教育、宗教等)以及当前各选区的选举预测。目前,该服务仅提供2021年加拿大联邦选举数据,并根据2023年重新划分的选区边界进行了调整。
核心功能包括查询和分析选举结果,支持按选区、省份和政党进行数据检索。该服务为threefortythree.ca/chat提供支持,并可将相同的数据洞察集成到本地模型中。
View on GitHub
Overview
基本能力
产品定位
Elections Canada MCP Server 是一个专门用于查询和分析加拿大联邦选举数据的服务,旨在为研究人员、政治分析人士和公众提供详细的选举数据支持。
核心功能
- 数据查询:
- 获取所有选区的列表
- 查询特定选区的详细信息
- 获取特定省份的所有选区
- 选举分析:
- 按名称搜索选区(不区分大小写和口音)
- 获取特定政党在选区的投票分布
- 获取特定选区的获胜政党
- 汇总省份选举结果
- 汇总全国选举结果
- 查找最接近的选区(基于投票差距)
- 获取特定政党的最佳和最差结果
适用场景
- 政治研究和分析
- 选举数据可视化
- 竞选策略制定
- 公众教育和信息获取
工具列表
search_ridings(search_term)
:按名称搜索选区get_party_votes(riding_code, party_code)
:获取政党在选区的投票分布get_winning_party(riding_code)
:获取选区的获胜政党summarize_province_results(province_name_or_code)
:汇总省份选举结果summarize_national_results()
:汇总全国选举结果find_closest_ridings(num_results, party)
:查找最接近的选区best_and_worst_results(party, num_entries)
:获取政党的最佳和最差结果
常见问题解答
- 数据来源:2021年加拿大联邦选举数据,存储在
datafiles/2021_riding_vote_redistributed_ElectionsCanada.json
中。 - 省份代码:如AB(阿尔伯塔)、BC(不列颠哥伦比亚)等。
- 政党代码:如LPC(自由党)、CPC(保守党)等。
使用教程
使用依赖
- 确保已安装Python和pip。
- 推荐使用
uv
进行依赖管理。
安装教程
- 从PyPI安装:
bash pip install elections_canada_mcp_server
- 从源代码安装:
bash uv pip install -e .
开发依赖:bash uv pip install -e ".[dev]"
运行服务器
python server.py
调试方式
- 使用MCP Inspector进行调试:
bash mcp dev server.py
这将打开一个Web界面,用于测试服务器的资源和工具。 - 在Claude Desktop中添加服务器:
- 打开Claude Desktop
- 转到Settings > MCP Servers
- 点击"Add MCP Server"
- 输入已安装服务器模块的路径
示例
- 查询2021年多伦多中心的选举结果。
- 查找2021年新民主党(NDP)获胜的最接近选区。
- 查询2021年保守党获胜且胜率最高的选区。