mcpField
C
civiq

civiq

远程服务
civdotiq.org法律与政务0今天更新

关于 civiq

civiq 是覆盖美国联邦和州政府的 MCP 服务及公民数据平台,提供有来源依据的记录和统计分析,涉及代表、立法、竞选财务与游说等;不覆盖地方政府。

主要功能

  1. 01联邦和州代表信息
  2. 02法案、投票和委员会
  3. 03联邦竞选财务
  4. 04游说和股票交易分析
  5. 05选区与法规数据

适用场景

  1. 01研究代表及其投票记录
  2. 02追踪竞选资金与立法活动
  3. 03对照法案和游说申报
  4. 04查看选区数据与公共法规

MCP 相关

MCP 服务为 AI 助手提供查询 CIV.IQ 公民数据和分析的工具。README 写明提供 46 个工具,标语则列出 47 个。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://civdotiq.org/api/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

CIV.IQ

CIV.IQ

来自政府来源的公民信息,整理后供公众使用。

civdotiq.org • API 参考 • 参与贡献 • 许可证

CI 状态 许可证:Apache-2.0 @civiq/sdk 在 npm 上的版本

civdotiq.org 上的 CIV.IQ 议员档案:密歇根州参议员 Gary C. Peters,包含党派、当前任期、下次选举、联系方式,以及唱名表决、提案法案、筹款金额和委员会的数量。


项目简介

一个公民信息平台。输入地址,即可查找您的联邦和州级代表,并查看他们的投票记录、联邦竞选财务、委员会任职情况、立法活动,以及由机器学习驱动的政治金钱模式分析。本平台不涵盖市、县等地方政府。地方记录缺乏统一标准或中央来源;CIV.IQ 计划仅在存在经过核实的公共来源后才纳入这些记录。

数据来自官方政府记录。大多数数据直接通过政府机构的 API 或批量文件读取;部分数据通过具名开放数据集读取,例如州议会数据来自 OpenStates,解析后的《股票法案》申报数据来自 Congress Trading Monitor。所有分析均为统计分析,并公开置信度评分和方法。如果数据不可用,界面和响应内容会明确说明。绝不捏造数据。

如实呈现的覆盖范围矩阵:docs/COVERAGE.md。这是关于“CIV.IQ 实际涵盖什么?”的权威说明;本 README 中的其他所有说法均以该页面为准。

功能

代表:联邦和州立法者,包含照片、联系信息、委员会任职情况和投票记录。

竞选财务:仅限联邦层面——FEC 捐款、PAC 支出、支出追踪和捐赠者行业分析。目前不提供州级竞选财务信息(FollowTheMoney.org 在 OpenSecrets 合并期间处于维护模式)。

情报层:统计分析器会交叉参照投票记录、竞选财务、游说申报、股票交易和委员会管辖范围,以揭示可能存在影响力的模式。每条洞察都附有置信度评分、方法说明,以及相关性不代表因果关系的免责声明。

资金报告:基于地址的查询,可追踪从竞选捐款、委员会任职到特定代表立法结果的资金流向。

法规与意见征集期:集成 Federal Register,涵盖拟议规则、最终规则、行政命令和开放的公众意见征集期。

州立法机构:通过 OpenStates 覆盖全部 50 个州,包括立法者、法案、委员会和日程。按立法者查询投票历史的功能正在开发中。为全部 7,383 个州立法选区提供交互式选区边界地图。州级竞选财务、游说和股票交易数据不属于州级覆盖范围。

地方政府:暂不覆盖(城市/县)。地方记录缺少通用标准或中央数据源;CIV.IQ 计划仅在存在经过验证的公共数据源后才添加相关内容。

选区情报:人口统计、经济指标(BLS 就业数据)、联邦支出(USASpending)、基础设施指标,以及按与各国会选区相关性排序的法案。

Nostr 发布:公民事件(新法案、投票、听证会)经过签名后发布到 Nostr 网络,以实现去中心化、可验证的分发。

开发者集成

