patentmcp (Raw1mage/patentmcp) is an MCP server listed on the M8ven Trust Index. It scores 73 out of 100, grade C. It declares 82 tools. No publisher has claimed this listing.

C
Caution
73/100

patentmcp

Patent data retrieval and file delivery engine that searches multiple patent databases via a unified API and delivers documents as verifiable artifacts.

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

Raw1mage

Source: Glama

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
⚠️
Tool descriptions don’t match what handlers do
1 tool describes read intent but its handler mutates — patentmcp_batch_download_figures (line 5081: with open(cooldown_file, "w") as f:)
82 tools verified — handlers match their declared behaviour
20 read-only tools verified — handlers contain no write/delete/exec
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
Open source with a license and README
Anyone can audit the code, the license is declared, and the publisher documents what it does.
🔐
You'll be asked for 8 credentials: EPO_OPS_KEY, EPO_OPS_SECRET, USPTO_API_KEY, OPENAI_API_KEY, ANTHROPIC_API_KEY, EPO_CONSUMER_KEY, EPO_CONSUMER_SECRET, GPSS4_PASSWORD
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes82 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

review_patent_claims

Analyze patent claims for 35 USC 112(b) compliance: antecedent basis, definiteness, subjective terms, cross-references, and structure.

review_specification

Analyze specification support for claims per 35 USC 112(a): written description, enablement, and best mode.

check_formalities

Check patent application formalities per MPEP 608: abstract (50-150 words), title (<=500 chars), required sections, and drawing references.

check_bigquery_status

Check if Google BigQuery patent search is available and configured.

search_patents_bigquery

Search patents using Google BigQuery (fast, cloud-based, 100M+ patents).

get_patent_bigquery

Get full patent details from BigQuery by publication number.

search_patents_by_cpc_bigquery

Search patents by CPC classification code using BigQuery.

search_patents_by_ipc_bigquery

Search patents by IPC (International Patent Classification) code using BigQuery.

search_patent_family_bigquery

Find all patent publications sharing a family ID across jurisdictions.

render_diagram

Render a technical diagram from Graphviz DOT code.

create_flowchart

Create a patent-style flowchart from a list of steps.

create_block_diagram

Create a patent-style block diagram showing system components and connections.

add_diagram_references

Add patent-style reference numbers to an existing SVG diagram.

get_diagram_templates

Get common patent diagram templates in DOT language.

check_diagram_tools_status

Check if diagram generation tools are installed and ready.

review_epo_claims

Analyze patent claims for Art. 84 EPC compliance: clarity, conciseness, support, two-part form (Rule 43(1) EPC), and Art. 52(2) excluded subject matter.

review_epo_specification

Analyze specification for Art. 83 EPC sufficiency of disclosure and Rule 42 EPC required sections.

check_epo_formalities

Check EPO formalities per Rules 42-49 EPC: abstract (Rule 47, <=150 words, reference signs), title (Rule 44), description sections (Rule 42), drawings (Rule 46), and claims fees (Rule 45).

check_pct_formalities

Check PCT formalities per Rules 5-12: abstract (Rule 8, <=150 words), description (Rule 5), claims (Rule 6), terminology (Rule 10, metric/Celsius), and physical requirements (Rule 11, A4/margins).

check_epo_api_status

Check EPO OPS API availability, credential status, and quota information.

search_epo_patents

Search European patents via EPO OPS API using CQL query syntax.

get_epo_patent

Get EP patent details including full-text claims and description via EPO OPS.

get_epo_patent_family

Get patent family members across all jurisdictions via EPO OPS.

search_mpep

Search USPTO MPEP manual for relevant information.

get_mpep_section

Get all text chunks from a specific MPEP section number (e.g., "2100", "700", "608").

search_patent_law

Search patent law across US (MPEP/USC/CFR), EPO (EPC/Guidelines), and PCT sources.

search_uspto_api

Search USPTO Open Data Portal API (live database). Requires USPTO_API_KEY environment variable. Supports year range and application type filters.

get_uspto_patent

Get detailed patent information from USPTO API by patent number (e.g., "11234567" or "US11234567").

get_recent_uspto_patents

Get recently granted patents from USPTO API. Default: last 7 days of utility patents.

check_uspto_api_status

