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

opendiscourse MCP

MCP Server

OpenDiscourse MCP是一个提供AI助手访问政府立法数据的协议服务器,支持从govinfo.gov和congress.gov API获取批量数据,并具备AI代码审查和数据摄取功能。

工具数

13

提示词数

0

GitHub Stars

1

资源数

0
PythonClaude云端部署Claude DesktopClaude

安装说明

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

作者 / 组织

cbwinslow

提供方

cbwinslow

最后核验

2026/5/17 20:21

运行时

Python

快速接入

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

命令预览

python3 scripts/setup_bitwarden.py

详细介绍

开放话语MCP

模型上下文协议(MCP)服务器,用于访问来自govinfo.gov和congress.gov API的批量数据,具有全面的人工智能代码审查和数据摄取功能。

概述

该项目提供MCP服务器,使人工智能助理能够从以下来源访问全面的立法和政府数据:

  • 政府信息API:国会文件、《联邦公报》、《联邦法规》等
  • 国会.gov API:法案、成员、委员会、提名和立法活动
  • 批量数据摄入:自动下载和处理govinfo.gov批量数据
  • AI代码审查:多智能体人工智能团队,用于全面的代码分析

特性

GovInfo服务器工具

  • govinfo_list_collections -列出自特定日期以来更新的集合
  • govinfo_get_package -获取详细的包裹信息
  • govinfo_list_granules -列出包装内的颗粒
  • govinfo_get_granule -获取详细的颗粒信息
  • govinfo_download_content -下载内容(PDF、XML、HTML)

Congress.gov服务器工具

  • congress_get_bill -获取详细的账单信息
  • congress_search_bills -通过文本查询搜索账单
  • congress_get_bill_actions -为法案采取立法行动
  • congress_get_bill_text -获取法案全文
  • congress_search_members -搜寻国会议员
  • congress_get_member -获取详细的会员信息
  • congress_get_committee_meetings -召开委员会会议
  • congress_get_nominations -获得总统提名

批量数据摄入

  • 全面下载:自动接收所有govinfo.gov批量数据
  • 国会报道:第113届至第123届国会(2013-2024)
  • 文档类型:票据、法案、法案、法令、法国、信用证
  • 并行处理:50名工人用于高性能下载
  • XML验证:基于模式的数据完整性验证
  • 跳过现有:可恢复下载,智能跳过文件
  • 进度监控:实时进度跟踪和全面报告

AI代码审查套件

  • 安全审查:漏洞评估和安全分析
  • 绩效评估:瓶颈识别和优化建议
  • 质量审核:代码风格、测试、架构和可访问性分析
  • 文档审查:文件质量和完整性评估
  • 多Agent:针对不同审查方面的专业人工智能代理
  • 可观测性:用于监控和跟踪的Langfuse集成

安装

先决条件

  1. Node.js和npm (适用于MCP服务器)
  2. Python 3.10+ (用于设置脚本)
  3. PostgreSQL (用于数据库存储)
  4. Bitwarden命令行界面 (用于API密钥管理)

快速开始

# Clone the repository
git clone https://github.com/cbwinslow/opendiscourse_mcp.git
cd opendiscourse_mcp

# Install Node.js dependencies
npm install

# Install Bitwarden CLI
npm install -g @bitwarden/cli

# Set up database
./scripts/setup_database.sh

# Set up API keys with Bitwarden
python3 scripts/setup_bitwarden.py

# Start MCP server
npm start

详细设置

1.Python环境

# Verify Python version (requires 3.10+)
python --version

# Using uv (recommended)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Or using pip
python3.10 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

2.数据库设置

# Automated database setup
./scripts/setup_database.sh

# Manual setup (if script fails)
# Start PostgreSQL
brew services start postgresql  # macOS
sudo systemctl start postgresql  # Linux

# Create database and user
sudo -u postgres createdb opendiscourse
sudo -u postgres createuser -s opendiscourse
sudo -u postgres psql -c "ALTER USER opendiscourse PASSWORD 'opendiscourse123';"
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE opendiscourse TO opendiscourse;"

3.Bitwarden设置

# Install Bitwarden CLI
npm install -g @bitwarden/cli

# Test Bitwarden integration
python3 scripts/test_bitwarden.py

# Add API keys to Bitwarden:
# - GovInfo API Key
# - Congress.gov API Key

4.API密钥配置

# Set environment variables (optional)
export BITWARDEN_EMAIL="your-email@example.com"
export BITWARDEN_PASSWORD="your-master-password"

# Run automated setup
python3 scripts/setup_bitwarden.py

5.MCP服务器部署

# Install dependencies
uv sync

# Start server
npm start

# Development mode
npm run dev

Bitwarden项目设置:

在您的Bitwarden保管库中创建以下项目:

  • GovInfo API密钥

- 姓名: GovInfo API Key - 自定义字段: api_key 使用您的GovInfo API密钥

  • Congress.gov API密钥

- 姓名: Congress.gov API Key - 自定义字段: api_key 使用您的国会.gov API密钥

配置

必需的API密钥

  1. GovInfo API密钥

- 注册地址: - 增添 .env: GOVINFO_API_KEY=your_key_here

  1. Congress.gov API密钥

- 注册地址: - 增添 .env: CONGRESS_API_KEY=your_key_here

