Metadata-Version: 2.4
Name: scienceon-mcp
Version: 1.0.0
Summary: ScienceON-MCP Server - MCP server for KISTI ScienceON OpenAPI
Author-email: raezero <raezero@kisti.re.kr>
License-Expression: CC-BY-NC-4.0
Project-URL: Homepage, https://github.com/ansua79/scienceon-mcp
Project-URL: Repository, https://github.com/ansua79/scienceon-mcp
Project-URL: Issues, https://github.com/ansua79/scienceon-mcp/issues
Keywords: kisti,scienceon,mcp,research,papers,patents,reports
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: fastmcp>=2.10.0
Requires-Dist: httpx>=0.25.0
Requires-Dist: pycryptodome>=3.19.0

# ScienceON-MCP

![ScienceON](./media/so-api-gateway.png)

KISTI ScienceON OpenAPI를 MCP(Model Context Protocol) 서버로 래핑한 프로젝트입니다.
Claude 등 MCP 클라이언트에서 ScienceON의 논문, 특허, 보고서, 동향, 과학향기, 연구자, 연구기관, 기술트렌드, 과학기술뉴스를 직접 검색할 수 있습니다.
2025년3월 현재 ScienceON API Gateway에서 제공하는 모든 API를 활용할 수 있습니다.

> MCP를 지원하는 모든 클라이언트(Claude Desktop, Cursor 등)에서 사용 가능합니다.

## 도구 목록 (17개)

| 도구명 | 분류 | 설명 |
|--------|------|------|
| `scienceon_papers` | 논문 | 국내외학술지, 학술회의논문, 국내학위논문, 저널·프로시딩 서지 등 검색 |
| `scienceon_paper_details` | 논문 | CN번호로 논문 상세정보 조회 (인용/참고문헌, 유사논문 포함) |
| `scienceon_patents` | 특허 | 한국·미국·유럽·일본·국제특허 등 검색 |
| `scienceon_patent_details` | 특허 | CN번호로 특허 상세정보 조회 (유사특허, 인용특허 포함) |
| `scienceon_patent_citations` | 특허 | CN번호로 특허 인용/피인용 관계 조회 |
| `scienceon_reports` | 보고서 | 국가연구개발보고서, 각종 분석리포트 등 검색 |
| `scienceon_report_details` | 보고서 | CN번호로 보고서 상세정보 조회 (인용논문/특허/보고서 포함) |
| `scienceon_news_trends` | 동향 | 해외과학기술동향, 과학기술 정책동향, 정보서비스 글로벌동향 등 검색 |
| `scienceon_news_trend_details` | 동향 | CN번호로 동향 기사 상세정보 조회 |
| `scienceon_scents` | 과학향기 | 과학 대중화 메일 매거진 (칼럼·상식기사), 발행연도로 검색 (예: "2024") |
| `scienceon_scent_details` | 과학향기 | CN번호로 과학향기 칼럼 본문 조회 |
| `scienceon_researchers` | 연구자 | 국내 식별 연구자의 논문·보고서·특허 목록 포함 검색 |
| `scienceon_researcher_details` | 연구자 | CN번호로 연구자 상세정보 조회 |
| `scienceon_organizations` | 연구기관 | 국내 식별 연구기관의 논문·보고서·특허 목록 포함 검색 (한글 기관명 권장) |
| `scienceon_organization_details` | 연구기관 | CN번호로 연구기관 상세정보 조회 |
| `scienceon_tech_trends` | ScienceON Trend | 키워드로 기술트렌드 토픽 검색 (연관키워드, 정의, PDF 포함) |
| `scienceon_weekly_news` | 금주의과학기술뉴스 | 주차별·월별 신뢰성 높은 국내외 과학기술뉴스, 날짜(YYYYMMDD)로 조회 |

---

## 요구사항

| 항목 | 방법 1 (uvx) | 방법 2 (uv 소스) |
|------|:---:|:---:|
| uv | ✅ 필수 | ✅ 필수 |
| git | — | ✅ 필수 |
| Python | ✅ uv가 자동 설치 | ✅ uv가 자동 설치 |
| 패키지 (fastmcp 등) | ✅ uvx가 자동 설치 | ✅ uv run이 자동 설치 |

- **ScienceON OpenAPI 인증정보** (API Key, Client ID, MAC Address)
  - 신청: [ScienceON OpenAPI](https://scienceon.kisti.re.kr/openapi)

### Windows 11에서 사전 설치

**1. uv 설치**

PowerShell을 열고 아래 명령을 실행합니다.

```powershell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```

설치 후 터미널을 재시작하면 `uv`, `uvx` 명령을 사용할 수 있습니다.

**2. git 설치** (방법 2 사용 시에만 필요)

```powershell
winget install --id Git.Git
```

---

## 설치 및 설정

### 방법 1: uvx 사용 (권장)

별도의 저장소 클론 없이 PyPI에서 자동으로 설치하여 실행합니다.
uv만 설치되어 있으면 됩니다.

**Claude Desktop 설정** (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "scienceon": {
      "command": "uvx",
      "args": ["scienceon-mcp"],
      "env": {
        "SCIENCEON_API_KEY": "your_api_key",
        "SCIENCEON_CLIENT_ID": "your_client_id",
        "SCIENCEON_MAC_ADDRESS": "your_mac_address"
      }
    }
  }
}
```

---

### 방법 2: uv로 소스 직접 실행

저장소를 클론한 후 소스에서 직접 실행합니다.

**저장소 클론** (예: `C:\mcp` 폴더 기준):

```powershell
cd C:\mcp
git clone https://github.com/ansua79/scienceon-mcp
```

> git이 없다면 PowerShell에서 `winget install --id Git.Git` 으로 설치하세요.

**Claude Desktop 설정** (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "scienceon": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "C:\\mcp\\scienceon-mcp",
        "scienceon-mcp"
      ],
      "env": {
        "SCIENCEON_API_KEY": "your_api_key",
        "SCIENCEON_CLIENT_ID": "your_client_id",
        "SCIENCEON_MAC_ADDRESS": "your_mac_address"
      }
    }
  }
}
```

---

### Claude Desktop 설정 파일 위치

| OS | 경로 |
|----|------|
| Windows | `%APPDATA%\Claude\claude_desktop_config.json` |
| macOS | `~/Library/Application Support/Claude/claude_desktop_config.json` |

설정 파일을 수정한 후 Claude Desktop을 재시작하면 적용됩니다.

---

## 기술 스택

- Python 3.10+
- [FastMCP](https://gofastmcp.com) 2.10+
- httpx
- pycryptodome (ScienceON AES 인증)

## 라이선스

CC-BY-NC-4.0
