数据网关 MCP 服务

将韩国公共数据门户的 OpenAPI 转换为 MCP(模型上下文协议)服务器,支持 TypeScript 和 Python 两种语言实现,便于扩展和集成。

  • by DatagokrGit
  • JavaScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 DatagokrGit/data-go-kr-mcp

使用说明

数据转到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 描述 TypeScript Python
空气质量 韩国环境公团Air Korea空气污染信息
天气预报 气象厅短期预报

事前准备

  1. 公共数据门户在中注册会员
  2. 申请使用要使用的API
  3. 获得的**常规验证密钥(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.server

Claude桌面设置

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

文档

许可证

麻省理工学院