OpenFEC Server MCP 服务器使用说明

项目简介

OpenFEC Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM)客户端提供访问美国联邦选举委员会 (FEC) 公开的竞选财务数据的能力。通过此服务器,LLM 可以调用预设的工具来查询候选人、委员会、财务报告、捐款记录等信息,从而增强 LLM 在政治、选举和政府数据分析方面的应用能力。

主要功能点

  • 候选人数据查询: 检索候选人的详细信息,包括基本信息和财务数据。
  • 委员会数据查询: 获取委员会的详细信息。
  • 财务数据查询: 查询候选人的财务状况、个人捐款、独立支出等。
  • 文件数据查询: 检索 FEC 的官方文件。
  • 批量数据下载: 获取 FEC 批量数据下载链接。
  • 速率限制: 为了遵守 OpenFEC API 的使用条款,服务器实施了速率限制,防止请求过载。

安装步骤

  1. 克隆仓库

    git clone https://github.com/psalzman/mcp-openfec
    cd mcp-openfec
  2. 安装依赖 确保已安装 Node.js (v16 或更高版本) 和 npm。

    npm install
  3. 配置 OpenFEC API 密钥 在项目根目录下创建 '.env' 文件,并添加您的 OpenFEC API 密钥。您需要注册获取 OpenFEC API 密钥

    OPENFEC_API_KEY=your_api_key_here
  4. 构建服务器

    npm run build

服务器配置

要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop)配合使用,您需要配置客户端以连接到此服务器。以下是 Claude Desktop 客户端的配置示例,您需要将 '/absolute/path/to/mcp-openfec' 替换为您克隆 'mcp-openfec' 仓库的实际绝对路径。

{
  "mcpServers": {
    "openfec": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-openfec/build/server.js"],
      "env": {
        "OPENFEC_API_KEY": "your_api_key_here"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

配置参数说明:

  • 'server name': 'openfec' (服务器名称,客户端配置中用于标识该服务器)
  • 'command': 'node' (启动服务器的命令,这里使用 Node.js 运行时)
  • 'args': '["/absolute/path/to/mcp-openfec/build/server.js"]' (启动命令的参数,指向编译后的服务器 JavaScript 文件。请务必使用绝对路径)
  • 'env': '{"OPENFEC_API_KEY": "your_api_key_here"}' (环境变量配置,用于传递 OpenFEC API 密钥)
  • 'disabled': 'false' (设置为 'false' 以启用服务器)
  • 'autoApprove': '[]' (保持为空数组以增强安全性,需要手动批准工具调用)

基本使用方法

配置完成后,您的 MCP 客户端将能够连接到 OpenFEC Server。您可以使用客户端提供的界面或 API,调用服务器提供的工具来查询 FEC 数据。例如,您可以指示 LLM 客户端使用 'search_candidates' 工具搜索特定候选人,或使用 'get_candidate_financials' 工具获取候选人的财务信息。服务器会将查询结果以 JSON 格式返回给客户端,以便 LLM 进行后续处理和分析。

可用工具列表 (详细参数请参考仓库 README 或源代码):

  1. 'get_candidate': 获取候选人详细信息
  2. 'get_candidate_financials': 获取候选人财务数据
  3. 'search_candidates': 搜索候选人
  4. 'get_committee': 获取委员会详细信息
  5. 'get_candidate_contributions': 获取候选人捐款信息
  6. 'get_filings': 获取 FEC 文件
  7. 'get_independent_expenditures': 获取独立支出
  8. 'get_electioneering': 获取竞选活动宣传信息
  9. 'get_party_coordinated_expenditures': 获取政党协调支出
  10. 'get_communication_costs': 获取企业/工会沟通成本
  11. 'get_audit_cases': 获取 FEC 审计案例
  12. 'get_bulk_downloads': 获取批量数据下载链接

信息

分类

网页与API