tw-patent-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@tw-patent-mcpsearch Taiwan patents for TSMC semiconductor packaging"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
tw-patent-mcp
專利檢索 MCP 伺服器,串接經濟部智慧財產局全球專利檢索系統(GPSS)API 與歐洲專利局 Open Patent Services(EPO OPS)。
GPSS:一次檢索台灣、美國、日本、歐洲、韓國、中國、WIPO 等 23 個資料庫的書目、摘要與請求項。
EPO OPS:全球書目、INPADOC 法律狀態、專利家族、EP 與 WO 全文、歐洲專利註冊簿,以及公報原件 PDF。
伺服器端不呼叫任何語言模型,只做查詢、格式轉換與錯誤防護。
需要自備的憑證
兩組憑證都免費,需由使用者本人申請。本套件不提供共用憑證。
變數 | 取得方式 |
| 至 GPSS API 說明頁 線上申請驗證碼。審核通過後以 Email 寄送,效期 365 日。 |
| 至 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-mcpClaude 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 API 驗證碼 |
| EPO OPS Consumer Key 與 Secret |
| 本機狀態資料夾,預設 |
| PDF 下載位置,預設 |
| 指定 .env 檔路徑 |
| 設為 |
工具
工具 | 來源 | 用途 |
| GPSS | 列出資料庫、檢索欄位與輸出欄位代碼 |
| GPSS | 跨 23 個資料庫檢索書目、摘要與請求項 |
| GPSS | 以公開公告號或申請號取得單筆資料 |
| GPSS | 只組出請求網址,用來檢查檢索條件 |
| EPO OPS | CQL 全球書目檢索 |
| EPO OPS | 書目資料,含分類、申請人、引證 |
| EPO OPS | INPADOC 法律狀態 |
| EPO OPS | INPADOC 專利家族 |
| EPO OPS | 請求項、說明書、摘要全文,限 EP、WO 與部分歐洲國家 |
| EPO OPS | 歐洲專利註冊簿 |
| EPO OPS | 列出公報原件、圖式、首頁等影像文件與頁數 |
| 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 toolsgpss_build_urlA
只組出 GPSS API 網址不送出(驗證碼以 *** 取代),用來檢查條件寫法。
| Name | Required | Description | Default |
|---|---|---|---|
| qty | No | ||
| kind | No | ||
| skip | No | ||
| output | No | ||
| status | No | ||
| databases | No | ||
| conditions | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 資料庫代碼、檢索欄位代碼與輸出欄位代碼。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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"。
| Name | Required | Description | Default |
|---|---|---|---|
| by | No | PN | |
| number | Yes | ||
| databases | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
gpss_searchA
智慧局 GPSS 檢索。conditions 是 {欄位代碼: 條件},例如 {"TI/AB": "固態電池 or solid state battery", "AX": "台灣積體電路", "ID": "20200101:"};欄位代碼前加 + 表示跨欄位 OR、加 - 表示 NOT。databases 例如 ["TWA","TWB"],空=全部 23 庫。status:A 公開/B 公告;kind:I 發明/M 新型/D 設計。output 預設 PN,ID,AN,AD,TI,PA,IN,IC,AB,要請求項加 CL。
| Name | Required | Description | Default |
|---|---|---|---|
| qty | No | ||
| kind | No | ||
| skip | No | ||
| output | No | ||
| status | No | ||
| databases | No | ||
| conditions | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses the '+'/'-' operator semantics, that an empty databases list means all 23 databases, the values of status and kind, and the default output field set. It omits auth/permission needs and result-size behavior, but the query-construction contract is thoroughly disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely dense but nearly every clause carries information; the tool's purpose is front-loaded and examples are packed inline. It reads as one long run-on rather than cleanly separated sentences, but there is little true waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists so return values need not be explained, and the description covers the complex nested conditions object and enum-like status/kind values. The main gap is pagination (qty/skip) and the field-code vocabulary, which appears delegated to the sibling gpss_codes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% (params have only titles like 'Qty' and 'Skip'), so the description must compensate, and it does for conditions, databases, status, kind, and output. However qty (default 20) and skip (default 0) are never mentioned, leaving pagination semantics undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: GPSS 檢索 (searching the TIPO GPSS patent database), which clearly differs from siblings like gpss_get (retrieval by ID) and gpss_build_url (URL construction). It does not explicitly name those siblings, but the search semantics are unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how to use the tool (query syntax, field codes, database selection) rather than when to use it versus gpss_get or ops_search. No exclusions or routing conditions are stated, so usage is implied rather than explicit.
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 格式。
| Name | Required | Description | Default |
|---|---|---|---|
| fmt | No | auto | |
| number | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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),多頁自動合併。
| Name | Required | Description | Default |
|---|---|---|---|
| link | Yes | ||
| merge | No | ||
| pages | No | 1-3 | |
| max_pages | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 次。
| Name | Required | Description | Default |
|---|---|---|---|
| fmt | No | auto | |
| number | Yes | ||
| constituent | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 與部分歐洲國家。
| Name | Required | Description | Default |
|---|---|---|---|
| fmt | No | auto | |
| part | No | claims | |
| number | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 首頁)與頁數。台灣、美國、歐洲等公報原件多數可取得。
| Name | Required | Description | Default |
|---|---|---|---|
| fmt | No | auto | |
| number | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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_legal_statusC
EPO OPS INPADOC 法律狀態(有效、撤回、屆期、年費等事件)。
| Name | Required | Description | Default |
|---|---|---|---|
| fmt | No | auto | |
| number | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not mention authentication requirements, rate limits, or that this queries a live EPO OPS endpoint, and it gives no sense of what the legal-status payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence that front-loads the data source and resource, with the event examples adding useful scope. Nothing is padded, though the terseness leaves obvious gaps unaddressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 for a 2-parameter tool with 0% schema coverage and no annotations, the description should at least identify the number format and usage context. It omits both.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two parameters, and the description mentions neither of them. It never clarifies what 'number' should be (EPO publication, application, or priority number) or what 'fmt' values are accepted, leaving the agent to guess input format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and data domain: EPO OPS INPADOC legal status, with concrete event examples (valid, withdrawn, expired, annual fees). This is distinguishable from siblings like ops_biblio or ops_family, though it never states an explicit verb such as 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this tool versus ops_biblio, ops_register, or ops_family, nor any prerequisite (e.g., a prior ops_search to obtain the number). The agent must infer usage entirely.
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。
| Name | Required | Description | Default |
|---|---|---|---|
| fmt | No | auto | |
| number | Yes | ||
| constituent | No | biblio |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
ops_searchB
EPO OPS CQL 檢索(全球書目)。例:'ti=battery and pa=tsmc'、'pn=TW201644272'、'ipc=H01M10 and pd within "2022 2024"'。constituent 可為 biblio(含書目)或 abstract。一次最多 100 筆。
| Name | Required | Description | Default |
|---|---|---|---|
| cql | Yes | ||
| end | No | ||
| start | No | ||
| constituent | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the 100-record cap and that constituent can be biblio or abstract, but says nothing about authentication/registration requirements, rate limits, or what the start/end paging does at the boundaries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and front-loaded: the operation and scope come first, followed by example queries and then the constituent/limit constraints. Every sentence carries information, though the examples could be trimmed without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. The essential CQL semantics, constituent options, and the 100-record limit are covered, but pagination parameters and the relationship to sibling search tools remain gaps for a 4-parameter search endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explains 'cql' richly via examples and clarifies 'constituent' (biblio vs abstract), but the 'start' and 'end' parameters are completely undocumented in both the schema and the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific operation (EPO OPS CQL search) and its scope (global bibliographic data), and the concrete CQL examples make the resource unambiguous. It does not, however, differentiate itself from near-neighbours such as gpss_search or ops_biblio, leaving the agent to infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied through the CQL syntax examples ('ti=battery and pa=tsmc', 'ipc=H01M10 and pd within ...'), which show the intended query style but never state when this tool should be chosen over siblings. There are no prerequisites, exclusions, or alternative-tool routing.
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.
12 tool updates
v0.1.0- First observed
gpss_build_url - First observed
gpss_codes - First observed
gpss_get - First observed
gpss_search - First observed
ops_biblio - First observed
ops_download_pdf - First observed
ops_family - First observed
ops_fulltext - First observed
ops_images - First observed
ops_legal_status - First observed
ops_register - First observed
ops_search
TDQS
Scored across 12 tools
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.
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.
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.
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
Related MCP Connectors
EPO/USPTO search, citations, OCR, plus PATSTAT Portfolio Analytics, guarded SQL and Graph Analytics.
Public patent search with ranked candidates, source links and coverage context. Developer beta.
Global patent search, briefs, similarity, citations and landscape stats. Strong China coverage.
Patent search, USPTO data, patent landscape & pgvector prior-art search for agents.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables 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.29-
- AlicenseNot gradedqualityBmaintenanceEnables querying patent data from the European Patent Office, including bibliographic info, patent families, abstracts, and claims.105 npmMIT
- AlicenseBqualityDmaintenanceMCP server for searching patents in Taiwan's Global Patent Search System (GPSS) using keywords and boolean operators, returning raw XML responses.3MIT
- AlicenseNot gradedqualityDmaintenancePatent data retrieval and file delivery engine that searches multiple patent databases via a unified API and delivers documents as verifiable artifacts.2MIT