政府采购数据集成服务

提供韩国公共采购数据的MCP协议服务,集成多种API供AI代理直接使用。

  • by alphago2580
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 alphago2580/naramarketmcp

使用说明

国家集市MCP服务器

FastMCP 2.0服务器,通过模型上下文协议(MCP)提供韩国公共采购(G2B)数据。

集成了国家集市的主要API,包括招标公告、中标信息、合同信息、采购统计、物品目录、综合购物中心等,AI代理可以直接使用。

架构

┌─────────────────┐     MCP Protocol      ┌──────────────────────┐
│   AI Agent      │ ◄──(stdio/http/sse)──► │  naramarket-mcp      │
│ (Claude, etc.)  │                        │                      │
└─────────────────┘                        │  ┌────────────────┐  │
                                           │  │ MCP Tools (16) │  │
                                           │  │ Resources (3)  │  │
                                           │  │ Prompts (3)    │  │
                                           │  └───────┬────────┘  │
                                           │          │           │
                                           │  ┌───────▼────────┐  │
                                           │  │  API Clients   │  │
                                           │  │  (sync/async)  │  │
                                           │  └───────┬────────┘  │
                                           └──────────┼───────────┘
                                                      │
                                           ┌──────────▼───────────┐
                                           │  data.go.kr APIs     │
                                           │  (공공데이터포털)      │
                                           └──────────────────────┘

MCP工具

基本工具(3个)

工具 说明
crawl_list 查询国家集市商品目录
get_detailed_attributes 查询商品详细属性
server_info 服务器信息和可用工具列表

政府采购API(4个)

工具 说明 支持API
call_public_data_standard_api 公共数据开放标准API 招标、中标信息、合同信息
call_procurement_statistics_api 采购统计API 整体/机构/企业采购统计(14个操作)
call_product_list_api 物品列表API 物品分类、物品查询(12个操作)
call_shopping_mall_api 综合购物中心API MAS合同、供货要求、风险国家(9个操作)

AI友好型简易工具(4个)

工具 说明
get_recent_bid_announcements 查询最近的招标公告(自动计算工期)
get_successful_bids_by_business_type 各业务区中标信息(韩文→代码自动转换)
get_procurement_statistics_by_year 年度采购统计信息
search_shopping_mall_products 搜索购物中心产品(产品名称/企业名称)

导航工具(4个)

工具 说明
get_all_api_services_info 完整的服务和操作列表
get_api_operations 查看特定服务的详细操作
call_api_with_pagination_support 支持分页浏览大量数据
get_data_exploration_guide 数据导航策略指南

MCP资源&提示

  • 资源:API参数指南,值示例,搜索模式
  • 提示:工作流指南、参数选择指南、实战查询示例

开始

基本要求

安装

git clone https://github.com/alphago2580/naramarketmcp.git
cd naramarketmcp

# 환경 설정
cp .env.example .env
# .env에서 NARAMARKET_SERVICE_KEY 설정

# 의존성 설치
pip install -r requirements.txt

执行

# STDIO 모드 (MCP 클라이언트 연동)
python -m src.main

# HTTP 모드 (웹 서비스)
FASTMCP_TRANSPORT=http FASTMCP_PORT=8000 python -m src.main

# 패키지 설치 후 실행
pip install .
naramarket-mcp

码头工人

docker build -t naramarket-mcp .
docker run --rm -e NARAMARKET_SERVICE_KEY=your-key -p 8000:8000 naramarket-mcp

环境变量

变量 必需 默认值 说明
NARAMARKET_SERVICE_KEY -- 公共数据门户API密钥
FASTMCP_TRANSPORT - stdio 传输模式(stdio, http, sse)
FASTMCP_HOST - 127.0.0.1 HTTP/SSE绑定主机
FASTMCP_PORT - 8081 HTTP/SSE端口
LOG_LEVEL - INFO 日志记录级别

项目结构

naramarketmcp/
├── src/
│   ├── main.py              # FastMCP 서버 진입점 (도구/리소스/프롬프트 등록)
│   ├── core/                # 핵심 모듈
│   │   ├── config.py        # 설정 관리
│   │   ├── models.py        # 데이터 모델
│   │   ├── client.py        # API 클라이언트
│   │   ├── async_client.py  # 비동기 클라이언트
│   │   └── utils.py         # 유틸리티
│   ├── api/                 # HTTP/REST 인터페이스
│   ├── services/            # 비즈니스 로직 (크롤러, 인증)
│   └── tools/               # MCP 도구 구현
│       ├── naramarket.py    # 기본 나라장터 도구
│       ├── enhanced_tools.py # 확장 API 도구
│       └── openapi_tools.py # G2B OpenAPI 도구
├── tests/                   # 테스트
├── deployments/             # 배포 설정 (docker-compose, nginx)
├── Dockerfile
├── smithery.yaml            # Smithery.ai 배포 설정
├── pyproject.toml
└── requirements.txt

开发

# 개발 의존성 설치
pip install .[dev]

# 테스트 실행
pytest tests/

# 타입 체크
mypy src/

技术堆栈

  • FastMCP 2.0 -MCP服务器框架
  • 请求/熊猫 -API调用和数据处理
  • 乌维科恩/斯塔莱特 -HTTP/SSE服务
  • 码头工人 -容器部署
  • Smithery.ai -云MCP托管

许可证

Apache许可证2.0-- 许可证 参考