集成提供内容
OpenAPI 规范39 个端点、38 个架构——可使用任何语言生成客户端
@civiq/sdk零依赖 TypeScript 客户端(npm install @civiq/sdk)
MCP 服务为 AI 助手(Claude、Cursor 等)提供 46 个工具
Atom 源与 RSS 兼容的法案、成员、选区和委员会源
可嵌入组件可直接使用的 HTML,适用于立法者卡片、选区查询和法案状态
llms.txt便于 AI 发现的文档

数据来源

来源提供内容
Congress.gov v3法案、成员、委员会、听证会
FEC.gov竞选捐款、支出、PAC 申报
U.S. Census Bureau地理编码、人口统计数据、选区边界(TIGER)
Senate.gov XML参议院议场投票、唱名表决
House Clerk XML众议院投票记录
GovInfo听证会文字记录、立法文件
Federal Register行政命令、拟议规则、意见征询期
USASpending.gov v2按选区划分的联邦合同、拨款、奖励
LDA (lda.gov)游说披露申报
Bureau of Labor Statistics就业、工资、劳动力数据
SEC EDGAR公司申报文件
FRED美联储经济指标
Regulations.gov对拟议规则的公众意见
OpenStates(开放数据集)各州议员、法案、委员会(全部 50 个州)
Congress Trading Monitor(开放数据集)两院议员依据 STOCK Act 进行的交易,解析自众议院和参议院官方申报
Wikidata(开放数据集)州级行政长官、州司法机构

表格列出了主要来源。其他联邦机构数据集(CDC PLACES、CMS、FEMA、FBI、FDIC、VA、Treasury、CFPB、NHTSA、EPA、College Scorecard 等)为选区和情报功能提供支持。CIV.IQ 总共读取 40 个数据来源:29 个政府来源和 11 个开放数据集。完整列表和计数规则见 docs/COVERAGE.md。

所有数据均非伪造或生成。来源不可用时,响应会明确说明。

设置

git clone https://github.com/civdotiq/civ.iq.git
cd civ.iq
npm install
cp .env.example .env.local

将 API 密钥添加到 .env.local。这些密钥均可免费获取:

# Required
CONGRESS_API_KEY=       # api.congress.gov/sign-up
FEC_API_KEY=            # api.open.fec.gov/developers
CENSUS_API_KEY=         # api.census.gov/data/key_signup.html
OPENSTATES_API_KEY=     # openstates.org/accounts/profile

# Recommended
UPSTASH_REDIS_REST_URL= # upstash.com (caching)
UPSTASH_REDIS_REST_TOKEN=
GOOGLE_GENERATIVE_AI_API_KEY= # aistudio.google.com/apikey (AI summaries)

# Optional (enhanced features)
FRED_API_KEY=           # fredaccount.stlouisfed.org/apikeys
DATA_GOV_API_KEY=       # api.data.gov/signup (Regulations.gov)
GOVINFO_API_KEY=        # api.govinfo.gov/docs

完整列表见 .env.example,其中还包括 Nostr 发布和 ActivityPub 联邦功能所需的密钥。

npm run dev

在 localhost:3000/api/health 验证。

结构

src/
├── app/
│   ├── api/                  # API routes (public contract: /api/v1 + openapi.json)
│   └── (civic)/              # Pages (representatives, districts, legislation, etc.)
├── components/
│   ├── intelligence/         # Insight cards, leaderboards, influence chains
│   └── ...                   # Shared UI, search, visualizations
├── features/                 # Feature modules
│   ├── campaign-finance/
│   ├── legislation/
│   ├── representatives/
│   └── state-legislature/
├── lib/
│   ├── intelligence/         # Analyzers, ML models, embeddings, entity resolution
│   ├── nostr/                # Nostr event signing and relay publishing
│   ├── data-sources/         # Federal Register, FRED, SEC, lobbying services
│   └── ...                   # API clients, services, utilities
├── hooks/                    # Custom React hooks
└── types/                    # TypeScript definitions
packages/
├── sdk/                      # @civiq/sdk (TypeScript API client)
├── civic-statistics/         # @civiq/civic-statistics (confidence scoring, correlation)
└── entity-resolution/        # @civiq/entity-resolution (entity matching, deduplication)

技术栈