可选配置

  • MCP_LOG_LEVEL -日志记录级别(默认值:info)
  • GOVINFO_RATE_LIMIT -GovInfo速率限制请求/小时(默认值:1000)
  • CONGRESS_RATE_LIMIT -Congress.gov速率限制请求/小时(默认值:4000)

用法

批量数据摄入

该项目包括govinfo.gov的全面批量数据接收功能:

# Run comprehensive ingestion for all available data
python3 scripts/run_comprehensive_ingestion.py

# Run specific congress and document type
python3 -m scripts.ingest_all_govinfo --congress 118 --doc-types BILLS --workers 50

# Run with validation enabled
python3 -m scripts.ingest_all_govinfo --congress 118 --doc-types STATUTE --validate-xml --workers 50

摄入特征:

  • 国会报道:第113届至第123届大会(2013-2024)
  • 文档类型:票据、法案、法案、法令、法国、信用证
  • 并行下载:50名兼职员工
  • XML验证:使用XSD文件进行基于架构的验证
  • 恢复能力:跳过现有功能
  • 进度跟踪:实时监控和JSON结果

配置:

# Use enums for type-safe configuration
from scripts.ingestion.enums import DocumentType, CongressSession

# Available document types
DocumentType.BILLS.value  # "BILLS"
DocumentType.STATUTE.value  # "STATUTE"

# Available congress sessions
CongressSession.get_available_sessions()  # [113, 114, ..., 123]

AI代码审查

该项目包括专门的人工智能团队,负责全面的代码审查:

# Run all review types (via GitHub Actions)
# Or manually trigger specific reviews:

# Security review
python3 scripts/security_review_crew.py

# Performance review
python3 scripts/performance_review_crew.py

# Quality review (style, testing, architecture, dependencies, accessibility)
python3 scripts/quality_review_crew.py

# Documentation review
python3 scripts/documentation_review_crew.py

# Original comprehensive review
python3 scripts/code_review_crew.py

AI评论功能:

  • 证券分析:漏洞评估、安全最佳做法
  • 性能优化:瓶颈识别,提高效率
  • 质量评估:代码风格、测试覆盖率、架构审查
  • 文档审查:API文档、自述文件、内联注释
  • 多Agent:针对不同审查方面的专业人工智能代理
  • 可观测性:用于监控和跟踪的Langfuse集成

GitHub操作集成:

  • 自动PR评论
  • 可配置的审查类型(安全、性能、质量、文档)
  • Python 3.10执行
  • 综合报告

作为MCP服务器

# Start MCP server
npm start

# Or in development mode with auto-restart
npm run dev

与Claude Desktop集成

添加到您的Claude Desktop配置(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "opendiscourse": {
      "command": "node",
      "args": ["/path/to/opendiscourse_mcp/src/index.js"],
      "env": {
        "GOVINFO_API_KEY": "your_govinfo_key",
        "CONGRESS_API_KEY": "your_congress_key"
      }
    }
  }
}

API密钥管理

该项目包括通过Bitwarden自动管理API密钥:

# Test Bitwarden integration
python3 scripts/test_bitwarden.py

# Set up API keys from Bitwarden
python3 scripts/setup_bitwarden.py

特征:

  • 🔍 从Bitwarden保险库自动发现API密钥
  • 🔓 安全保险库解锁
  • 📝 环境文件更新
  • 🗄️ 加密数据库存储
  • 🔐 控制台输出中的安全屏蔽

与Claude Desktop集成

添加到您的Claude Desktop配置(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "opendiscourse": {
      "command": "node",
      "args": ["/path/to/opendiscourse_mcp/src/index.js"],
      "env": {
        "GOVINFO_API_KEY": "your_govinfo_key",
        "CONGRESS_API_KEY": "your_congress_key"
      }
    }
  }
}

API覆盖范围

政府资讯集

  • 法案 -国会法案(所有版本)
  • CREC -国会记录
  • 法国 -《联邦公报》
  • 联邦法规(Code of Federal Regulations) -联邦法规
  • USCOURTS -美国法院意见
  • CHRG -委员会报告和印刷品

Congress.gov数据

  • 法案和修正案(第93届国会至今)
  • 会员信息和投票记录
  • 委员会数据和会议
  • 总统提名
  • 唱名表决
  • 立法案文和摘要

速率限制

  • 政府信息API:遵循api.data.gov限制(可配置,默认1000/小时)
  • 国会.gov API:5000个请求/小时(可配置,默认4000个/小时)

两个客户端都实现了请求之间延迟的自动速率限制。

发展

# Run tests
npm test

# Lint code
npm run lint

# Full build process
npm run build

文档

综合文档可在 /docs 文件夹:

  • docs/README.md -完整的参考指南
  • docs/govinfo-api-summary.md -GovInfo API快速参考
  • docs/congress-api-summary.md -Congress.gov API快速参考
  • 已下载API官方存储库和示例

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. npm run build
  6. 提交拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

支持

  • 问题:
  • 政府信息API:
  • 国会.gov API:

目录标签

目录标签

PythonClaude云端部署政府数据本地部署AI审查批量数据处理立法数据API集成

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

api-key

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

13

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdioapi-keyremote-capable

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

安装前确认

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

来源信息

继续浏览同类 MCP