Skip to main content
Glama

tw-patent-mcp

English

專利檢索 MCP 伺服器,串接經濟部智慧財產局全球專利檢索系統(GPSS)API 與歐洲專利局 Open Patent Services(EPO OPS)。

  • GPSS:一次檢索台灣、美國、日本、歐洲、韓國、中國、WIPO 等 23 個資料庫的書目、摘要與請求項。

  • EPO OPS:全球書目、INPADOC 法律狀態、專利家族、EP 與 WO 全文、歐洲專利註冊簿,以及公報原件 PDF。

  • 伺服器端不呼叫任何語言模型,只做查詢、格式轉換與錯誤防護。

需要自備的憑證

兩組憑證都免費,需由使用者本人申請。本套件不提供共用憑證。

變數

取得方式

GPSS_USER_CODE

至 GPSS API 說明頁 線上申請驗證碼。審核通過後以 Email 寄送,效期 365 日。

EPO_OPS_KEY、EPO_OPS_SECRET

至 EPO Developer Portal 註冊,核准後在 My Apps 建立 app 取得 Consumer Key 與 Secret。

只設定其中一組也可以使用,對應的工具才會運作。

Related MCP server: mcp-epo-ops

安裝

需要 uv。

Claude Code:

claude mcp add tw-patent \
  -e GPSS_USER_CODE=你的驗證碼 \
  -e EPO_OPS_KEY=你的key \
  -e EPO_OPS_SECRET=你的secret \
  -- uvx tw-patent-mcp

Claude Desktop 的 claude_desktop_config.json:

{
  "mcpServers": {
    "tw-patent": {
      "command": "uvx",
      "args": ["tw-patent-mcp"],
      "env": {
        "GPSS_USER_CODE": "你的驗證碼",
        "EPO_OPS_KEY": "你的key",
        "EPO_OPS_SECRET": "你的secret"
      }
    }
  }
}

不想把憑證寫進設定檔時,可改放在 ~/.config/tw-patent-mcp/.env,格式見 .env.example。

設定

環境變數

說明

GPSS_USER_CODE

GPSS API 驗證碼

EPO_OPS_KEY、EPO_OPS_SECRET

EPO OPS Consumer Key 與 Secret

TW_PATENT_MCP_HOME

本機狀態資料夾,預設 ~/.tw-patent-mcp

TW_PATENT_MCP_DOWNLOAD_DIR

PDF 下載位置,預設 ~/.tw-patent-mcp/downloads

TW_PATENT_MCP_ENV

指定 .env 檔路徑

TW_PATENT_MCP_DRY_RUN

設為 1 時只回傳請求網址,不實際送出

工具

工具

來源

用途

gpss_codes

GPSS

列出資料庫、檢索欄位與輸出欄位代碼

gpss_search

GPSS

跨 23 個資料庫檢索書目、摘要與請求項

gpss_get

GPSS

以公開公告號或申請號取得單筆資料

gpss_build_url

GPSS

只組出請求網址,用來檢查檢索條件

ops_search

EPO OPS

CQL 全球書目檢索

ops_biblio

EPO OPS

書目資料,含分類、申請人、引證

ops_legal_status

EPO OPS

INPADOC 法律狀態

ops_family

EPO OPS

INPADOC 專利家族

ops_fulltext

EPO OPS

請求項、說明書、摘要全文,限 EP、WO 與部分歐洲國家

ops_register

EPO OPS

歐洲專利註冊簿

ops_images

EPO OPS

列出公報原件、圖式、首頁等影像文件與頁數

ops_download_pdf

EPO OPS

逐頁下載公報 PDF,多頁自動合併

專利號照公報寫法輸入即可,例如 TW201644272A、TWI700000B、TWM600000U、US10000000B2、EP1000000。

