Skip to main content
Glama
SilverQ

KIPRIS Plus MCP Server

by SilverQ
README.md
# KIPRIS Plus MCP Server

KIPRIS Plus Open API를 MCP(Model Context Protocol) 도구로 제공하는 서버입니다.  
Claude Desktop, Cursor, 기타 MCP 호환 클라이언트에 등록해 사용합니다.

---

## 제공 도구 (Tools)

| 도구명 | 설명 |
|--------|------|
| `kipris_search` | KIPRIS 검색식(query) 직접 입력 검색 |
| `kipris_item_search` | 필드별 조건 입력 검색 (출원인·발명자·IPC·날짜 등) |
| `kipris_free_search` | 키워드 자유 검색 |
| `kipris_bibliography` | 출원번호로 서지정보 단건 조회 |
| `kipris_build_query` | 자연어 → KIPRIS 검색식 변환 |

---

## 설치 방법

### 1. 사전 요구사항

- **Node.js 18 이상** ([nodejs.org](https://nodejs.org) 에서 설치)
- **KIPRIS Plus API 키** ([plus.kipris.or.kr](https://plus.kipris.or.kr) 에서 회원가입 후 발급)

### 2. 패키지 설치

```bash
# 프로젝트 폴더로 이동
cd kipris-mcp

# 의존성 설치
npm install
```

### 3. MCP 클라이언트에 등록

#### Claude Desktop

설정 파일 위치:
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

아래 내용을 `mcpServers` 블록에 추가합니다:

```json
{
  "mcpServers": {
    "kipris": {
      "command": "node",
      "args": ["/절대경로/kipris-mcp/src/index.js"],
      "env": {
        "KIPRIS_API_KEY": "여기에_발급받은_API키_입력"
      }
    }
  }
}
```

> `args` 의 경로를 **실제 절대경로**로 교체하세요.  
> 예(macOS): `"/Users/yourname/kipris-mcp/src/index.js"`  
> 예(Windows): `"C:\\Users\\yourname\\kipris-mcp\\src\\index.js"`

#### Cursor

`.cursor/mcp.json` 또는 Cursor 설정의 MCP 섹션에 동일하게 추가합니다.

#### 기타 MCP 클라이언트

stdio 기반 MCP 서버로, 아래 명령으로 직접 실행합니다:

```bash
KIPRIS_API_KEY=발급키 node src/index.js
```

---

## 사용 예시

Claude에게 아래와 같이 요청할 수 있습니다:

```
삼성전자의 배터리 관련 특허를 최신 순으로 30건 검색해줘

LG화학이나 삼성SDI가 2021년 이후 출원한 전고체 배터리 특허를 찾아줘

출원번호 1020200012345의 서지정보를 조회해줘

"홍길동 발명자의 반도체 공정 특허"를 KIPRIS 검색식으로 변환하고 검색해줘
```

---

## 검색식 문법 참조

| 연산자 | 기호 | 예시 |
|--------|------|------|
| AND | `*` | `TI=배터리*AP=삼성전자` |
| OR | `+` | `TI=배터리+TI=전지` |
| NOT | `!` | `TI=배터리!TI=리튬` |

| 필드코드 | 의미 | 예시 |
|---------|------|------|
| `TI` | 발명의 명칭 | `TI=배터리` |
| `AB` | 요약 | `AB=리튬이온` |
| `CL` | 청구범위 | `CL=전극재료` |
| `AP` | 출원인 | `AP=삼성전자` |
| `INV` | 발명자 | `INV=홍길동` |
| `IPC` | IPC 분류코드 | `IPC=H01M` |
| `AD` | 출원일 범위 | `AD=20200101~20241231` |
| `GD` | 등록일 범위 | `GD=20220101~` |

---

## 결과 필드 (서지정보)

검색 결과에는 KIPRIS 홈페이지 기본 제공 항목이 그대로 포함됩니다:

| 필드 | 설명 |
|------|------|
| 발명의명칭 | 특허/실용신안 발명 명칭 |
| 출원번호 | 출원 번호 |
| 출원일 | 출원 일자 |
| 출원인 | 출원인명 |
| 발명자 | 발명자명 |
| 대리인 | 대리인(특허법인)명 |
| 등록번호 | 등록 번호 |
| 등록일 | 등록 일자 |
| 공개번호 | 공개 번호 |
| 공개일 | 공개 일자 |
| 공고번호 | 공고 번호 |
| 공고일 | 공고 일자 |
| IPC | IPC 분류코드 |
| CPC | CPC 분류코드 |
| 상태 | 특허 상태 (등록/공개/공고/소멸 등) |
| 요약 | 발명 요약(초록) |

---

## 주의사항

- 검색 결과 **500건 초과** 시 경고 메시지가 반환됩니다. 조건을 구체화해 범위를 한정하세요.
- KIPRIS Plus API 무료 계정은 **월 1,000건, 초당 50건** 미만 호출 제한이 있습니다.
- API 키는 환경변수 `KIPRIS_API_KEY`로만 전달하세요. 코드에 직접 삽입하지 마세요.

TDQS

A3.6/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: kipris_bibliography retrieves detailed bibliographic information for a single patent, kipris_build_query converts natural language to a search query, kipris_cpc_search searches by CPC code, kipris_free_search performs keyword searches across all fields, kipris_item_search allows field-specific searches, and kipris_search handles keyword searches in patent text. There is no overlap or ambiguity between these functions.

Naming Consistency5/5

All tool names follow a consistent pattern: they start with 'kipris_' followed by a descriptive term (e.g., bibliography, build_query, cpc_search). This uniform prefix and snake_case structure make the tools easily identifiable and predictable.

Tool Count5/5

With 6 tools, this server is well-scoped for patent search and retrieval. It covers key operations like detailed lookups, query building, and various search methods (CPC, free, item-specific), which is appropriate for the domain without being overwhelming or insufficient.

Completeness4/5

The tool set provides comprehensive coverage for patent search and retrieval, including query building, multiple search types, and detailed information access. A minor gap is the lack of explicit update or delete operations, but this is reasonable given the server's focus on querying a static patent database, and agents can work effectively with the provided tools.

Maintenance

ActivityInactive
ResponsivenessNo issues