Next.js 16、React 18、TypeScript(严格模式)、Tailwind CSS、SWR、Zustand、MapLibre GL、D3.js、Recharts、Redis(Upstash + ioredis)、Zod、simple-statistics、HuggingFace Transformers(小型模型)、Google Gemini AI、nostr-tools。

智能分析层

17 个统计分析器交叉关联联邦数据领域:

分析器计算内容
财务-管辖权重叠成员的捐款人所属行业与其委员会管辖范围的重叠程度
投票-财务一致性成员在其主要捐款人所属行业相关法案上的投票占比
党派投票一致性根据真实唱名表决记录,成员与所属党派多数意见一致投票的频率
投票趋势变化按季度统计的党派投票一致性,以及委员会、捐款和选举事件
两院基准各院及党派在投票数、缺席投票数和党派投票一致性方面的中位数(同侪基准)
游说流程针对某委员会的游说申报,按议题分组并与法案匹配
PAC 至投票追踪PAC 的受款对象,以及他们在该 PAC 关注的议题领域中的投票情况
股票与委员会重叠成员所监管行业内的《STOCK 法案》交易
股票交易排行榜按交易次数、交易金额或延迟申报情况对成员排名
行业排行榜每位成员在某一捐款人所属行业相关法案上的赞成票比例
影响链游说 → 捐款 → 委员会 → 匹配法案 → 投票的路径
影响关系图在影响链基础上扩展相关法规、执法行动和法院案件
时间邻近性时间模式,例如在相关投票前 90 天内收到捐款
法案智能分析提案人的资金来源与法案政策领域的对照,以及法案文本与游说文本的相似度
执法按行业、州或组织统计 EPA 和 OSHA 的执法行动以及 CFPB 的投诉
《联邦公报》信息提取从规则序言中提取行业、成本和时间线
公民简报一页式代表简报:优先呈现统计数据和模式检测结果,然后提供 AI 摘要

代码中还有一个法规分析器,但未列出,因为没有任何地方调用它。

每条洞察均包含:置信度评分(0–1)、数据截至时间戳、方法说明,以及相关性不代表因果关系的免责声明。

ML 流水线

所有模型都体量较小,并通过 HuggingFace Transformers 在服务器端运行。将 CIVIQ_ML_PIPELINES=off 设为关闭状态即可禁用这些模型。

  • 文本相似度:使用 all-MiniLM-L6-v2 嵌入来匹配法案与游说内容,并对法案进行行业分类
  • 分类:使用 nli-deberta-v3-xsmall 进行零样本法案行业分类
  • 命名实体识别:使用 distilbert-NER(ONNX)从《联邦公报》序言中提取实体
  • 影响力集群:通过离线 Python 计算(scripts/compute-influence-clusters.py),并以 JSON 格式提供
开源软件包

三个软件包被提取为独立的 npm 工作区软件包:

  • @civiq/sdk — TypeScript API 客户端,涵盖 9 种资源的 33 个类型化方法,并提供错误层级结构和自定义 fetch 注入
  • @civiq/civic-statistics — 置信度评分、同侪比较、相关性(Spearman/Pearson)、异常检测和样本量约束
  • @civiq/entity-resolution — 委员会别名解析、股票代码到行业的映射,以及 FEC 受款人去重

命令

npm run dev            # Dev server at localhost:3000
npm run build          # Production build
npm run lint           # ESLint
npm run type-check     # TypeScript strict check
npm test               # Run all tests (Jest)
npm run test:e2e       # Playwright end-to-end tests
npm run validate:all   # lint + type-check + test + build
npm run diagnose:apis  # Test API connectivity

package.json 中定义了用于性能基准测试、数据/机器学习处理和安全扫描的其他脚本。

贡献

请参阅 CONTRIBUTING.md。

许可证

Apache License 2.0。版权所有 2019-2026 Mark Sandford。

可使用、修改和分发。请根据 Apache 2.0 第 4 条,附上版权声明、许可证和 NOTICE 文件。欢迎署名,但并非必须:“Powered by CIV.IQ.” API 提供的政府数据属于公有领域。@civiq/* npm 包采用 MIT 许可证。CIV.IQ 名称和徽标是商标,使用前须获得书面许可。请参阅 LICENSE 和 NOTICE。


Mark Sandford - [email protected]

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。