使用限制與防護

  • GPSS 依上班、下班時段設有輸出筆數上限,超過會回傳提示文字。

  • GPSS 回應驗證碼無效、過期或 IP 被擋時,本套件會寫入鎖檔並停止後續呼叫,避免持續以無效驗證碼查詢而遭封鎖。確認驗證碼可用後,刪除 ~/.tw-patent-mcp/gpss_lock 即可恢復。新核發的驗證碼可能要隔日才生效。

  • EPO OPS 免費額度為每週 4GB,並有每分鐘呼叫次數限制。本套件每次呼叫間隔至少 6 秒。PDF 每頁計一次呼叫,下載前請先用 ops_images 確認頁數。

資料來源與使用責任

  • 資料分別來自經濟部智慧財產局與歐洲專利局,僅供參考,請以各國專利局公告為準。

  • 使用者須自行遵守智慧財產局對 GPSS 及網站資料的相關規定,以及 EPO OPS Terms and Conditions 與 Fair use charter。

  • 本套件與智慧財產局、歐洲專利局無隸屬或背書關係。

開發

uv sync
uv run pytest -q

授權

Elastic License 2.0。本專案為公開原始碼,非開放原始碼授權。

Available Tools

12 tools
gpss_build_urlA

只組出 GPSS API 網址不送出(驗證碼以 *** 取代),用來檢查條件寫法。

ParametersJSON Schema
NameRequiredDescriptionDefault
qtyNo
kindNo
skipNo
outputNo
statusNo
databasesNo
conditionsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and usefully discloses two key traits: no network request is sent, and the verification code is masked with ***. It does not cover permissions, error behavior, or rate limits, but the core safety behavior is clear.

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?

It is a single, front-loaded sentence that states purpose, key behavior, and use case with no wasted words. Every clause 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?

An output schema exists, so return values need not be described. However, with 7 input parameters, 0% schema description coverage, and no annotations, the description does not provide enough parameter or invocation detail for an agent to use the tool correctly without inspecting the raw schema.

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

Parameters1/5

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

Schema description coverage is 0% across 7 parameters, and the description mentions only the general idea of checking condition syntax. It does not explain what conditions, qty, kind, skip, output, status, or databases mean or how they should be supplied.

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 states a specific verb and resource: it builds a GPSS API URL without sending it, explicitly distinguishing this from sibling tools like gpss_search and gpss_get that would send requests. It also names the intended check use case.

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?

It clearly says the tool is for checking condition syntax and that it does not send the request, which gives strong context. It does not explicitly name an alternative sibling to use when actually sending a request, so it falls short of full when-to-use routing.

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

gpss_codesA

列出 GPSS 資料庫代碼、檢索欄位代碼與輸出欄位代碼。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/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 discloses which three code families are returned, which is real behavioral content, but says nothing about read-only nature, whether the codes are exhaustive/cached, or any access constraints. For a zero-parameter listing tool this is acceptable but thin.

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?

A single front-loaded sentence naming the verb and all returned categories with zero filler. Nothing redundant or padded.

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

Completeness4/5

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

With an output schema present, the return shape need not be explained, and the description already summarizes the three code categories returned. For a trivial zero-param listing tool this is nearly complete; only the reason to call it (feeding codes into other gpss_* tools) is unstated.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline of 4 applies. The description's enumeration of the three code categories aligns with the output rather than inputs, adding no parametric complexity.

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?

States a specific verb (列出/list) and three concrete resources: GPSS 資料庫代碼, 檢索欄位代碼, 輸出欄位代碼. An agent can tell this is a reference/lookup tool rather than a search or retrieval tool like gpss_search or gpss_get, though no sibling is named 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?

Usage is only implied: an agent can infer it should call this to obtain valid code values before using gpss_search or gpss_build_url, but the description never states that relationship or any precondition. No when-not-to-use guidance is given.

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

gpss_getB

用公開/公告號(PN)或申請號(AN)取單筆 GPSS 資料,含摘要與請求項。例:number="TW201644272A"。

ParametersJSON Schema
NameRequiredDescriptionDefault
byNoPN
numberYes
databasesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses that the result contains an abstract and claims and that it is a single-record retrieval, but does not state that it is read-only, what happens on a miss, or any auth/rate considerations.

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?

One compact sentence front-loads the core action, identifier types, and return contents, followed by a useful concrete example. Nothing is padded, though the example could be tied more tightly to the 'by' parameter.

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?

