Token导航 LogoToken导航TokenDH.com
congress gov server logo
搜索检索未说明官方来源来源级核验

congress gov server

MCP Server

This is a Model Context Protocol (MCP) server designed to provide access to the official Congress.gov API (v3) using a hybrid approach.

工具数

2

提示词数

0

GitHub Stars

8

资源数

0
TypeScriptClaude数据分析Claude

安装说明

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

作者 / 组织

bsmi021

提供方

bsmi021

最后核验

2026/5/18 03:27

快速接入

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

详细介绍

CongressMCPServer

Congress.gov API MCP服务器

这是一个模型上下文协议(MCP)服务器,旨在使用混合方法提供对官方Congress.gov API(v3)的访问:

  • MCP资源: 用于使用标准化URI直接查找核心立法实体(法案、议员、国会、委员会、一般信息)。
  • MCP工具: 用于更复杂的操作,如跨集合搜索(congress_search)并检索相关数据列表(congress_getSubResource).

该服务器充当桥梁,允许MCP客户端(如AI助手或开发工具)轻松查询和利用美国立法数据。

项目结构

  • /src:包含所有源代码。

- /config:配置管理(ConfigurationManager.ts). - /services:与Congress.gov API交互的核心逻辑(CongressApiService.ts, RateLimitService.ts). - /tools:MCP工具定义(search/, subresource/, index.ts). - /types:TypeScript接口和Zod模式。 - /utils:共享实用程序功能(日志记录、错误等)。 - resourceHandlers.ts:处理核心实体资源请求的逻辑。 - createServer.ts:服务器实例创建、资源和工具注册。 - server.ts:主要应用程序入口点。

  • /dist:编译的JavaScript输出(由生成) npm run build).
  • /docs:项目文档(PRD、功能规范、RFC)。
  • package.json:项目元数据和依赖关系。
  • tsconfig.json:TypeScript编译器选项。
  • .eslintrc.json, .prettierrc.json:装订和格式化规则。
  • .env:(未承诺)用于存储 CONGRESS_GOV_API_KEY.

入门指南

  1. 安装依赖关系:
   npm install
  1. 设置API密钥: 创建一个 .env 文件在项目根目录中,并添加您的Congress.gov API密钥:
   CONGRESS_GOV_API_KEY=YOUR_API_KEY_HERE

(从获取密钥 https://api.data.gov/signup/)

  1. 构建服务器:
   npm run build
  1. 运行服务器:
   npm start

(此运行 node dist/server.js)

或者,使用以下命令在开发模式下运行 npm run dev (使用 ts-nodenodemon).

使用MCP客户端

将MCP客户端连接到正在运行的服务器(例如,如果在本地运行,则通过stdio)。

访问资源

使用 access_mcp_resource 带有适当URI的命令/方法。

示例:

  • 第117届国会通过H.R.3076号法案:
  
  congress-server
  congress-gov://bill/117/hr/3076
  
  • 联系佩洛西议员:
  
  congress-server
  congress-gov://member/P000197
  
  • 获取第118届国会信息:
  
  congress-server
  congress-gov://congress/118
  
  • 获取API概述:
  
  congress-server
  congress-gov://info/overview
  

使用工具

使用 use_mcp_tool 命令/方法。

!!!关键工具工作流:查找实体和获取相关数据!!!

许多常见任务需要 强制性两步流程 使用这两种工具:

  1. 步骤1:使用以下命令查找实体ID congress_search

- 目的: 找到您需要的特定法案、成员、委员会等,并提取其唯一标识符(例如。, memberId,或 congress, billType, billNumber 用于账单URI)。

- 工具: congress_search

- 例子: 查找成员“John Kennedy”(可能返回多个需要选择的结果):

     
       congress-server
       congress_search
       
         {
           "collection": "member",
           "query": "John Kennedy"
         }
       
     

- 输出: 寻找 memberId (例如。, K000393)或结果中的其他必要标识符。

- !!!警告!!! 搜索可能会返回多个结果。你 必须 识别正确的实体,并使用其特定ID进行下一步。

- !!!API限制!!! 按以下方式筛选常规搜索 congress 使用 filters 参数为 不支持 由底层API(例如 /v3/bill/v3/member)并且将被忽略。国会特定过滤通常需要使用特定的API路径(例如。, /v3/bill/117),该工具没有构造。

  1. 步骤2:使用以下方法获取相关数据 congress_getSubResource

- 目的: 使用步骤1中找到的标识符构建 parentUri 并获取相关详细信息(操作、赞助商、文本等)。

- 工具: congress_getSubResource

- 先决条件:必须 有正确的 parentUri (例如。, congress-gov://member/K000393)从步骤1开始。

- 例子: 获得会员赞助的立法 K000393:

     
       congress-server
       congress_getSubResource
       
         {
           "parentUri": "congress-gov://member/K000393",
           "subResource": "sponsored-legislation",
           "limit": 5
         }
       
     

- !!!保证错误警告!!!必须 使用一个 subResource 字符串是 严格有效 为了 parentUri 类型(例如。, 'sponsored-legislation' 对于会员, 'actions' 账单)。提供无效组合 意志 导致错误。检查工具说明中的有效组合。

遵循这两个步骤对于可靠地获取相关信息至关重要。

工具示例:

  • 搜索包含“气候”的账单(限制5):
  
  congress-server
  congress_search
  
  {
    "collection": "bill",
    "query": "climate",
    "limit": 5
  }
  
  
  • 列出成员(此处无法进行国会筛选):

- *注:如上所述,过滤方式为 congress 直接在 congress_search API不支持'member'集合。*

    
    congress-server
    congress_search
    
    {
      "collection": "member",
      "limit": 10 
      // Add "query" or other filters like "type" if needed
    }
    
    
  • 获取法案H.R.3076(第117条)的操作(需要来自搜索或已知信息的URI):
  
  congress-server
  congress_getSubResource
  
  {
    "parentUri": "congress-gov://bill/117/hr/3076",
    "subResource": "actions",
    "limit": 10
  }
  
  
  • 获得会员P000197赞助的立法:
  
  congress-server
  congress_getSubResource
  
  {
    "parentUri": "congress-gov://member/P000197",
    "subResource": "sponsored-legislation",
    "limit": 5
  }
  
  

装订和格式化

  • 棉绒: npm run lint
  • 格式: npm run format

代码将在通过Husky和lint-stage提交时自动进行lint和格式化。

目录标签

目录标签

TypeScriptClaude数据分析research-and-dataaimcpcongressus-congresscongressionalcongress-legislators立法数据本地部署API服务器MCP协议数据查询美国国会

支持客户端

Claude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP