Skip to main content
Glama
chrisryugj

Korean Patent MCP (KIPRIS)

by chrisryugj

Korean Patent MCP (KIPRIS)

version License: MIT

특허청 KIPRIS Plus 오픈API를 MCP 도구로 노출하는 서버. 특허·실용신안·상표·디자인을 키워드/항목/출원인/권리자로 검색하고, 출원번호로 상세 서지정보를 조회한다.

korean-law-mcp 아키텍처를 벤치마킹 — lib/tools 레이어 분리, fetch 재시도·키 마스킹, Zod 검증, stateless HTTP, TTL 캐시, 응답 크기 제한, [NOT_FOUND] 환각방지 패턴.

도구 (7)

도구

설명

KIPRIS 오퍼레이션

search_patents

자유검색 — 키워드로 특허·실용신안 통합검색 (발명명칭·초록·청구항·출원인)

freeSearchInfo

search_patents_advanced

항목검색 — IPC·발명명칭·초록·청구범위·출원인·발명자 조합 정밀검색

getAdvancedSearch

search_by_applicant

출원인검색 — 기업·개인 출원인명으로 출원 목록

applicantNameSearchInfo

search_by_rightholder

권리자검색 — 현재 특허권 보유자(권리이전 반영)

rightHolerSearchInfo

get_patent_detail

서지상세 — 출원번호 → 출원인·발명자·IPC·심사관·청구항수·최종처분·등록상태

getBibliographyDetailInfoSearch (폴백 applicationNumberSearchInfo)

search_trademark

상표검색 — 상표명 키워드 (출원상태·상품류·권리자·견본이미지)

trademarkInfoSearchService/getWordSearch

search_design

디자인검색 — 물품명 키워드 (디자인분류·출원상태·도면이미지)

designInfoSearchService/getWordSearch

Related MCP server: patents-mcp

원격 엔드포인트 (설치 없음)

공개 remote 서버가 떠 있어 설치 없이 바로 쓸 수 있다. 공식 주소는 통합 호스트 하나뿐이다 (구 개별 주소 korean-patent-mcp.fly.dev 는 통합 후 중단 — 설정에 남아 있으면 아래로 교체):

https://mcp.gomdori.app/patent
  • claude.ai 커스텀 커넥터 URL로 붙여넣으면 끝 (자체 KIPRIS 키는 kipris-key 헤더로 전달 가능, 없으면 서버 공용 키 폴백)

  • Claude Code: claude mcp add --transport http korean-patent https://mcp.gomdori.app/patent

  • 서버 공용 키 폴백은 무키 사용자 전원이 공유하는 전역 쿼터(운영값: 분당 30 + 롤링 24시간 30회)라 상시 사용에는 부족하다. 자기 키를 헤더로 넘기면 이 게이트를 타지 않는다.

설치 & 빌드

npm install
npm run build

인증키

KIPRIS Plus 인증키가 필요하다. plus.kipris.or.kr 회원가입 후 사용할 서비스(특허·실용 / 상표 / 디자인)를 각각 활용신청하면 단일 인증키로 모두 호출된다. (data.go.kr 발급 키도 동일 키 체계.)

cp .env.example .env
# .env 에 KIPRIS_API_KEY=발급키 입력

권한은 오퍼레이션(상세기능) 단위다. 신청하지 않은 기능은 resultCode 30(미등록)으로 거부된다. 예: 특허만 신청했다면 search_trademark/search_design 은 30 을 반환한다. 각 서비스를 추가 신청하면 즉시 동작한다.

실행

STDIO (Claude Desktop / Claude Code)

{
  "mcpServers": {
    "korean-patent": {
      "command": "node",
      "args": ["/절대경로/korean-patent-mcp/build/index.js"],
      "env": { "KIPRIS_API_KEY": "발급키" }
    }
  }
}

HTTP (stateless, 클라우드 배포)

node build/index.js --mode http --port 8000
# 키: 요청 헤더(apikey / x-api-key / kipris-key / Authorization: Bearer) 또는 서버 환경변수 폴백

키는 요청별(BYOK) 헤더가 우선이고, 없으면 서버 KIPRIS_API_KEY 로 폴백한다. 폴백 호출은 무료 한도(1,000회/월)를 보호해야 하는데, 실질 방어선은 분당이 아니라 일일 총량이다 (분당 상한만으로는 하루 이론 최대가 월 한도를 수십 배 넘는다). 그래서 분당 게이트는 버스트 흡수용으로만 두고 총량은 FALLBACK_DAILY_CAP(기본 30 ≈ 1,000÷31)이 잡는다. 두 게이트 모두 tools/call만 계수하며, 핸드셰이크(initialize/tools/list)는 KIPRIS 쿼터를 쓰지 않으므로 계수하지 않는다 — 계수하면 커넥터가 붙을 때마다 쿼터가 깎여 도구 목록조차 못 싣는다.

HTTP 모드 환경변수

변수

기본

설명

CORS_ORIGIN

* (경고)

허용 도메인. 프로덕션은 명시 권장

RATE_LIMIT_RPM

60

IP당 분당 tools/call 한도

FALLBACK_RATE_LIMIT_RPM

10

키 없는 요청의 서버 키 폴백 분당 상한(토큰버킷 — 연속 리필). 0이면 폴백 차단(BYOK 강제)

FALLBACK_RATE_LIMIT_BURST

= RPM

폴백 토큰버킷 용량(1분치)

FALLBACK_DAILY_CAP

30

폴백의 롤링 24시간 총량 캡. 0이면 비활성

MCP_MAX_BATCH_CALLS

20

단일 POST(JSON-RPC 배치)의 tools/call 최대 개수

TRUST_PROXY

1

Express trust proxy 단수. true/all은 XFF 스푸핑 위험

MCP_BODY_LIMIT

100kb

POST 본문 크기 한도

429 응답에는 Retry-After 헤더와 본문 대기 초 안내가 실린다.

Docker / Fly.io:

flyctl launch --dockerfile Dockerfile
flyctl secrets set KIPRIS_API_KEY=발급키
flyctl deploy

사용 예 (사용자 질의 → 도구)

사용자가 묻는 것

도구 호출

"드론 배터리 관련 특허 찾아줘"

search_patents(query="드론 배터리")

"G06N 분류 AI 특허 중 삼성 것"

search_patents_advanced(ipc="G06N", applicant="삼성")

"발명명칭에 '폴더블' 들어간 특허"

search_patents_advanced(inventionTitle="폴더블")

"현대자동차가 출원한 특허 목록"

search_by_applicant(applicant="현대자동차")

"지금 LG가 보유한 특허"

search_by_rightholder(rightHolder="LG전자")

"이 출원번호 상세 정보"

get_patent_detail(applicationNumber="10-2016-0172841")

"카카오 상표 등록됐나?"

search_trademark(query="카카오")

"의자 디자인 등록 사례"

search_design(query="의자")

공통 옵션 (get_patent_detailapplicationNumber 만 받는다)

  • numOfRows (1~100, 기본 10), pageNo (기본 1) — 검색 6종 공통, 페이징 지원

  • patent / utility — 검색 대상 (특허/실용신안). 상표·디자인 검색에는 없음

  • descSort — 내림차순(최신순) 여부. 상표·디자인 검색에는 없음

  • sortSpecAD(출원일) OPD(공개일) GD(공고일) RD(등록일) PD(우선일). 자유검색·항목검색만

  • withAbstract — (자유검색) 초록 본문 포함

동작·한계 (실측 기준)

  • 검색 연산자: 자유검색어의 + * ? ! ^ 는 KIPRIS 검색연산자로 해석된다. 예) C+++ 가 연산자로 작동해 의도와 다른 결과가 나올 수 있다. 정확검색은 항목검색(search_patents_advanced)을 사용.

  • 해외특허는 별도 서비스(ForeignPatentAdvencedSearchService)이며 현재 인증키에 미신청 상태(resultCode 30)라 미지원. 활용신청 시 도구 추가 가능.

  • 응답 5만 자 초과항목 경계에서 자동 절단(⚠️ 표기) — 레코드가 중간에 끊겨 LLM 이 오인하는 것을 방지. (문자 수 기준이라 한글은 UTF-8 로 최대 ~150KB) 더 보려면 numOfRows 를 줄이거나 pageNo 로 페이징.

  • 0건[NOT_FOUND] 로 명시 반환 (LLM 환각 방지). 깊은 페이지(pageNo>1)의 0건은 "마지막 페이지 도달" 가능성을 별도 안내.

  • 전송 보안: KIPRIS 호출은 기본 https. 키가 쿼리스트링에 실리므로 평문 노출 방지. (KIPRIS_API_PROTOCOL=http 로만 평문 전환)

resultCode (KIPRIS 공식)

코드

의미

대응

00

정상

10 / 11

파라미터 오류 / 필수누락

검색조건 확인

20

결과 없음

빈 결과로 정상 처리

30

인증키 미등록(서비스 미신청)

해당 서비스 활용신청

31

인증키 사용기한 만료

연장/재발급

구조

src/
├── index.ts            진입점 (STDIO / HTTP 모드)
├── version.ts          서버 버전 단일 출처 (MCP serverInfo · 루트 `/` 정보 응답)
├── tool-registry.ts    도구 7개 등록 + Zod→JSON Schema 변환 (apiKey 숨김)
├── lib/
│   ├── api-client.ts       KIPRIS 엔드포인트 래핑 (openapi/rest + kipo-api)
│   ├── fetch-with-retry.ts 타임아웃·재시도·키 마스킹
│   ├── xml-parser.ts       헤더검사·검색목록·항목검색·상표·디자인·서지상세 파싱
│   ├── format.ts           도메인별 결과 텍스트 포맷팅
│   ├── errors.ts           KIPRIS resultCode 표준화 + 환각방지
│   ├── rate-limit.ts       폴백 게이트 — 토큰버킷 + 롤링 일일 캡
│   ├── cache.ts            TTL+LRU 캐시
│   ├── schemas.ts          응답 크기 제한
│   ├── session-state.ts    요청별 키 격리 (AsyncLocalStorage)
│   └── types.ts
├── tools/              search / advanced / applicant / rightholder / detail / trademark / design
└── server/http-server.ts   Streamable HTTP (rate limit, CORS, trust proxy)

라이선스

MIT

Available Tools

7 tools
get_patent_detailA

[서지상세] 출원번호로 상세 서지정보 조회 (출원인·발명자·IPC·청구항수·심사관·최종처분·등록상태).

ParametersJSON Schema
NameRequiredDescriptionDefault
applicationNumberYes출원번호 (하이픈 유무 무관). 예: '1020160172841' 또는 '10-2016-0172841'

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does not explicitly state that the tool is read-only, has no side effects, or disclose any behavioral traits such as authentication requirements or rate limits. The output field list helps but does not substitute for transparency on behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with a label and a parenthetical list of fields. Every part is informative with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of a single-parameter detail fetch, the description is adequate. However, it does not explain the return format (single object vs array, structure), error handling, or any pagination, leaving some gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes the applicationNumber parameter with examples. The main description adds no new semantic constraints but contextualizes the output, which is useful. Schema coverage is 100%, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves detailed bibliographic information by application number, listing specific data fields (applicant, inventor, IPC, etc.). This distinguishes it from sibling search tools that have different query parameters.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you have an application number and need a comprehensive bibliographic record. Sibling tools are search-oriented, so context is clear, though no explicit when-not-to-use or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_by_applicantC

[출원인검색] 기업·개인 출원인명으로 출원 특허 목록 조회. 예: '삼성전자'.

ParametersJSON Schema
NameRequiredDescriptionDefault
applicantYes출원인명 (기업·개인). 예: '삼성전자', '현대자동차'
patentNo특허 포함 (기본 true)
utilityNo실용신안 포함 (기본 true)
numOfRowsNo결과 수 (기본 10, 최대 100)
pageNoNo페이지 번호 (기본 1)
descSortNo최신순 (기본 true)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries full burden. It does not disclose any behavioral traits such as what happens with invalid input, rate limits, or authentication requirements. It only says it returns a list of applications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with an example. It is front-loaded and efficient, but lacks structural elements like bullet points or sections.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 6 parameters and no output schema, the description is too sparse. It does not explain the output format, pagination behavior, or how results are sorted beyond the 'descSort' parameter. Sibling tools are not referenced.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the parameters are already documented. The description adds no new parameter details beyond the example for 'applicant' (already in schema). Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool searches for patent applications by applicant name, with an example. It distinguishes from siblings by specifying 'by applicant', but does not explicitly contrast with similar tools like search_by_rightholder.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives (e.g., search_by_rightholder or search_patents_advanced). It only states what it does, leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_by_rightholderB