Check USPTO API accessibility and API key validity.

google_get_patent

[BigQuery-BILLED backend — subject to environment-level BigQuery ban] Get full patent details via Google Patents Public Data on BigQuery.

google_get_patent_claims

[BigQuery-BILLED backend — subject to environment-level BigQuery ban] Get patent claims via Google Patents Public Data on BigQuery.

google_get_patent_description

[BigQuery-BILLED backend — subject to environment-level BigQuery ban] Get patent description via Google Patents Public Data on BigQuery.

google_budget_status

Report the current month's BigQuery usage against the configured budget.

build_screening_table

[LANDED → skills/patentworks/scripts/screening_build.py]

stage_file

[LANDED → WebDAV working cache; direct staging retired]

gpatents_get

Fetch a patent's full abstract + claims from its Google Patents page.

patent_get_claim1

Retrieve the cleaned and normalized Claim 1 text for any given patent publication number.

ppubs_batch_get_claims

Batch retrieve the Claim 1 text for a list of patent publication numbers.

gpatents_download_pdf

Download a patent's full PDF into the token store.

gpatents_download_figure

Download a representative-figure image into the token store.

extract_representative_figure

Extract a patent's representative figure as a high-resolution PNG (BR_20260628 D).

gpss_download_representative_figure

Download a patent's figure(s) from the TIPO GPSS detail page (COUNTRY-AGNOSTIC).

gpss_download_patent_pdf

Download a patent's original PDF headlessly from TIPO GPSS into the token store.

gpss_download_patent_xml

Download a patent's structured XML specification headlessly from TIPO GPSS into the token store.

fetch_patent_pdf

Fetch a patent's original PDF for a KNOWN publication number.

epo_family

Get the INPADOC patent family for a publication via EPO OPS (official).

patent_family_backfill

Backfill official INPADOC family_id into patentdb via EPO OPS — RUNS TO COMPLETION in a single call by default.

patent_family_backfill_status

Progress snapshot of the INPADOC family_id backfill — read-only.

patent_enrich_backfill

Server-side enrich loop: fill missing abstract/claim1 for a pubno list DIRECTLY into patentdb — returns ONLY statistics, never the text bodies.

patent_family_dedup

Family-level dedup + representative selection over a search pool (B-layer core-set selection).

epo_biblio

Get official bibliographic data + abstract for a publication via EPO OPS.

patent_search

Unified patent SEARCH — the single search entry point. The source ladder is BUILT IN: TIPO GPSS (official, primary) → EPO OPS → USPTO PPUBS → (gated) Google Patents. You do NOT pick a source; the server routes by credential availability and query-axis capability, and records every level's attempt in

patent_bulk

Unified BULK harvest — exhaustively pull a result set from ONE explicitly chosen source in a single call, with server-side auto-pagination (and, for EPO, biblio fan-out). The single bulk entry point (patent_bulk_export / patent_bulk_harvest / epo_bulk_harvest were folded into this).

patent_bulk_export

[RENAMED -> patent_bulk] Returns a TOOL_RENAMED redirect envelope; does NOT run a search. Call patent_bulk(source='gpss', ...) with no keyword for a classification-axis export.

patent_bulk_harvest

[RENAMED -> patent_bulk] Returns a TOOL_RENAMED redirect envelope; does NOT run a search. Call patent_bulk(source='gpss', keyword=...) for a keyword harvest.

epo_bulk_harvest

[RENAMED -> patent_bulk] Returns a TOOL_RENAMED redirect envelope; does NOT run a search. Call patent_bulk(source='epo', ...) for the EPO harvest (keyword_field/uspc/databases/inventor_country are ignored by EPO).

gpss_search

[RENAMED -> patent_search] Retired 0.3.0. Returns a TOOL_RENAMED redirect envelope; does NOT run a search. Call patent_search instead — same cpc/ipc/keyword/databases axes, source ladder built in.

epo_search

[RENAMED -> patent_search] Retired 0.3.0. Returns a TOOL_RENAMED redirect envelope; does NOT run a search. The EPO level is built into patent_search's source ladder (single-number tools epo_family / epo_biblio remain available).

gpatents_search

[RENAMED -> patent_search] Retired 0.3.0. Returns a TOOL_RENAMED redirect envelope; does NOT run a search. The Google Patents tail is the gated last level of patent_search (allow_scraping=True required); single-number tools gpatents_get / gpatents_download_* remain.

patentmcp_init

Read-only: returns patentmcp's usage doctrine + structured capabilities, no side effects.

patentmcp_kb_query

READ-ONLY, no side effects: query patentmcp's self-shipped patent-practice domain KB (the repo ragbase store — distilled, evidence-graded knowledge: GPSS/EPO API specs, prior-art search methodology, figure-exhaustion ladder, known failure modes, patent-analysis frameworks). Call BEFORE judgment-heav

patentmcp_kb_get

READ-ONLY, no side effects: fetch ONE domain-KB object's full distilled body (body_md) plus evidence grading (confidence, source_weight) and provenance (its distilled_from/extracted_from lineage edges with per-edge source_weight). Unknown id -> error_code KB_OBJECT_NOT_FOUND (consider: patentmcp_kb_

patentmcp_batch_download_figures

Batch download representative figures for a list of patent publication numbers. Implements a local cooldown (skip list) cache for patents encountering HTTP 503 errors to prevent locking. Returns a mapping of publication numbers to their staged image handles or skipped status.

pool_fetch

Fetch per-publication metadata for a patent pool and LAND it as a records JSON in the token store (the network/credential half of the old patentmcp_analyze_pool). Source ladder per pub: BigQuery → TW GPSS → Google Patents scrape → patent_get_claim1. The raw records never flow through the model conte

cache_provision

Provision (idempotent) a WebDAV working cache bound to a deliverable subject, returning its mount path + a one-time Basic credential.

cache_list

List the caller's deliverable caches with their dirty state.

cache_export

COPY-land a cache's full working tree (src + deliverables) to a truth-store target reference point, then stamp the export baseline.

cache_close

Close (reap) a deliverable cache, gated on working-tree cleanliness.

patentmcp_analyze_pool

[LANDED → pool_fetch (data) + skills/patentworks/scripts/pool_charts.py (charts)]

search_audit

Machine-checkable RIGOR GATE for the priorsearch flow — audits whether a search was BROAD ENOUGH, so a thin "checked a few hits and called it done" search cannot pass off as a complete landscape.

patentdb_put

Upsert ONE patent's bibliographic record into the global patentdb structured layer.

patentdb_query

Query the global patentdb bibliographic store (NO project/screening dimension).

patentdb_import_csv

Bulk-import BIBLIOGRAPHIC fields from a candidates.csv into patentdb.

gpss4_folder_list

List the patents currently in the GPSS4 member 標記清單 (mark list).

gpss4_folder_mark

Add a patent to the GPSS4 member 標記清單 by number.

gpss4_folder_search

Run a GPSS4 number search (member area) WITHOUT marking. Read-only.

gpss4_resolve_appnos

Resolve TW 民國年申請號 -> 公開/公告號 via GPSS4 member web (quota-free, batch).

gpss4_session_close

Explicitly close the shared GPSS4 login session (keep-alive SSOT).

gpss4_session_status

Report the shared GPSS4 login session state (keep-alive SSOT). Read-only.

gpss4_advanced_search

Harvest the TIPO GPSS4 web 進階檢索 (advanced search) result list into a pubno-granularity patent pool, delivered via patentmcp's standard file rails.

gpss4_set_search_scope

Set the GPSS4 account's search database scope (DD-3/DD-6/DD-7).

// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configGOOGLE_CLOUD_PROJECT受禁/需明示授權(計費 API)
configPATENT_BIGQUERY_MAX_BYTES_BILLED
configPATENT_ENABLE_ANTECEDENT_CHECK
config_PYTORCH_ALREADY_INSTALLED
configCLAUDE_CODE_GIT_BASH_PATH
configPATENT_MPEP_USE_HYDE
🔐 secretEPO_OPS_KEY
🔐 secretEPO_OPS_SECRET
🔐 secretUSPTO_API_KEY
configHYDE_BACKEND
🔐 secretOPENAI_API_KEY
🔐 secretANTHROPIC_API_KEY
configPATENT_LOG_LEVEL
configMSYSTEM
configWSL_DISTRO_NAME
configPSMODULEPATH
configPSModulePath
configSHELL
configFORCE_CPU
configEPUB_WAF_MAX_WAIT_SEC
configPLAYWRIGHT_HEADED
configEPUB_RESULT_HTML
configPATENTS_FILES_PORT
configPATENTDB_PATH
configPOOL_MEMBERSHIP
configB_LAYER_OUT
configXDG_RUNTIME_DIR
configEPO_BATCH_SIZE
configEPO_BATCH_INTERVAL
🔐 secretEPO_CONSUMER_KEY
🔐 secretEPO_CONSUMER_SECRET
configPOOL_FILE
configEPO_MIN_INTERVAL
configEPO_RETRY_INTERVAL
configPATENTS_GATEWAY_PREFIX
configPATENTS_SKILLS_ROOT
configPATENTS_TOKEN_SESSIONS_ROOT
configPATENTS_TOKEN_TTL_SECONDS
configPATENTS_TOKEN_SIZE_CAP_BYTES
configPATENTS_CACHE_SAFETY_TTL_SECONDS
configPATENTS_CACHE_SAFETY_WARN_SECONDS
configPPUBS_BASE_URL
configAPI_BASE_URL
configGOOGLE_APPLICATION_CREDENTIALS受禁/需明示授權(計費 API)
configBIGQUERY_DATASET
configBIGQUERY_LOCATION
configBIGQUERY_QUERY_TIMEOUT
configBIGQUERY_MAX_RESULTS
configBIGQUERY_MAX_BYTES_BILLED
configBIGQUERY_MONTHLY_BUDGET_BYTES
configBIGQUERY_RECONCILE_TTL_SECONDS
configLOG_LEVEL
configREQUEST_TIMEOUT
configMAX_RETRIES
configRETRY_DELAY
configRETRY_MIN_WAIT
configRETRY_MAX_WAIT
configSESSION_EXPIRY_MINUTES
configENABLE_CACHING
configPATENTS_DB_ROOT
configGPSS_SCRAPE_MIN_DELAY
configGPSS_SCRAPE_MAX_DELAY
configGPSS_SCRAPE_COOLDOWN_S
configPPUBS_BATCH_ITEM_TIMEOUT
configPPUBS_BATCH_WALL_BUDGET
configPATENTS_KB_DB
configXDG_CACHE_HOME
configGPSS4_ADV_DUMP_DIR
configPATENTS_TRANSPORT
configPATENTS_UDS
configPATENTS_HOST
configPATENTS_PORT
configPATENTMCP_SRC_ROOT
configPATENTS_EPO_MIN_INTERVAL
configPATENTS_EPO_MAX_RETRIES
configGCE_METADATA_TIMEOUT
configPATENTS_GP_MIN_INTERVAL
configPATENTS_GP_MAX_RETRIES
configGPSS_USER_CODES
configGPSS_USER_CODE官方首選
configGPSS4_USERNAME
🔐 secretGPSS4_PASSWORD
configGPSS4_SESSION_IDLE_TTL_SEC
configGPSS4_SESSION_ABSOLUTE_TTL_SEC
configPPUBS_MIN_DELAY
configPPUBS_MAX_DELAY
configPPUBS_COOLDOWN_S
// quality suggestions

Tool annotations

20/82 tools have annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

79/82 tools missing one or more hints — review_patent_claims (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); review_specification (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); check_formalities (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +76 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Descriptions match behaviour

1 tool describes read intent but its handler mutates — patentmcp_batch_download_figures (line 5081: with open(cooldown_file, "w") as f:)

Rename the tool, rewrite the description, or move the side-effect into a separate clearly-named tool.

Tool test coverage

37/82 tools referenced in tests (45%)

Write tests that reference each tool by name so every tool has at least one test.

Tool description accuracy

patentmcp_batch_download_figures: description implies read-only but handler writes/deletes/executes

Update tool descriptions to accurately reflect all capabilities — especially write, delete, or execute operations.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 5 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/raw1mage/patentmcp?variant=verified)](https://m8ven.ai/mcp/raw1mage/patentmcp)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 1ce2d9a754dab96cc03a1c1404a7dfbb205e9be4
code hash: 6d6f0325b6782a9cd6c47159e6ca41fe8f728973413a474b0de8df95817dfc8b
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client