Elections Canada MCP Server

Elections Canada MCP Server

site icon
2025.05.07 0
Python选举数据分析加拿大联邦选举政治研究工具位置服务
Elections Canada MCP Server 是一个基于模型上下文协议(MCP)的服务,主要用于查询和分析加拿大联邦选举数据。该服务器提供对三种数据源的访问:历史联邦选举数据(从2015年开始)、加拿大各选区的普查数据(包括人口统计信息如年龄、种族、性别、收入、教育、宗教等)以及当前各选区的选举预测。目前,该服务仅提供2021年加拿大联邦选举数据,并根据2023年重新划分的选区边界进行了调整。 核心功能包括查询和分析选举结果,支持按选区、省份和政党进行数据检索。该服务为threefortythree.ca/chat提供支持,并可将相同的数据洞察集成到本地模型中。
View on GitHub

Overview

基本能力

产品定位

Elections Canada MCP Server 是一个专门用于查询和分析加拿大联邦选举数据的服务,旨在为研究人员、政治分析人士和公众提供详细的选举数据支持。

核心功能

  1. 数据查询
  2. 获取所有选区的列表
  3. 查询特定选区的详细信息
  4. 获取特定省份的所有选区
  5. 选举分析
  6. 按名称搜索选区(不区分大小写和口音)
  7. 获取特定政党在选区的投票分布
  8. 获取特定选区的获胜政党
  9. 汇总省份选举结果
  10. 汇总全国选举结果
  11. 查找最接近的选区(基于投票差距)
  12. 获取特定政党的最佳和最差结果

适用场景

  1. 政治研究和分析
  2. 选举数据可视化
  3. 竞选策略制定
  4. 公众教育和信息获取

工具列表

  1. search_ridings(search_term):按名称搜索选区
  2. get_party_votes(riding_code, party_code):获取政党在选区的投票分布
  3. get_winning_party(riding_code):获取选区的获胜政党
  4. summarize_province_results(province_name_or_code):汇总省份选举结果
  5. summarize_national_results():汇总全国选举结果
  6. find_closest_ridings(num_results, party):查找最接近的选区
  7. best_and_worst_results(party, num_entries):获取政党的最佳和最差结果

常见问题解答

  1. 数据来源:2021年加拿大联邦选举数据,存储在datafiles/2021_riding_vote_redistributed_ElectionsCanada.json中。
  2. 省份代码:如AB(阿尔伯塔)、BC(不列颠哥伦比亚)等。
  3. 政党代码:如LPC(自由党)、CPC(保守党)等。

使用教程

使用依赖

  1. 确保已安装Python和pip。
  2. 推荐使用uv进行依赖管理。

安装教程

  1. 从PyPI安装bash pip install elections_canada_mcp_server
  2. 从源代码安装bash uv pip install -e . 开发依赖: bash uv pip install -e ".[dev]"

运行服务器

python server.py

调试方式

  1. 使用MCP Inspector进行调试: bash mcp dev server.py 这将打开一个Web界面,用于测试服务器的资源和工具。
  2. 在Claude Desktop中添加服务器:
  3. 打开Claude Desktop
  4. 转到Settings > MCP Servers
  5. 点击"Add MCP Server"
  6. 输入已安装服务器模块的路径

示例

  1. 查询2021年多伦多中心的选举结果。
  2. 查找2021年新民主党(NDP)获胜的最接近选区。
  3. 查询2021年保守党获胜且胜率最高的选区。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。