[권리자검색] 현재 특허권을 보유한 최종권리자명으로 조회 (권리 이전 반영).

ParametersJSON Schema
NameRequiredDescriptionDefault
rightHolderYes최종권리자명 (현재 특허권 보유자). 예: 'LG에너지솔루션'
patentNo특허 포함 (기본 true)
utilityNo실용신안 포함 (기본 true)
numOfRowsNo결과 수 (기본 10, 최대 100)
pageNoNo페이지 번호 (기본 1)
descSortNo최신순 (기본 true)

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions that right transfers are reflected, which is a behavioral clue, but it does not disclose whether the tool is read-only, has rate limits, or other side effects. For a search tool, this is minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no redundant words. It includes a helpful bracketed category and the core functionality. Every element earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 6 parameters, all documented in schema but no output schema and no annotations, the description is too short. It does not explain pagination, sorting, or output format. More context about expected results or limitations would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add any additional meaning beyond what is already in the schema; it only repeats the purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches by the final right holder name who currently holds patent rights, reflecting right transfers. This distinguishes it from sibling tools like search_by_applicant, which searches by applicant rather than current owner.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for finding patents by current final right holder but does not explicitly provide when-to-use or when-not-to-use guidance compared to other sibling tools. The context is implied but not directly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_designB

[디자인검색] 물품명 키워드로 디자인 검색 (디자인분류·출원상태·도면이미지). 예: '의자'.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes디자인 물품명 키워드. 예: '의자', '휴대폰 케이스'
numOfRowsNo결과 수 (기본 10, 최대 100)
pageNoNo페이지 번호 (기본 1)

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, authentication needs, rate limits, or whether it mutates data. It is likely a read operation, but this is not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, front-loaded with the purpose, and includes a relevant example. It efficiently conveys essential information with minimal words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with 3 parameters and no output schema, the description covers the basic purpose and example. However, it ambiguously mentions design classification, application status, and drawing images without clarifying if they are filters or outputs, leaving some gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters adequately. The description adds an example keyword but does not provide additional semantic value beyond what the schema offers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches for designs by product name keyword, mentioning additional facets like design classification, application status, and drawing images. It distinguishes from sibling tools that target patents or trademarks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for design search by product name and gives an example, but does not explicitly state when to use this tool over alternatives like search_patents or search_trademark. No when-not or exclusion guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_patentsB

[자유검색] 키워드로 특허·실용신안 통합검색 (발명명칭·초록·청구항·출원인). 가장 일반적인 검색.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes자유검색 키워드 (발명명칭·초록·청구항·출원인 통합검색). 예: '드론 배터리'
withAbstractNo초록 본문 포함 여부 (기본 false)
patentNo특허 포함 (기본 true)
utilityNo실용신안 포함 (기본 true)
numOfRowsNo결과 수 (기본 10, 최대 100)
pageNoNo페이지 번호 (기본 1)
descSortNo최신순 내림차순 (기본 true)
sortSpecNo정렬기준: AD=출원일 OPD=공개일 GD=공고일 RD=등록일 PD=우선일AD

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It explains the search scope (patents, utility models, fields) but does not disclose behavioral traits such as being read-only, pagination behavior, authentication needs, or output format. As a search tool, it is likely safe, but this is not confirmed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, consisting of two short segments. It front-loads the purpose and includes a usage hint. Every sentence contributes value, though it could be slightly more structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 parameters and no output schema, the description covers the search scope and general nature. It hints at being the default among siblings but lacks explicit differentiation. Overall, it is adequate but could be more complete with usage boundaries.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds no new meaning beyond what is already in the schema for the query parameter. It does not compensate for any gaps, as there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it performs an integrated search of patents and utility models by keyword across fields like invention name, abstract, claims, and applicant. It includes a hint that this is the most common search, distinguishing it from more specific siblings, though not explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is the default general search ('가장 일반적인 검색'), providing some guidance for when to use it. However, it does not explicitly state when not to use it or mention alternatives like search_by_applicant or search_patents_advanced, leaving room for ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_patents_advancedA

[항목검색] IPC분류·발명명칭·초록·청구범위·출원인·발명자를 조합한 정밀검색. 특정 기술분야 좁혀서 찾을 때.

ParametersJSON Schema
NameRequiredDescriptionDefault
inventionTitleNo발명의 명칭에 포함된 키워드
abstractNo초록(요약)에 포함된 키워드
claimNo청구범위에 포함된 키워드
ipcNoIPC 분류코드. 예: 'B64C', 'G06N'
applicantNo출원인명
inventorNo발명자명
patentNo특허 포함 (기본 true)
utilityNo실용신안 포함 (기본 true)
numOfRowsNo결과 수 (기본 10, 최대 100)
pageNoNo페이지 번호 (기본 1)
descSortNo최신순 (기본 true)
sortSpecNo정렬: AD=출원일 OPD=공개일 GD=공고일 RD=등록일 PD=우선일AD

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It does not disclose any behavioral traits such as default conjunction logic, result limits, authentication needs, or side effects. The description only states purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (two short phrases) and front-loaded with the key fields. Every word serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 12 parameters and no output schema, the description lacks guidance on how parameters combine (AND/OR), default behaviors, pagination, or error handling. It is insufficient for a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed Korean descriptions for each parameter. The tool description does not add additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is an advanced search combining IPC classification, invention title, abstract, claims, applicant, and inventor, and specifies it is for narrowing down a specific technical field. It distinguishes itself from simpler sibling tools like search_patents.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly mentions when to use ('when narrowing down a technical field'), but does not provide explicit when-not-to-use or alternatives. However, the context is clear and implies advanced usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_trademarkB

[상표검색] 상표명 키워드로 검색 (출원상태·상품류·권리자·견본이미지). 예: '카카오'.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes상표명 키워드. 예: '카카오', '신라면'
numOfRowsNo결과 수 (기본 10, 최대 100)
pageNoNo페이지 번호 (기본 1)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must fully disclose behavior. It only states the search scope but omits traits like read-only nature, authentication needs, rate limits, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with example, no wasted words. Front-loaded with category label. Every sentence serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so description should cover return value expectations. It does not address pagination, result format, or error scenarios. Incomplete for a search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The tool description adds minimal value beyond the schema, only contextualizing the query parameter with an example.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool searches trademarks by keyword, lists covered aspects (application status, product class, rights holder, sample image), and gives an example. It distinguishes from sibling tools like search_patents and search_design.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. The description does not mention exclusions, prerequisites, or alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv0.2.1
    • First observedget_patent_detail
    • First observedsearch_by_applicant
    • First observedsearch_by_rightholder
    • First observedsearch_design
    • First observedsearch_patents
    • First observedsearch_patents_advanced
    • First observedsearch_trademark

TDQS

A3.7/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct search type or entity (patents, designs, trademarks) with specific parameters (applicant, right holder, keyword, advanced fields), making them clearly distinguishable.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., search_by_applicant, get_patent_detail), with clear action and target.

Tool Count5/5

Seven tools cover the essential search and retrieval operations for patents, designs, and trademarks without being excessive or insufficient.

Completeness5/5

The set provides comprehensive search capabilities (by applicant, right holder, keyword, advanced fields) and detail retrieval, covering the core needs for a patent/trademark/design information server.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables searching and retrieving South Korean intellectual property data via the KIPRIS Plus Open API. Users can perform patent searches, look up bibliographic information, and convert natural language into KIPRIS search queries.
    6
    2
    -
  • A
    license
    A
    quality
    C
    maintenance
    MCP server for patent search and prior art discovery powered by Google Patents public dataset on BigQuery. Supports searching patents, fetching full patent details with CPC codes and citations, and retrieving legal claims text.
    3
    5
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for searching Korean scientific literature, patents, reports, and more via the KISTI ScienceON API.
    17
    1
    Creative Commons Attribution Non Commercial 4.0 International
  • A
    license
    A
    quality
    A
    maintenance
    MCP server that wraps the Korean government's '나라장터 사전규격정보서비스' API, enabling natural language search and retrieval of public procurement pre-specifications through simplified tools.
    5
    63
    MIT