Skip to main content
Glama
README.md
# @vertical-mcp/ntis-mcp

MCP server for Korea's **NTIS** (National Science & Technology Information Service, 국가과학기술지식정보서비스) — the KISTI-operated portal that aggregates every national R&D project, funding call, and program in South Korea.

한국과학기술정보연구원(KISTI)이 운영하는 NTIS 공개 검색 포털(ntis.go.kr)을 MCP 서버로 래핑한 패키지. 국가 R&D 과제 · 공고 · 사업 검색을 Claude · Cursor 등 MCP 호환 클라이언트에서 바로 사용할 수 있다. **API 키 불필요.**

---

## Tools

| Tool | Description |
|------|-------------|
| `search_rnd_projects` | Search national R&D projects (과제). Returns ID, title, year, funding period, total/gov budget, program, PI, institution, ministry, and short research-content abstract. |
| `search_rnd_announcements` | Search open / recent funding calls (공고). Returns ID, title, ministry, application window, derived status (OPEN/CLOSED). |
| `search_rnd_programs` | Search R&D programs (사업) — the umbrella programs under which projects are funded. Returns ID, title, year, managing agency, ministry, budget. |

All three tools scrape the public ntis.go.kr search pages — **no registration or API key required**.

---

## Quick start

### Install

```bash
npx @vertical-mcp/ntis-mcp
```

Or install globally:

```bash
npm install -g @vertical-mcp/ntis-mcp
ntis-mcp
```

### Configure your MCP client

#### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "ntis-mcp": {
      "command": "npx",
      "args": ["-y", "@vertical-mcp/ntis-mcp"]
    }
  }
}
```

#### Cursor (`.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "ntis-mcp": {
      "command": "npx",
      "args": ["-y", "@vertical-mcp/ntis-mcp"]
    }
  }
}
```

---

## Examples

### Find AI-related national R&D projects

```
search_rnd_projects({
  query: "AI",
  page: 1,
  page_size: 10
})
```

### Search open funding calls for semiconductor R&D

```
search_rnd_announcements({
  query: "반도체",
  page: 1,
  page_size: 10
})
```

### Look up R&D programs on quantum technology

```
search_rnd_programs({
  query: "양자",
  page: 1,
  page_size: 10
})
```

---

## Companion packages

`ntis-mcp` is part of the `@vertical-mcp/*` family of Korean & international research-infrastructure MCP servers:

- [`@vertical-mcp/grant-mcp`](https://github.com/vertical-mcp/grant-mcp) — NSF (US) + ERC (EU) + NRF (Korea) research grants
- [`@vertical-mcp/dart-mcp`](https://github.com/vertical-mcp/dart-mcp) — Korean corporate disclosures (금감원 DART)
- [`@vertical-mcp/kolas-mcp`](https://github.com/vertical-mcp/kolas-mcp) — KOLAS accredited calibration / testing labs
- **`@vertical-mcp/ntis-mcp`** — Korean national R&D (this package)

---

## Development

```bash
git clone https://github.com/vertical-mcp/ntis-mcp.git
cd ntis-mcp
npm install
npm run build
npm start
```

### Scripts

- `npm run dev` — watch mode via `tsx`
- `npm run build` — compile to `dist/`
- `npm run typecheck` — no-emit type check
- `npm run clean` — remove `dist/`

---

## Data source caveats

`ntis-mcp` parses HTML from <https://www.ntis.go.kr>. If NTIS redesigns the search portal, selectors may break — open an issue and tag it `scrape-drift`.

A future v0.2+ release will layer the **official NTIS OpenAPI** (https://www.ntis.go.kr/rndopen/api/mng/apiMain.do) under the same tool interface. Eight public-access endpoints are available on the KISTI OpenAPI portal; each requires individual `활용신청` approval, so the current zero-key HTML path is the quickest on-ramp for new users.

---

## Roadmap

- **v0.1** — `search_rnd_projects`, `search_rnd_announcements`, `search_rnd_programs` (HTML scraping, this release)
- **v0.2** — KISTI OpenAPI integration when user-supplied `NTIS_OPENAPI_KEY` is configured; fallback to scraping otherwise
- **v0.3** — `search_rnd_performance` (papers / patents / reports / facilities), `get_researcher_profile`
- **v0.4** — cross-linking with `grant-mcp`, `dart-mcp`, `kolas-mcp`

---

## Legal / attribution

- Data source: [NTIS 국가과학기술지식정보서비스](https://www.ntis.go.kr) — Korea Institute of Science and Technology Information (KISTI).
- This package is an unofficial community wrapper. It is not affiliated with or endorsed by KISTI or the Ministry of Science and ICT.
- Please respect the source portal's rate limits — scraping is courteous and sparse by default.

---

## License

MIT © 2026 Yongbum Kim

TDQS

A3.9/5.0

Scored across 3 tools

Disambiguation5/5

Each tool targets a distinct entity type in the R&D domain: announcements (funding calls), programs (umbrella programs), and projects (individual projects). No overlap in purpose, and the descriptions clearly differentiate them.

Naming Consistency5/5

All tools follow the exact pattern 'search_rnd_<entity>', using snake_case consistently. The prefix 'search_rnd_' is uniform, and the entity names ('announcements', 'programs', 'projects') are clear and parallel.

Tool Count4/5

Three tools is slightly low but appropriate given the focused domain of Korean national R&D data. Each tool covers a core entity, and no unnecessary tools exist. A few more detail-oriented tools could be added, but the current count is reasonable.

Completeness4/5

The tools cover the primary searchable entities in the R&D funding lifecycle: announcements (calls), programs, and projects. Missing are detail retrieval tools for specific entities, but the search tools return rich metadata, so agents can work within this surface.

Maintenance

ActivityInactive
ResponsivenessNo issues