Token导航 LogoToken导航TokenDH.com
Sc Elections MCP logo
运维云端未说明官方来源来源级核验

Sc Elections MCP

MCP Server

南卡罗来纳州选举数据服务,整合两个公共数据源,提供15种工具用于研究候选人、竞选财务和官方披露信息。

工具数

15

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaude云端部署Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

asreynolds1000

提供方

asreynolds1000

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

区议会选举

南卡罗来纳州选举数据的MCP服务器。将两个公共数据源合并为15个工具,用于研究候选人、竞选财务和官方披露。

不需要API密钥 --所有数据均来自政府公共网站。

数据源

来源URL内容
SC道德委员会ethicsfiling.sc.gov竞选财务报告、捐款、支出、经济利益声明(SEI)
SC投票/VREMSvrems.scvotes.sc.gov选举名单、候选人备案、联系方式、备案文件

安装

克劳德桌面(最简单)

  1. 下载 sc选择-mcp.mcpb
  2. 双击文件
  3. 点击 安装

就是这样。试着问: *“谁申请竞选南卡罗来纳州州长?”*

克劳德代码

claude mcp add sc-elections -- npx -y sc-elections-mcp

手动配置

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "sc-elections": {
      "command": "npx",
      "args": ["-y", "sc-elections-mcp"]
    }
  }
}

需要 Node.js>=20.

工具

搜索和查找

工具描述关键参数
search_filers按姓名搜索候选人/官员(默认限制为50人,仅使用姓氏)name, limit?
list_filers_by_office查找某个办公室的所有申报人;仅当最近时,用平衡/活动ID进行丰富office, recent_only
get_filer_profile完整资料:地址、电话、职位、办公室candidate_filer_id, sei_filer_id
list_office_names从数据库中查找确切的办公室名称字符串(例如“50区房子”)keyword?

竞选资金

工具描述关键参数
get_campaign_summary开放/关闭的办公室、余额、捐款总额candidate_filer_id
get_campaign_reports列出已提交的报告(campaign_id已自动解析)candidate_filer_id, campaign_id?, office?
get_campaign_report_details报告的详细收入/支出明细report_id
get_contributions带有元数据标题、摘要模式和过滤器的贡献candidate_filer_id, campaign_id?, office?, summary?, year?, min_amount?, limit?
get_expenditures带有元数据标题、摘要模式和过滤器的支出candidate_filer_id, campaign_id?, office?, summary?, year?, min_amount?, limit?

跨候选人搜索

工具描述关键参数
search_expenditures全州所有候选人的搜索支出(默认限额200)candidate, vendor_name, office, year, amount, limit?
search_contributions全州所有候选人的搜索贡献(默认限制200)candidate, contributor_name, office, year, amount, limit?

经济利益声明

工具描述关键参数
get_sei_details职位、商业利益、收入、礼物、旅行、债权人、说客联系人sei_filer_id, report_year (可选)

候选人申请(SC投票)

工具描述关键参数
list_elections按类型和年份浏览选举;关键字过滤器+默认限制50election_type, year, keyword?, limit?
search_candidates在选举中搜索候选人(默认限制为50)-包括电话、电子邮件、地址election_id, limit?,加上可选过滤器
get_candidate_details通过文件下载链接提交详细信息(提交表格PDF,费用收据)candidate_id, election_id

ID如何连接

search_filers("name")
  → candidateFilerId, seiFilerId

get_filer_profile(candidateFilerId, seiFilerId)
  → campaignId (from openOffices / closedOffices)

Campaign tools use: campaignId + candidateFilerId
SEI tools use: seiFilerId
VREMS tools use: electionId → candidateId

工作流

研究已知候选人(伦理优先)

1. search_filers("mcmaster")
   → Henry McMaster: candidateFilerId: 27353, seiFilerId: 6579

2. get_contributions(candidate_filer_id: 27353, office: "Governor", summary: true)
   → Auto-resolves campaignId, returns top 20 donors + totals
   → Metadata header confirms: "Henry McMaster — Governor"

3. get_campaign_reports(candidate_filer_id: 27353)
   → Auto-resolves to most recent campaign

4. get_sei_details(6579)
   → Positions, income sources, business interests

