Skip to main content
Glama
ansua79
by ansua79
README.md
# AIHUB-MCP
AI 허브의 데이터셋을 검색하고 조회할 수 있는 MCP (Model Context Protocol) 서버입니다.
AI 허브는 과학기술정보통신부와 한국지능정보사회진흥원이 운영하는 국가 AI 개발 지원 플랫폼입니다.
https://www.aihub.or.kr/devsport/apishell/list.do?currMenu=403&topMenu=100

[![License: CC BY-NC 4.0](https://img.shields.io/badge/License-CC%20BY--NC%204.0-yellow.svg)](https://creativecommons.org/licenses/by-nc/4.0/)
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)

## 기능


### v0.1.0 (2025-11-10)
  
- AIHUB 전체 데이터셋 목록 조회 기능
- 특정 데이터셋 상세 정보 조회
- 키워드 기반 데이터셋 검색 기능
- AIHUB 데이터패키지 조회 기능
- 특정 데이터패키지 상제 정보 조회
- 데이터셋 다운로드 방법 안내 기능

## 사전 준비

### 1. AI Hub API Key 발급

1. [AI Hub 웹사이트](https://www.aihub.or.kr) 접속
2. 회원가입 및 로그인
3. **개발자 지원 > API Shell > API key 발급** 메뉴에서 API 키 발급
4. 이메일로 발급된 API 키 확인

### 2. 요구사항

- Python 3.10 이상
- uv (Python 패키지 관리 도구)

## 설치 및 설정

### 1. 저장소 클론 또는 다운로드

```bash
# Git clone
git clone https://github.com/ansua79/aihub-mcp.git
cd aihub-mcp
```

### 2. 환경변수 설정

`.env.example` 파일을 복사하여 `.env` 파일 생성:

```bash
cp .env.example .env
```

`.env` 파일을 열어 발급받은 API 키 입력:

```bash
AIHUB_APIKEY=your-api-key-here
```

### 3. 의존성 설치

```bash
uv sync
```

또는 수동으로:

```bash
uv pip install mcp httpx python-dotenv
```

## 사용 방법

### 로컬에서 직접 실행

```bash
cd aihub-mcp
uv run server.py
```

### Claude Desktop과 연동

Claude Desktop의 설정 파일을 수정합니다:

**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "aihub": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/aihub-mcp",
        "run",
        "aihub-mcp-server.py"
      ]
    }
  }
}
```

**주의**: `/absolute/path/to/aihub-mcp`를 실제 프로젝트 경로로 변경하세요.

예시:
- Windows: `C:/Users/YourName/projects/aihub-mcp`
- macOS/Linux: `/home/username/projects/aihub-mcp`

설정 후 Claude Desktop을 재시작하면 MCP 서버가 자동으로 연결됩니다.

## 제공되는 도구 (Tools)

### 1. `list_datasets`
AI Hub의 전체 데이터셋 목록을 조회합니다.

**사용 예시**:
```
AI Hub에 어떤 데이터셋이 있어?
```

### 2. `get_dataset_details`
특정 데이터셋의 상세 정보와 파일 구조를 조회합니다.

**파라미터**:
- `dataset_key` (필수): 데이터셋 키(번호)

**사용 예시**:
```
데이터셋 593번의 상세 정보를 알려줘
```

### 3. `search_datasets`
키워드로 데이터셋을 검색합니다.

**파라미터**:
- `keyword` (필수): 검색 키워드

**사용 예시**:
```
헬스케어 관련 데이터셋을 찾아줘
```

### 4. `list_data_packages`
AI Hub의 데이터패키지 목록을 조회합니다.

**사용 예시**:
```
데이터패키지 목록을 보여줘
```

### 5. `get_package_details`
특정 데이터패키지의 상세 정보를 조회합니다.

**파라미터**:
- `package_key` (필수): 데이터패키지 키(번호)

**사용 예시**:
```
데이터패키지 1번의 상세 정보를 알려줘
```

### 6. `get_download_info`
데이터셋 다운로드 방법과 링크를 제공합니다.

**파라미터**:
- `dataset_key` (필수): 데이터셋 키(번호)
- `file_keys` (선택): 파일 키 (기본값: "all")

**사용 예시**:
```
데이터셋 593번을 다운로드하려면 어떻게 해?
```

## 프로젝트 구조

```
aihub-mcp/
├── .env                    # API 키 설정 (git 제외)
├── .env.example           # 환경변수 예시
├── .gitignore
├── README.md
├── pyproject.toml         # 프로젝트 설정
├── uv.lock                # 의존성 잠금 파일
└── aihub-mcp-server.py              # MCP 서버 메인 코드
```

## API 엔드포인트

이 MCP 서버는 다음 AI Hub API 엔드포인트를 사용합니다:

- `GET /info/dataset.do` - 데이터셋 목록
- `GET /info/{datasetkey}.do` - 데이터셋 상세 정보
- `GET /info/datapckage.do` - 데이터패키지 목록
- `GET /info/pckage/{datapckagekey}.do` - 데이터패키지 상세 정보

## 문제 해결

### API 키 오류
```
ValueError: AIHUB_APIKEY not found
```
→ `.env` 파일에 올바른 API 키가 설정되어 있는지 확인하세요.

### Claude Desktop 연결 안됨
1. 설정 파일의 경로가 절대 경로인지 확인
2. Claude Desktop을 완전히 종료 후 재시작
3. 터미널에서 `uv run server.py`로 직접 실행하여 오류 확인

### 네트워크 오류
```
API 요청 실패: ...
```
→ 인터넷 연결 및 AI Hub API 서버 상태를 확인하세요.


## 라이선스

이 프로젝트는 **Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0)** 하에 배포됩니다.

- ✅ 개인적/학술/연구/교육 목적 사용, 비상업적 사용 허용
- ❌ 상업적 사용 금지
- 💼 상업적 사용을 원하시는 경우 별도 라이선스가 필요합니다. 문의: [raezero@kisti.re.kr]

자세한 내용은 [LICENSE](https://github.com/ansua79/kisti-mcp/LICENSE) 파일을 참조하세요.



## KISTI 초거대AI연구센터 AI플랫폼팀

KISTI의 초거대AI연구센터는 2023년 12월 KISTI는 생성형 거대 언어 모델 'KONI(KISTI Open Natural Intelligence)'의 첫선을 토대로 2024년 3월 정식 출범한 부서이며, 
**AI플랫폼팀은 AI모델 관련 플랫폼 기술 및 Agent 서비스 개발**을 담당하고 있습니다.

## 지원

문제가 있거나 질문이 있으시면 이메일(raezero@kisti.re.kr)을 보내주시거나 [Issues](https://github.com/ansua79/aihub-mcp/issues)에서 문의해주세요.

## 관련 링크

- [KONI:KISTI Open Neural Intelligence](https://huggingface.co/KISTI-KONI) - KISTI 과학기술정보 특화 거대언어생성모델
- [KISTI AI Platform Team](https://github.com/KISTI-AI-Platform-Team/BlueSkyNova) - KISTI 초거대AI연구센터 AI플랫폼팀
- [DOREA:Document-Oriented Reasoning and Exploration Assistant](https://github.com/Byun11/Dorea-pdf-ai) 
- [SpectraBench](https://github.com/gwleee/SpectraBench) - Intelligent Scheduling System for Large Language Model Benchmarking
- [AI Hub 공식 웹사이트](https://www.aihub.or.kr)
- [AI Hub API Shell 가이드](https://www.aihub.or.kr/devsport/apishell/list.do)