OpenFEC Server MCP 服务器使用说明
项目简介
OpenFEC Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM)客户端提供访问美国联邦选举委员会 (FEC) 公开的竞选财务数据的能力。通过此服务器,LLM 可以调用预设的工具来查询候选人、委员会、财务报告、捐款记录等信息,从而增强 LLM 在政治、选举和政府数据分析方面的应用能力。
主要功能点
- 候选人数据查询: 检索候选人的详细信息,包括基本信息和财务数据。
- 委员会数据查询: 获取委员会的详细信息。
- 财务数据查询: 查询候选人的财务状况、个人捐款、独立支出等。
- 文件数据查询: 检索 FEC 的官方文件。
- 批量数据下载: 获取 FEC 批量数据下载链接。
- 速率限制: 为了遵守 OpenFEC API 的使用条款,服务器实施了速率限制,防止请求过载。
安装步骤
-
克隆仓库
git clone https://github.com/psalzman/mcp-openfec cd mcp-openfec -
安装依赖 确保已安装 Node.js (v16 或更高版本) 和 npm。
npm install -
配置 OpenFEC API 密钥 在项目根目录下创建 '.env' 文件,并添加您的 OpenFEC API 密钥。您需要注册获取 OpenFEC API 密钥。
OPENFEC_API_KEY=your_api_key_here -
构建服务器
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 或源代码):
- 'get_candidate': 获取候选人详细信息
- 'get_candidate_financials': 获取候选人财务数据
- 'search_candidates': 搜索候选人
- 'get_committee': 获取委员会详细信息
- 'get_candidate_contributions': 获取候选人捐款信息
- 'get_filings': 获取 FEC 文件
- 'get_independent_expenditures': 获取独立支出
- 'get_electioneering': 获取竞选活动宣传信息
- 'get_party_coordinated_expenditures': 获取政党协调支出
- 'get_communication_costs': 获取企业/工会沟通成本
- 'get_audit_cases': 获取 FEC 审计案例
- 'get_bulk_downloads': 获取批量数据下载链接
信息
分类
网页与API