国会信息查询服务

一个为韩国国会信息开放系统(Open API)提供的MCP服务器,使AI代理能够实时查询和分析法案、会议记录、议员信息等。

  • by StatPan
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 StatPan/AssemblyMCP

使用说明

组装MCP

是韩国国会信息公开系统(Open API)的模型上下文协议(MCP)服务器。 Claude等AI代理可以实时查询和分析国会议案、会议记录、议员信息等。

此处提供英文README


主要功能

该服务器提供以下工具:

  • 搜索和查询议案

    • search_bills(keyword):按关键字搜索议案。(例如“人工智能”、“预算”)
    • get_recent_bills():获取最近提议的议案列表。
    • get_bill_details(bill_id):查询议案的详细信息(提案理由、主要要点等)。
    • get_bill_info(...):根据议案编号、发起人、日期等详细条件搜索议案。
  • 会议记录和委员会

    • get_meeting_records(bill_id):查看与特定议案相关的委员会会议记录。
    • search_meetings(...):按日期、委员会名称等搜索会议记录。
    • get_committee_list():查询国会委员会列表。
    • get_committee_members(...):查询委员会成员(成员名单)。
  • 国会议员信息

    • get_member_info(name):查询国会议员的个人资料、所属政党、选区等。
    • get_representative_report(name): [智能] 生成综合报告,包括议员的基本信息、提案、委员会经历和投票经历。
    • get_member_committee_careers(name):查询议员的详细委员会活动经历。
  • 表决和投票分析

    • get_bill_voting_results(bill_id): [智能] 分析特定议案的全体会议表决结果(赞成/反对/弃权)和各政党的投票倾向。
    • analyze_voting_trends(topic): [智能] 分析与特定主题(如“AI”、“税制”)相关的法案在全体会议上的投票倾向。
    • get_member_voting_history(...):查询特定议员或议案的个人表决记录。
  • 智能分析和复合查询

    • analyze_legislative_issue(topic): [智能] 通过对特定主题的法案、会议记录和主要议员进行综合分析,生成报告。
    • get_bill_history(bill_id): [智能] 以时间轴的形式整合从议案的提出到处理的整个生命周期。
    • get_legislative_reports(keyword): [智能] 实时联系并提供国会预算政策办公室(NABO)专业报告和国会新闻数据。
    • get_committee_work_summary(committee_name): [智能] 将各委员会的搁置议案和相关报告合并起来,总结现状。
  • 其他和高级功能

    • get_assembly_info():检查服务器状态和可用的API信息。
    • list_api_services():搜索所有可用的国会API服务。
    • call_api_raw():(高级用户)直接调用API服务。

LLM使用指南(重要)

  • 该服务器是国会OpenAPI 约270个全部可用。不要因为不在高级工具中就回答“没有功能”。
  • 优先使用智能工作流:与其简单地列出数据 analyze_ 或者 get_..._report 使用系列工具提供立体的见解。
    • 主题分析: analyze_legislative_issue("AI") ->法案+会议+议员综合信息
    • 议员分析: get_representative_report("의원명") ->个人资料+法案+经历+投票倾向
    • 表决分析: get_bill_voting_results("의안ID") ->赞成和反对统计+各政党倾向
  • 标准指南: list_api_services(keyword) → get_api_spec(service_id) → call_api_raw(service_id, params) 您可以通过组合查询任何信息。
  • 请广泛搜索关键词(国文/英文,空格变形)。找到的ID为 get_api_spec确认所需参数后 call_api_raw调用。
  • 示例:“委员会成员”→ list_api_services("위원 명단")在中确认服务ID→ get_api_spec通过确认参数→ call_api_raw通过查询名单→必要时 get_member_info通过补充个别议员的详细情况。
  • 答:如果您不在高级工具中,请提出上述组合或直接调用以生成结果。
  • 捷径:委员名单 get_committee_members可以通过直接查询,后续 get_member_info加上详细内容就可以了。

开始(Quick Start)

这个项目 uv 基于包管理器进行管理。 uvx无需安装即可运行。

1.发放API密钥

公共数据门户(data.go.kr)请在中申请使用“国会事务处”相关API,以获得认证密钥。

2.Claude Desktop集成设置

要在Claude Desktop应用程序中使用此MCP服务器,必须修改配置文件。

  1. 打开配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  2. 请添加以下内容。 (your_api_key_here 输入部分颁发的密钥)

{
  "mcpServers": {
    "assembly": {
      "command": "uvx",
      "args": ["git+https://github.com/StatPan/AssemblyMCP"],
      "env": {
        "ASSEMBLY_API_KEY": "your_api_key_here"
      }
    }
  }
}
  1. 重启Claude Desktop🔌 可以使用带有图标的AssemblyMCP工具。

3.直接运行服务器(用于测试)

您可以在终端上测试服务器是否正常运行,而无需LLM联动。

# API 키 설정 (Linux/macOS)
export ASSEMBLY_API_KEY="your_api_key_here"

# 서버 실행
# GitHub에서 최신 코드를 받아와 실행합니다.
uvx git+https://github.com/StatPan/AssemblyMCP

开发指南

要为该项目做出贡献或在本地修改并运行该项目,请执行以下步骤:

基本要求

  • Python 3.12或更高版本
  • 紫外线 包管理器

安装和运行

# 1. 저장소 클론
git clone https://github.com/StatPan/AssemblyMCP.git
cd AssemblyMCP

# 2. 의존성 설치
uv sync

# 3. 환경 변수 설정 (.env 파일 생성)
cp .env.example .env
# .env 파일을 열어 ASSEMBLY_API_KEY를 입력하세요.

# 4. 개발 서버 실행
uv run assemblymcp

代码质量管理

# 린트 및 포맷팅
uv run ruff check .
uv run ruff format .

# 테스트 실행
uv run pytest

许可证

麻省理工学院


配置和托管(Configuration&hosting)

Assembly MCP “包括电池” 采用体系结构,无需单独修改代码,只需环境变量即可控制日志记录、缓存等操作功能。

环境变量设置(Environment Variables)

变量名 说明 默认值 示例
ASSEMBLY_API_KEY [必需] 国会OpenAPI认证密钥-- 1234abcd...
ASSEMBLY_LOG_LEVEL 日志记录级别(DEBUG、INFO、WARNING、ERROR) INFO DEBUG
ASSEMBLY_LOG_JSON 启用JSON结构化日志记录(适用于Cloud Run等操作环境) False True
ASSEMBLY_ENABLE_CACHING 启用内存内缓存(提高查询性能) False True
ASSEMBLY_CACHE_TTL_SECONDS 缓存保留时间(秒) 300 (5分钟) 600
ASSEMBLY_CACHE_MAX_SIZE 最大缓存项目数 100 500

生产模式(Production Mode)

在Cloud Run、AWS Lambda等无服务器环境或生产部署中,建议设置以下设置:

# JSON 로깅 활성화 (로그 수집기 파싱 용이)
export ASSEMBLY_LOG_JSON=true

# 캐싱 활성화 (API 호출 비용 절감 및 속도 향상)
export ASSEMBLY_ENABLE_CACHING=true

部署(Deployment)

使用Docker,您可以轻松地将服务器部署到Google Cloud Run、Railway、Fly.io等云平台。

部署Docker

  1. Dockerfile包括在内,无需另行设置即可构建。
  2. 部署时 ASSEMBLY_API_KEY 等,请设置所需的环境变量。
  3. 服务器基本上 Streamable HTTP 以模式运行。 8000 使用端口。

Google Cloud Run部署示例

gcloud run deploy assembly-mcp \
  --source . \
  --region asia-northeast3 \
  --allow-unauthenticated \
  --set-env-vars ASSEMBLY_API_KEY="your_key",ASSEMBLY_LOG_JSON="true",ASSEMBLY_ENABLE_CACHING="true"

主要更改

  • 可流式HTTP传输:使用MCP协议的最新标准Streamable HTTP。
  • 端点: /mcp MCP服务器在路径中运行。