The output schema covers return values and the description still summarizes them, but gaps remain for a 3-parameter tool: the 'databases' parameter is undisclosed and the PN-vs-AN selection mechanism is only implied. Adequate but with clear omissions.

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 0%, so the description must compensate. It clarifies that 'number' accepts either a publication number or an application number (implying the selector role of 'by'), but the third parameter 'databases' is never mentioned and there is no enum/default guidance.

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?

Names a specific verb and resource ('取單筆 GPSS 資料') and states the identifier types accepted (PN or AN) plus the returned content (摘要與請求項). The '單筆' scoping implicitly distinguishes it from gpss_search, but no sibling is named 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 single-record nature and a concrete example imply when to use it over gpss_search, but there is no explicit when-to-use statement, no when-not condition, and no named alternative such as gpss_build_url or gpss_search.

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

ops_biblioB

EPO OPS 書目資料(含 IPC/CPC、申請人、引證、家族 id)。number 照公報號寫即可,例:EP1000000、TW201644272A、TWI700000B、TWM600000U、US10000000B2;程式自動轉成 docdb 格式。

ParametersJSON Schema
NameRequiredDescriptionDefault
fmtNoauto
numberYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, and it only discloses one trait: the number is auto-normalized to docdb format. It says nothing about OPS authentication requirements, rate limits, behavior on invalid/unknown numbers, or field coverage variance across offices.

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?

Front-loads the resource and its payload contents, then immediately follows with the practical input rule and examples. Dense but every clause is doing work; no filler.

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?

An output schema exists so return values need no explanation, and the numbering guidance is genuinely valuable. However, for a tool in a crowded ops_* family with zero annotation coverage, the absence of any authentication, error-mode, or sibling-routing information leaves real 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 coverage is 0%, so the description must compensate. It does an excellent job on `number` with five format examples across EP/TW/US, but `fmt` (default 'auto') is left completely unexplained, so half the parameters remain semantically opaque.

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?

Names a specific resource and enumerates exactly what the bibliographic payload contains (IPC/CPC, applicants, citations, family id), which distinguishes it from ops_fulltext, ops_legal_status, and ops_family by content rather than by name alone. It never explicitly names a sibling, so an agent must still infer which of the many ops_* tools to pick.

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 gives concrete input guidance (write the number as published) but never states when to choose this tool over ops_fulltext, ops_register, or ops_family, nor any prerequisite or exclusion. Usage is implied through the example numbers only.

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

ops_download_pdfA

下載 EPO OPS 影像 PDF。link 用 ops_images 回傳的 link(如 published-data/images/EP/1000000/A1/fullimage),pages 如 '1-5' 或 'all'(需給 max_pages)。每頁一次呼叫並算入每週 4GB,先用 ops_images 看頁數再決定範圍。檔案存到 TW_PATENT_MCP_DOWNLOAD_DIR(預設 ~/.tw-patent-mcp/downloads),多頁自動合併。

ParametersJSON Schema
NameRequiredDescriptionDefault
linkYes
mergeNo
pagesNo1-3
max_pagesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the quota cost model (one call per page, 4GB/week), the file side effect (saved to TW_PATENT_MCP_DOWNLOAD_DIR, default path), and that multi-page results are auto-merged. It omits auth requirements, which is the main remaining gap.

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?

Dense and front-loaded: the core action, link source, range syntax, quota cost, and output location all appear in a tight paragraph with no filler. Slightly packed but every clause earns its place.

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

Completeness4/5

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

Covers the workflow, quota constraint, storage side effect, and merging behavior; an output schema exists so return values need not be explained. Missing only auth/permission context and the merge=false semantics.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate, and it largely does: `link` gets a concrete format example, `pages` gets syntax ('1-5' or 'all') plus its dependency on max_pages, and max_pages is mentioned. Only `merge` is left ambiguous (what merge=false produces is never stated).

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?

States a specific verb+resource ('download EPO OPS image PDF') and immediately ties it to its sibling by specifying that `link` comes from ops_images. An agent can distinguish this tool from ops_images, ops_fulltext, etc. without opening a schema.

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?

Gives a clear workflow: use ops_images first to check the page count, then choose the range, and warns that each page counts toward the weekly 4GB quota. No explicit when-not scenario is stated, but the sequencing guidance is concrete and actionable.

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

ops_familyC

EPO OPS INPADOC 專利家族;constituent 可為 biblio 或 legal。每秒最多 1 次。

ParametersJSON Schema
NameRequiredDescriptionDefault
fmtNoauto
numberYes
constituentNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose one genuinely useful trait — a rate limit of 1 request per second — which the agent could not otherwise know. However, it says nothing about authentication requirements, what constitutes a family lookup, or failure behavior for invalid numbers.

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?

Two terse clauses, front-loaded with the resource identity and followed by the rate constraint. Nothing is padded. It is efficient to the point of being cryptic, but structurally sound and free of waste.

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?

An output schema exists, so return values need not be described. But for a tool with three parameters, zero schema coverage, and no annotations, the description is too sparse: it never states what operation is performed on 'number' nor what a patent family result contains, leaving real gaps.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, and it does so only for one of three parameters: it states that constituent accepts 'biblio' or 'legal', which the schema does not convey. The required 'number' parameter and 'fmt' are left entirely unexplained in both schema and description.

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

Purpose3/5

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

The description names a specific resource (EPO OPS INPADOC patent family), which is more than a tautology, but it omits the verb entirely — an agent must infer that this retrieves family data. It does not distinguish itself from siblings such as ops_biblio or ops_legal_status, which operate on the same EPO OPS corpus.

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?

There is no when/when-not guidance and no alternative tool is named. The mention that constituent can be biblio or legal reads as parameter information, not usage direction. An agent gets no help deciding between ops_family, ops_biblio, and ops_legal_status.

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

ops_fulltextB

EPO OPS 全文:part 為 claims、description 或 abstract。全文只有 EP、WO 與部分歐洲國家。

ParametersJSON Schema
NameRequiredDescriptionDefault
fmtNoauto
partNoclaims
numberYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose one real constraint: full text is only available for EP, WO and some European countries. However it says nothing about authentication, rate limits, or whether partial results are returned for unsupported jurisdictions.

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?

Two short front-loaded sentences with no filler; the resource and its main constraint come first. Slightly telegraphic, but every clause carries information.

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?

An output schema exists so return values need no explanation, and the part values plus coverage note cover the essentials. Still missing the format/meaning of the required 'number' parameter and any auth or pagination context for a 3-param 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 0%, so the description must compensate. It does define the 'part' parameter's enum-like values, which is genuinely useful, but leaves 'number' (the required param) and the 'fmt' parameter completely undefined.

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?

Identifies the resource (EPO OPS fulltext) and names the three valid 'part' values (claims/description/abstract), which is enough to distinguish it from ops_biblio and ops_images. It never states the verb explicitly (retrieve/fetch), but the resource is unambiguous.

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?

There is a coverage constraint ('only EP, WO and some European countries') but no statement of when to choose this over ops_biblio/ops_images, no prerequisites, and no guidance on the required 'number' argument. Usage must be inferred entirely.

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

ops_imagesB

EPO OPS 影像清單:某件有哪些 PDF 文件(FullDocument 全件、Drawing 圖式、FirstPageClipping 首頁)與頁數。台灣、美國、歐洲等公報原件多數可取得。

ParametersJSON Schema
NameRequiredDescriptionDefault
fmtNoauto
numberYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/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 usefully discloses that output is a document inventory with page counts rather than the PDFs themselves, and flags coverage limitations, but says nothing about read-only nature, auth, rate limits, or pagination behavior.

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?

Two dense sentences with the resource and returned fields front-loaded, and no wasted filler; the availability sentence is short and adds relevant scope.

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?

An output schema exists, so return values need not be described, and the tool is simple (two parameters). However, with no annotations and zero parameter documentation, the description leaves the caller without the meaning of either argument, which is a real gap for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0% for both parameters. The description implies a case identifier (某件) but never explains the format of 'number' nor the purpose of 'fmt' or its 'auto' default, so it fails to compensate for the schema gap.

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 names a specific resource – the EPO OPS image/document list for a patent case – and enumerates the document kinds it reports (FullDocument, Drawing, FirstPageClipping) plus page counts. It is concrete enough that an agent knows it returns document metadata rather than file content, though it never names a sibling such as ops_download_pdf to sharpen the boundary.

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?

There is no when-to-use or when-not-to-use statement; an agent is left to infer that this precedes a download by reading ops_download_pdf. The availability note (TW/US/EP gazettes mostly obtainable) hints at coverage but offers no routing rule or prerequisite.

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

ops_registerC

歐洲專利註冊簿(EP 案):constituent 為 biblio、events 或 procedural-steps。

ParametersJSON Schema
NameRequiredDescriptionDefault
fmtNoauto
numberYes
constituentNobiblio

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, yet it says nothing about authentication, rate limits, read-only nature, or response behavior. It only implies a read-style lookup of register data, leaving most behavioral traits to inference.

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?

A single compact sentence that front-loads the resource identity before the parameter hint, with no filler. It is appropriately sized, though the terseness is partly a symptom of under-specification rather than disciplined editing.

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?

An output schema exists, so return values need not be explained, but with 0% parameter coverage and no annotations the description leaves the number format, the fmt semantics, and the tool's relationship to similar siblings unaddressed. For a 3-parameter EP-register tool this is thin.

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 0%, so the description must compensate. It usefully enumerates the valid constituent values (biblio, events, procedural-steps), which the schema does not declare as an enum, but it says nothing about the required 'number' parameter's expected format or what 'fmt'/'auto' controls.

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

Purpose3/5

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

The description identifies the resource as the European Patent Register for EP cases and lists the constituent data types, which is more specific than a bare name. However, it never states the verb/action (retrieve/query) and gives no clue how it differs from the overlapping sibling ops_biblio, whose name suggests it may return the same 'biblio' constituent.

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?

There is no statement of when to use this tool versus alternatives such as ops_biblio, ops_legal_status, ops_family, or ops_fulltext, all of which appear in the sibling list. The only conditional hint is the constituent enumeration, which is parameter content rather than usage guidance.

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. 12 tool updatesv0.1.0
    • First observedgpss_build_url
    • First observedgpss_codes
    • First observedgpss_get
    • First observedgpss_search
    • First observedops_biblio
    • First observedops_download_pdf
    • First observedops_family
    • First observedops_fulltext
    • First observedops_images
    • First observedops_legal_status
    • First observedops_register
    • First observedops_search

TDQS

B3.4/5.0

Scored across 12 tools

Disambiguation4/5

Most tools have clearly distinct purposes, aided by two source prefixes: ops_* for EPO OPS and gpss_* for TIPO GPSS. Minor overlap exists between ops_search/ops_biblio (search vs. retrieve bibliographic data) and ops_legal_status/ops_register/ops_family-legal (legal status vs. register events vs. family legal data), but descriptions help disambiguate.

Naming Consistency4/5

All names use lowercase snake_case and a consistent source prefix (ops_ or gpss_). The set mixes noun-style (ops_biblio, gpss_codes) and verb-style (ops_download_pdf, gpss_build_url) names, so it is not a uniform verb_noun pattern, but it is readable and predictable.

Tool Count5/5

12 tools is within the well-scoped range and covers two patent data sources plus helper utilities. Each tool appears to earn its place, with no excessive duplication.

Completeness4/5

The surface covers search, retrieval, full text, images, legal status, family, and register data for EP and GPSS records. Minor gaps include no Taiwan full-description retrieval and no bulk export, but core read-only workflows are covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables comprehensive patent information queries and analytics including fuzzy company search, patent search by various criteria (name, application number, applicant), and statistical analysis of patent portfolios including status distribution, application trends, and patent type classification.
    30
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Patent data retrieval and file delivery engine that searches multiple patent databases via a unified API and delivers documents as verifiable artifacts.
    2
    MIT