数据转到kr-mcp
公共数据门户(data.go.kr)OpenAPI作为模型上下文协议(MCP)服务器提供。
该存储库总结了将公共数据API打包到MCP服务器的通用结构,并将其 TypeScript哇 python 配置为两种语言。 现在。 air-quality, weather-forecast 示例包括服务器,您也可以根据相同的结构轻松扩展其他公共数据门户API。
主要功能
- 以MCP服务器的形式提供公共数据门户OpenAPI
- TypeScript/Python双重实现
- 可独立添加API特定服务器的单点记录结构
- 断开通用客户端和实用程序
- 可与Claude Desktop等MCP客户端配合使用
- 支持快速添加新API服务器的扫描
API目录
事前准备
- 公共数据门户在中注册会员
- 申请使用要使用的API
- 获得的\*\*常规验证密钥(Encoding)\*\*
.env在文件中设置
cp .env.example .env
# .env 파일을 열어 DATA_GO_KR_SERVICE_KEY 값을 입력하세요请参见:在服务密钥中+,=等特殊字符可能会在调用API时出现问题。在这种情况下,请从公共数据门户网站重新获得密钥。
项目结构
data-go-kr-mcp/
├── typescript/ # TypeScript MCP 서버들
│ ├── packages/
│ │ ├── shared/ # 공통 유틸리티 (DataGoKrClient 등)
│ │ └── servers/ # API별 MCP 서버
│ │ ├── air-quality/
│ │ └── weather-forecast/
├── python/ # Python MCP 서버들
│ ├── shared/ # 공통 유틸리티
│ └── servers/ # API별 MCP 서버
│ ├── air-quality/
│ └── weather-forecast/
├── templates/ # CLI 스캐폴딩용 템플릿
├── scripts/ # 자동화 스크립트
└── docs/ # 문서快速入门
TypeScript
cd typescript
npm install
npm run build
# 대기오염정보 서버 실행
cd packages/servers/air-quality
cp ../../../../.env.example .env
# .env에 서비스키(DATA_GO_KR_SERVICE_KEY) 입력
npx tsx src/index.ts如果您使用的是构建交付项,则可以直接运行dist/index.js。
python
# 대기오염정보 서버 실행
cd python/servers/air-quality
pip install -e .
cp ../../../.env.example .env
# .env에 서비스키(DATA_GO_KR_SERVICE_KEY) 입력
python -m src.serverClaude桌面设置
claude_desktop_config.json请在中添加服务器。有关详细设置,请参阅 Claude Desktop设置指南请参考。
测试
烟熏测试(不需要API密钥)
验证服务器的移动和工具注册:
node scripts/smoke-test.mjs --server air-quality --lang both测试工具调用(需要API密钥)
调用实际API验证响应:
node scripts/call-test.mjs --server air-quality --lang typescript添加新API
该存储库旨在轻松扩展新的公共数据API。\ 其他过程包括: API附加指南请参考。
CLI扫描
node scripts/create-server.mjs --name my-api --lang typescript