对于有多个竞选活动的候选人,请使用 office 暗示或明确 campaign_id.

研究一场比赛(VREMS优先)

1. list_elections({ election_type: "Local", year: 2024, keyword: "Sumter" })
   → Only Sumter-area elections (not all 200+ local elections)

2. search_candidates({ election_id: "22152", status: "Elected" })
   → Who won each race — names, contact info, party

3. search_filers("winner name")
   → Bridge to Ethics: get candidateFilerId, seiFilerId
   → If no match, try last name only or spelling variations

4. get_campaign_summary(candidateFilerId)
   → Campaign finance overview

对于交错任期(如县议会),检查多个选举周期以找到所有现任成员。

关注金钱(交叉搜索)

1. search_expenditures({ vendor_name: "printing", year: 2024 })
   → All candidates who paid printing vendors in 2024

2. search_contributions({ contributor_name: "smith", office: "Governor" })
   → All contributions from "smith" to Governor races

3. search_expenditures({ candidate: "haley" })
   → Everything Haley's campaigns spent money on

注意事项

这两个数据源是独立的系统,没有共享的标识符:

  • 使用 list_filers_by_office 广泛的发现。 对于“谁申请了\[办公室\]”之类的问题,请使用 list_filers_by_office 随着 recent_only: true --它按办公室名称扫描整个道德委员会数据库,并通过竞选平衡、状态和campaignId丰富结果。需要10-15秒,但可以找到基于姓名或交叉搜索工具不可见的候选人。对尚未提交申请的候选人进行网络搜索作为补充。
  • 道德操守办公室的名称不一致。 候选人可以在端点之间拥有不同的办公室标签。使用 list_office_names 以发现数据库使用的确切字符串(例如“District 50 House”而不是“State House District 50”)。在交叉搜索工具中,使用尽可能广泛的匹配或按候选人姓名搜索。
  • 桥的名字,而不是ID。 VREMS和道德委员会使用不同的ID系统。要将VREMS候选人与其道德竞选财务数据联系起来,请使用按姓名搜索 search_filers.名称变化(昵称、后缀、娘家姓)可能需要仅使用姓氏重试。
  • “公开竞选”≠“在职” 候选人可以为他们从未赢得或不再担任的职位开设一个公开的竞选账户。使用VREMS选举结果(status: "Elected")确定现任官员。
  • 初步报告是早期信号。 道德委员会要求候选人在开始筹集或支出资金时提交初步报告,通常是在VREMS申请期开始前几周或几个月。在新候选人出现在VREMS之前,查找最近的初步报告以发现他们。
  • VREMS是对公职人员的权威。 道德委员会跟踪的是财务文件,而不是选举结果。只有VREMS显示谁报名,谁赢了,谁退了。
  • 所有数据都是公开的。 不需要API密钥或身份验证。
  • 归档数据存在处理滞后。 在下一个提交截止日期过去并处理报告之前,最近的活动可能不会出现。

发展

git clone https://github.com/asreynolds1000/sc-elections-mcp.git
cd sc-elections-mcp
npm install
npm run dev      # Run with tsx (hot reload)
npm run build    # Compile TypeScript to dist/
npm start        # Run compiled version

测试

所有工具都可以针对实时公共API进行测试,不需要mock或API密钥。

# Quick smoke test: start the server and verify it connects
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.1.0"}}}' | node dist/index.js

数据覆盖

道德委员会 涵盖了在南卡罗来纳州提交竞选财务报告或经济利益声明的任何人,从全州办公室(州长、司法部长)到当地消防区和学校董事会。SEI报告包括收入来源、商业利益、礼物、旅行、债权人和说客联系人。

SC投票/VREMS 涵盖了大选、特别选举和地方选举的候选人申请。CSV导出提供了丰富的联系人数据(电话、电子邮件、地址、申请费),这些数据仅通过HTML搜索是无法获得的。

许可证

麻省理工学院

作者

亚历克斯·雷诺兹(@阿斯雷诺1000)

目录标签

目录标签

TypeScriptClaude云端部署选举数据本地部署竞选财务候选人研究政府公开数据政治分析

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

15

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP