程序集api mcp
大韩民国国会相关的Open API 模型上下文协议(MCP) 作为服务器提供。
Claude、Gemini、ChatGPT等AI工具可以实时访问国会议员、议案、日程、会议记录、委员会、表决、请愿等国会相关数据。
*国家AI转换(AX)不能说是用AI聊天机器人。只有国民的日常生活方便地变成AI,那才是真正的原生AI时代吧。*
设计资料由单独的工作空间管理: 设计/README.md
更新历史记录
全部更改: 更新日志 | v0.3到v0.4迁移: MIGRATION.md
v0.7.0-国会预算政策办公室(NABO)开放API集成(2026-04-12)
- docs/legislative-lifecycle.md 立法生命周期完整指南—立法前/中/后数据跟踪
- nabo.go.kr 3个API集成 -报告资料检索、期刊、招聘信息
- 添加get_nabo MCP工具 (完整配置文件)-
type=report|periodical|recruitments - REST API
/api/nabo添加 -通过HTTP从Full配置文件访问NABO数据 - 更改工具数量 -保留Lite(6个),Full 10个→ 11个 (+get_nabo)
- 3个API源 -国会+lawmaking+NABO
- 287个API封面 (276个国会+8个国民参与立法中心+3个NABO)
- NABO API密钥发放 — https://www.nabo.go.kr/ko/api/apply.do?key=2509230004
v0.6.0-国民参与立法中心API集成(2026-04-11)
- 注册279个API代码 (271国会+8国民参与立法中心)
- assemble_org扩展 —
type=lawmaking通过访问立法现状/计划/预告、行政预告、法令解释例、意见提出案例(14个端点) - Lite/Full工具数量不变 (保留6/10个,仅参数扩展)
- 添加fast-xml-parser依赖性 -解析lawmaking API XML响应
- 使用国民参与立法中心API时 — 意见.立法.go.kr需要在中发放信息公开服务申请ID(OC)
v0.5.0-API覆盖率大幅扩展(2026-04-09)
- 批量挖掘271个API代码 (98.2%)-使用自动挖掘脚本检查276个代码中的271个代码
- 集成107个API专用工具 (39%的覆盖率)-完成第1至3层整合
- ALLBILL安全信息集成API -自动包括议案审查经过(所管委→法司委→全体会议→公布)
- 历届国会数据 —
assembly_member(scope="history")通过历届议员/选举/议长访问13个API - 国政监视扩张 -国政调查/施政演说/人事听证/讨论会会议记录+结果报告
- 英文API支持 -在4个工具中
lang="en"使用参数访问英文数据 - 新闻/研究资料扩展 —
assembly_org(type="press"),research_data(source="future") - 政党议席统计 —
assembly_member(mode="party_stats")
工具数量不变(6个Lite/10个Full)。不影响现有用户。
v0.4.0-工具结构大规模集成(Breaking Change)
| v0.3(以前) | v0.4+(现在) |
|---|---|
search_members + analyze_legislator | assembly_member |
search_bills + track_legislation | assembly_bill |
get_schedule + search_meetings + get_votes | assembly_session |
get_committees + search_petitions + get_legislation_notices | assembly_org |
get_bill_detail + get_bill_review + get_bill_history + get_bill_proposers | bill_detail (满) |
search_library + search_research_reports + get_budget_analysis | research_data (满) |
详细的工具映射包括: docs/tool-mapping.md请参阅。
主要功能
- 6个Lite/11个Full配置文件工具 -基于域实体的集成(100个使用案例)
- 287个API访问(276个国会+8个国民参与立法中心+3个NABO) —
discover_apis+query_assembly通用工具 - 279个API代码注册(271个国会+8国民参与立法中心) -集成107个专用工具,其余
query_assembly立即调用 - 英文API支持 —
lang="en"作为参数的议员/日程/议案/委员会英文数据 - 历届国会数据 —
scope="history"通过历届议员/选举/议长访问 - ALLBILL审查经过 -查询议案时,自动包括所管委→法司委→全体会议→公布时间线
- 完全跟踪立法生命周期 -立法计划/预告(立法前)→审查/表决(立法中)→NABO分析(立法后)整合(立法生命周期)
- CLI支持 -直接在终端查询国会数据
- 双Transport -stdio(Claude Desktop)+HTTP(远程服务器)
- REST API+OpenAPI规范 -支持ChatGPT GPTs Actions(
/openapi.json) - 性能优化 -SWR缓存、DNS预取、gzip压缩、预测预取、MCP Progress/Logging
快速入门
前提条件
- 国会API密钥 — open.asassembly.go.kr免费发放(
sample密钥可测试) - 国民参与立法中心API密钥(可选) — 意见.立法.go.kr申请信息公开服务后需要发放OC。未设置时无法调用该API。
方法1:自动安装(本地,推荐)
需要Node.js 18或更高版本().
npx assembly-api-mcp setup交互式向导将自动处理API密钥输入→配置文件选择→AI客户端设置。macOS、Windows和Linux都使用相同的命令安装。
方法2:远程服务器(无需安装)
无需安装,只需URL即可使用。
设置助手 在页面上输入API键将自动为您正在使用的AI客户端生成设置代码。
也可以直接配置URL:
https://assembly-api-mcp.fly.dev/mcp?key=YOUR_API_KEY&profile=lite| 参数 | 必需 | 默认值 | 说明 |
|---|---|---|---|
key | O | sample | 开放的国会信息API密钥 |
profile 十、 lite | lite (6个工具)或 full (11个工具) |
sample 密钥最多可测试10次。方法3:手动安装
详细指南 快速启动.md请参阅。
# 1. 설치 (Node.js 18 이상 필요)
git clone https://github.com/hollobit/assembly-api-mcp.git
cd assembly-api-mcp
npm install && npm run build
# 2. API 키 설정
cp .env.example .env
# .env 파일에 ASSEMBLY_API_KEY 입력 (발급: https://open.assembly.go.kr)
# 3. 테스트
npx tsx src/cli.ts testAI客户端集成
详细的设置指南包括: 快速启动.md请参阅。
克劳德桌面(stdio)
~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"assembly-api": {
"command": "node",
"args": ["/absolute/path/to/assembly-api-mcp/dist/index.js"],
"env": {
"ASSEMBLY_API_KEY": "your-api-key-here",
"MCP_PROFILE": "lite"
}
}
}
}必须在Claude Desktop完全退出(包括托盘)后重新启动,才能应用设置。
克劳德代码(CLI)
claude mcp add assembly-api -- node /absolute/path/to/assembly-api-mcp/dist/index.js或者,在项目根目录中 .mcp.json 创建文件:
{
"mcpServers": {
"assembly-api": {
"command": "node",
"args": ["/absolute/path/to/assembly-api-mcp/dist/index.js"],
"env": {
"ASSEMBLY_API_KEY": "your-api-key-here"
}
}
}
}Gemini CLI
~/.gemini/settings.json:
{
"mcpServers": {
"assembly-api": {
"command": "node",
"args": ["/absolute/path/to/assembly-api-mcp/dist/index.js"],
"env": {
"ASSEMBLY_API_KEY": "your-api-key-here"
}
}
}
}VS代码(GitHub复制品/Claude扩展)
在项目根目录中 .vscode/mcp.json 创建文件:
{
"servers": {
"assembly-api": {
"command": "node",
"args": ["${workspaceFolder}/dist/index.js"],
"env": {
"ASSEMBLY_API_KEY": "your-api-key-here"
}
}
}
}光标IDE
~/.cursor/mcp.json 或项目根目录 .cursor/mcp.json:
{
"mcpServers": {
"assembly-api": {
"command": "node",
"args": ["/absolute/path/to/assembly-api-mcp/dist/index.js"],
"env": {
"ASSEMBLY_API_KEY": "your-api-key-here"
}
}
}
}帆板运动
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"assembly-api": {
"command": "node",
"args": ["/absolute/path/to/assembly-api-mcp/dist/index.js"],
"env": {
"ASSEMBLY_API_KEY": "your-api-key-here"
}
}
}
}claude.ai(网络)/Claude移动
注册并使用远程服务器URL,无需安装。 Pro以上计划 需要。
- 设置→ 集成→ 添加更多→ 自定义MCP服务器
- 网址:
https://assembly-api-mcp.fly.dev/mcp?key=YOUR_API_KEY&profile=lite
有关详细设置,请参阅 快速启动.md请参阅。
ChatGPT(GPTs操作)
您可以在ChatGPT GPTs中使用国会API作为OpenAPI操作。
- GPT 생성 → 配置→ 行动→ 创建新操作
- 从URL导入:
https://assembly-api-mcp.fly.dev/openapi.json?profile=full - 每个请求的
key在参数中包括API密钥
也可以直接调用REST API。端点列表 快速启动.md请参阅。
HTTP模式(用于远程客户端)
不支持stdio的客户端可以以HTTP模式运行服务器并进行连接:
ASSEMBLY_API_KEY=your-api-key MCP_TRANSPORT=http MCP_PORT=3000 npm start
# → MCP 엔드포인트: http://localhost:3000/mcp
# → REST API: http://localhost:3000/api/members?key=YOUR_KEY
# → OpenAPI 스펙: http://localhost:3000/openapi.json
# → 상태 확인: http://localhost:3000/health要从外部访问,请使用ngrok等隧道工具:
ngrok http 3000联动支持现状
客户机传输MCP支持 |-----------|-----------|----------| | Claude Desktop|stdio|本机| | Claude Code(CLI)| stdio |本机| | Gemini CLI|stdio|本机| | VS Code(Copilot/Claude)| stdio |本机| Cursor stdio本机| Windsurfstdio本机| | claude.ai(Web)| HTTP |集成(Pro或更高版本)| | Claude Mobile(iOS/Android)| HTTP | Integrations(Pro或更高版本)| |ChatGPT(GPTs)|HTTP|✅ OpenAPI操作(REST API)| | docker/远程服务器| HTTP| Streamable HTTP|
MCP工具列表
Lite配置文件(6个,基本)
基于域实体(人员/法案/会议/机构)的集成配置文件。
| 工具 | 说明 |
|---|---|
assembly_member | 议员搜索+分析(名称1件自动详细+提议+表决) |
assembly_bill | 议案搜索+跟踪+统计(用keywords跟踪,mode=stats统计) |
assembly_session | 日程+会议记录+表决(type=schedule/meetings/vote) |
assembly_org | 委员会+请愿+立法预告(type=committee/petition/la立法_notice) |
discover_apis | 搜索276个API关键字 |
query_assembly | 直接调用通用API |
使用示例包括: 100个使用案例请参阅。工具映射详细信息 docs/tool-mapping.md请参阅。
完整配置文件(11个)
MCP_PROFILE=full如果切换到,则可以使用6个Lite+5个Full专用。
Lite工具(6个)-如上所示
仅限Full(5个)
| 工具 | 说明 |
|---|---|
bill_detail | 深入查询议案(详细+审查+履历+提案者+会议集成) |
committee_detail | 委员会深度(现状+委员名单) |
petition_detail | 请愿深度(列表+详细) |
research_data | 研究资料整合(图书馆+立法调查处+预算政策处) |
get_nabo | NABO报告/期刊/招聘信息(nabo.go.kr) |
CLI使用方法
医院搜索
# 전체 의원 목록 (기본 20명)
npx tsx src/cli.ts members
# 이름으로 검색
npx tsx src/cli.ts members --name 이재명
# 정당별 검색
npx tsx src/cli.ts members --party 더불어민주당
npx tsx src/cli.ts members --party 국민의힘
# 선거구별 검색
npx tsx src/cli.ts members --district 서울
# 결과 수 조절
npx tsx src/cli.ts members --party 더불어민주당 --size 50议员议政活动
# 의원별 인적사항 + 발의 법안 조회
npx tsx src/cli.ts activity --name 박주민
npx tsx src/cli.ts activity --name 이해민
# 조회 건수 조절
npx tsx src/cli.ts activity --name 한동훈 --size 5议案搜索
# 의안명 키워드 검색
npx tsx src/cli.ts bills --name AI
npx tsx src/cli.ts bills --name 부동산
npx tsx src/cli.ts bills --name 교육
# 의안번호로 검색
npx tsx src/cli.ts bills --bill-no 2204567
# 제안자로 검색
npx tsx src/cli.ts bills --proposer 안철수
# 특정 대수 의안 검색 (기본: 22대)
npx tsx src/cli.ts bills --name 환경 --age 21
# 결과 수 조절
npx tsx src/cli.ts bills --name 의료 --size 50议案详细
# BILL_ID로 의안 상세 조회 (bills 검색 결과에서 BILL_ID 확인)
npx tsx src/cli.ts bill-detail 表决/搁置/处理/最新议案
# 의안별 표결 현황
npx tsx src/cli.ts votes
npx tsx src/cli.ts votes --size 50
# 계류 중인 의안
npx tsx src/cli.ts pending
npx tsx src/cli.ts pending --size 10
# 처리된 의안
npx tsx src/cli.ts processed
npx tsx src/cli.ts processed --age 21
# 최근 본회의 처리 의안
npx tsx src/cli.ts recent
# 본회의 부의안건
npx tsx src/cli.ts plenaryAPI导航和测试
# 열린국회정보 전체 API 목록 (276개)
npx tsx src/cli.ts meta
# 전체 API 작동 테스트 (11개 핵심 API 점검)
npx tsx src/cli.ts test
# 도움말
npx tsx src/cli.ts help国民参与立法中心API(lawmaking.go.kr)
.env呃LAWMKING_OC=需要设置
# 입법현황 목록
npx tsx src/cli.ts lawmaking --type status
# 입법계획 목록 (키워드 검색)
npx tsx src/cli.ts lawmaking --type plan --key 교육
# 입법예고 목록 (진행중)
npx tsx src/cli.ts lawmaking --type notice
# 행정예고 목록
npx tsx src/cli.ts lawmaking --type admin
# 법령해석례 검색
npx tsx src/cli.ts lawmaking --type interpretation --key 자동차
# 의견제시사례 목록
npx tsx src/cli.ts lawmaking --type opinion国会预算政策处NABO API(nabo.go.kr)
.env呃NABO_API_KEY=需要设置
# 보고서 자료 검색 (기본)
npx tsx src/cli.ts nabo --type report
# 키워드 검색
npx tsx src/cli.ts nabo --type report --key 예산
# 정기간행물 조회
npx tsx src/cli.ts nabo --type periodical
npx tsx src/cli.ts nabo --type periodical --key 경제
# 채용정보 조회
npx tsx src/cli.ts nabo --type recruitments
# 페이지네이션
npx tsx src/cli.ts nabo --type report --page 2 --size 20交叉搜索(集成2-3个API源)
cross 通过命令同时搜索国会(open.assembly.go.kr)+国民参与立法中心(lawmaking.go.kr)+NABO(nabo.go.kr)。
# 2개 소스:국회 + NABO (예: "교육" 관련 의안과 예산 분석보고서 동시 검색)
npx tsx src/cli.ts cross --keyword 교육 --sources assembly,nabo
# 2개 소스: 국민참여입법센터 + NABO (예: "교통" 관련 입법예고와 NABO 보고서 동시 검색)
npx tsx src/cli.ts cross --keyword 교통 --sources lawmaking,nabo
# 3개 소스:국회 + 국민참여입법센터 + NABO (예: "의료" 관련 입법 전/중/후 데이터 통합 검색)
npx tsx src/cli.ts cross --keyword 의료 --sources assembly,lawmaking,nabo
# 전체 소스 (기본값, --sources all)
npx tsx src/cli.ts cross --keyword 예산 --sources all --size 10输出示例(--sources assembly,lawmaking,nabo):
=== "교육" 교차 검색 (국회, 국민참여입법센터, NABO) ===
[국회(assembly)] 의안 검색 (총 N건)
BILL_NO | BILL_NAME | COMMITTEE | PROC_RESULT
---------|-------------------------|------------|------------
2201234 | 교육기본법 일부개정법률안 | 교육위원회 | 계류
[국민참여입법센터(lawmaking)] 입법예고 (총 N건)
법령명 | 소관부처 | 공고일자
--------------|----------|----------
교육기본법 |교육부 | 2026.03.01
[NABO(nabo.go.kr)] NABO 보고서 (총 N건)
제목 | 작성부서 | 게시일
--------------------------|----------|--------
2026 교육예산 분석보고서 | NABO | 2026.03.15源组合指南:
组合用途说明 |------|------|------| | assembly,nabo |立法中+立法后|议案审查经过+NABO预算分析| | lawmaking,nabo |立法前+立法后|立法预告+NABO政策报告| | assembly,lawmaking |立法前+立法中|立法预告+实际议案搜索 | all (默认)立法前/中/后完整跟踪立法生命周期
cross 命令并行调用每个源,因此即使有一个源出现故障,其他源的结果也会正常返回。文档
文档说明 |------|------| | 快速启动.md | 5分钟内开始的快速设置指南| | 设计/README.md |设计资料存储规则和外部设计工具使用指南| | 设计/design.md |此存储库的canonical设计标准文档| | docs/api-catalog.md |国会开放API 276个完整列表(按类别分类)| | docs/mcp-api.md | MCP工具国会API代码映射(挖掘271个,整合107个) | docs/discovered-codes.md | API代码挖掘过程和验证的端点参数| | docs/mcp-design-analysis.md | MCP工具设计分析文档-Lite/Full配置文件决策依据| | docs/legislative-lifecycle.md |立法生命周期完整指南-立法前/中/后数据跟踪
故障排除
Claude Desktop中的“server disconnected”错误
项目的 .env 在文件中 MCP_TRANSPORT=http设置此选项后,服务器将以HTTP模式启动,而不是Claude Desktop所期望的stdio模式。在客户端设置中 MCP_TRANSPORT请明确覆盖:
{
"mcpServers": {
"assembly-api": {
"command": "node",
"args": ["/absolute/path/to/assembly-api-mcp/dist/index.js"],
"env": {
"ASSEMBLY_API_KEY": "your-api-key",
"MCP_TRANSPORT": "stdio",
"MCP_PROFILE": "lite"
}
}
}
}.env文件的MCP_TRANSPORT值为服务器dotenv自动加载到。客户端设置的env如果在中指定相同的变量.env更优先。
在Claude Desktop中看不到工具
Claude桌面 完全关闭 (MacOS:Cmd+Q,关闭托盘图标)后重新启动。更改设置文件仅在重新启动后生效。
“ASSEMBLY_API_KEY未设置”
.env 请确保在文件中输入了密钥。在Claude Desktop等外部客户端上运行时, env也必须为指定密钥。
API调用返回0次
一些API AGE 需要参数。工具会自动使用22个(当前)作为默认值。
超过Rate Limit
开发帐户每月限制10000个。 npx tsx src/cli.ts test请用查看当前状态。
端口冲突(HTTP模式)
在HTTP模式下 EADDRINUSE 如果出现错误,请检查使用该端口的进程:
lsof -i :3000
# 다른 포트로 변경
MCP_PORT=3001 npm start环境变量
| 变量 | 必需 | 默认值 | 说明 |
|---|---|---|---|
ASSEMBLY_API_KEY 开放的国会信息API密钥 | |||
DATA_GO_KR_SERVICE_KEY | X | - | 公共数据门户ServiceKey |
NANET_API_KEY | X | - | 国会图书馆API密钥 |
NABO_API_KEY | X | - | 国会预算政策处API密钥 |
LAWMKING_OC 国民参与立法中心OC(信息公开服务申请ID) | |||
MCP_PROFILE 十、 lite | lite 或者 full | ||
MCP_TRANSPORT 十、 stdio | stdio 或者 http | ||
MCP_PORT 十、 3000 | HTTP模式端口 | ||
LOG_LEVEL 十、 info | 日志级别 | ||
CACHE_ENABLED 十、 true | 启用缓存 |
API密钥发放
- 开放的国会信息 连接
- 注册会员(免费)
- 登录后发布我的页面>OPEN API>验证密钥
- 获得的密钥
.env文件的ASSEMBLY_API_KEY在中输入
sample 密钥最多可测试10次。国民参与立法中心API密钥发放
- 意见.立法.go.kr 连接
- 申请信息公开服务(免费)
- 申请批准后确认组织代码(OC)-
@前面是OC .env在文件中LAWMKING_OC=输入
项目结构
assembly-api/
├── src/
│ ├── index.ts # MCP 서버 진입점
│ ├── server.ts # McpServer 초기화 (stdio/HTTP)
│ ├── config.ts # 환경 변수 설정
│ ├── cli.ts # CLI 인터페이스
│ ├── api/
│ │ ├── client.ts # HTTP 클라이언트 (캐싱/모니터링 통합)
│ │ ├── cache.ts # 인메모리 TTL 캐시 (LRU)
│ │ ├── codes.ts # 검증된 API 코드 매핑
│ │ ├── monitor.ts # API 응답 시간 모니터링
│ │ └── rate-limiter.ts # Rate Limit 추적
│ ├── tools/ # MCP 도구 (Lite 6개 / Full 11개)
│ │ ├── lite/ # Lite 프로필 도구 (6개)
│ ├── openapi/ # OpenAPI REST 브릿지
│ │ ├── router.ts # REST 라우터 (/api/*)
│ │ ├── handlers.ts # REST 핸들러 (18개 엔드포인트)
│ │ └── spec.ts # OpenAPI 3.1 스펙 생성
│ ├── resources/ # MCP 정적 리소스
│ └── prompts/ # MCP 프롬프트 템플릿
├── tests/ # 단위 테스트 (235개)
├── examples/
│ └── api-tester.html # 브라우저 API 테스터
├── design/
│ ├── DESIGN.md # canonical 디자인 기준 문서
│ └── README.md # 디자인 자료 저장 규칙
├── docs/
│ ├── api-catalog.md # 국회 API 276개 전체 목록
│ ├── mcp-api.md # MCP 도구 ↔ API 매핑
│ ├── discovered-codes.md # 발굴된 API 코드
│ └── mcp-design-analysis.md # MCP 도구 설계 분석
├── .env.example # 환경 변수 템플릿
├── Dockerfile # Docker 이미지
├── docker-compose.yml # Docker Compose
└── QUICK_START.md # 빠른 시작 가이드开发
npm run build # TypeScript 빌드
npm test # 테스트 실행
npm run dev # 개발 모드 (tsx)
npm run cli # CLI 실행
npm run lint # 타입 체크 (tsc --noEmit)码头工人
docker compose up -d
# HTTP 모드로 포트 3000에서 실행
# Health check: curl localhost:3000/health注意项目
- 韩国法律mcp -韩国法律MCP服务器
- 数据go-mcp服务器 -公共数据MCP服务器
明星历史

许可证
MIT许可证- 许可证 参考
钟钟全(hollobit@etri.re.kr)
