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.
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
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
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.
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_claimsAnalyze patent claims for 35 USC 112(b) compliance: antecedent basis, definiteness, subjective terms, cross-references, and structure.
review_specificationAnalyze specification support for claims per 35 USC 112(a): written description, enablement, and best mode.
check_formalitiesCheck patent application formalities per MPEP 608: abstract (50-150 words), title (<=500 chars), required sections, and drawing references.
check_bigquery_statusCheck if Google BigQuery patent search is available and configured.
search_patents_bigquerySearch patents using Google BigQuery (fast, cloud-based, 100M+ patents).
get_patent_bigqueryGet full patent details from BigQuery by publication number.
search_patents_by_cpc_bigquerySearch patents by CPC classification code using BigQuery.
search_patents_by_ipc_bigquerySearch patents by IPC (International Patent Classification) code using BigQuery.
search_patent_family_bigqueryFind all patent publications sharing a family ID across jurisdictions.
render_diagramRender a technical diagram from Graphviz DOT code.
create_flowchartCreate a patent-style flowchart from a list of steps.
create_block_diagramCreate a patent-style block diagram showing system components and connections.
add_diagram_referencesAdd patent-style reference numbers to an existing SVG diagram.
get_diagram_templatesGet common patent diagram templates in DOT language.
check_diagram_tools_statusCheck if diagram generation tools are installed and ready.
review_epo_claimsAnalyze 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_specificationAnalyze specification for Art. 83 EPC sufficiency of disclosure and Rule 42 EPC required sections.
check_epo_formalitiesCheck 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_formalitiesCheck 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_statusCheck EPO OPS API availability, credential status, and quota information.
search_epo_patentsSearch European patents via EPO OPS API using CQL query syntax.
get_epo_patentGet EP patent details including full-text claims and description via EPO OPS.
get_epo_patent_familyGet patent family members across all jurisdictions via EPO OPS.
search_mpepSearch USPTO MPEP manual for relevant information.
get_mpep_sectionGet all text chunks from a specific MPEP section number (e.g., "2100", "700", "608").
search_patent_lawSearch patent law across US (MPEP/USC/CFR), EPO (EPC/Guidelines), and PCT sources.
search_uspto_apiSearch USPTO Open Data Portal API (live database). Requires USPTO_API_KEY environment variable. Supports year range and application type filters.
get_uspto_patentGet detailed patent information from USPTO API by patent number (e.g., "11234567" or "US11234567").
get_recent_uspto_patentsGet recently granted patents from USPTO API. Default: last 7 days of utility patents.
check_uspto_api_statusCheck 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_statusReport 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_getFetch a patent's full abstract + claims from its Google Patents page.
patent_get_claim1Retrieve the cleaned and normalized Claim 1 text for any given patent publication number.
ppubs_batch_get_claimsBatch retrieve the Claim 1 text for a list of patent publication numbers.
gpatents_download_pdfDownload a patent's full PDF into the token store.
gpatents_download_figureDownload a representative-figure image into the token store.
extract_representative_figureExtract a patent's representative figure as a high-resolution PNG (BR_20260628 D).
gpss_download_representative_figureDownload a patent's figure(s) from the TIPO GPSS detail page (COUNTRY-AGNOSTIC).
gpss_download_patent_pdfDownload a patent's original PDF headlessly from TIPO GPSS into the token store.
gpss_download_patent_xmlDownload a patent's structured XML specification headlessly from TIPO GPSS into the token store.
fetch_patent_pdfFetch a patent's original PDF for a KNOWN publication number.
epo_familyGet the INPADOC patent family for a publication via EPO OPS (official).
patent_family_backfillBackfill official INPADOC family_id into patentdb via EPO OPS — RUNS TO COMPLETION in a single call by default.
patent_family_backfill_statusProgress snapshot of the INPADOC family_id backfill — read-only.
patent_enrich_backfillServer-side enrich loop: fill missing abstract/claim1 for a pubno list DIRECTLY into patentdb — returns ONLY statistics, never the text bodies.
patent_family_dedupFamily-level dedup + representative selection over a search pool (B-layer core-set selection).
epo_biblioGet official bibliographic data + abstract for a publication via EPO OPS.
patent_searchUnified 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_bulkUnified 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_initRead-only: returns patentmcp's usage doctrine + structured capabilities, no side effects.
patentmcp_kb_queryREAD-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_getREAD-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_figuresBatch 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_fetchFetch 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_provisionProvision (idempotent) a WebDAV working cache bound to a deliverable subject, returning its mount path + a one-time Basic credential.
cache_listList the caller's deliverable caches with their dirty state.
cache_exportCOPY-land a cache's full working tree (src + deliverables) to a truth-store target reference point, then stamp the export baseline.
cache_closeClose (reap) a deliverable cache, gated on working-tree cleanliness.
patentmcp_analyze_pool[LANDED → pool_fetch (data) + skills/patentworks/scripts/pool_charts.py (charts)]
search_auditMachine-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_putUpsert ONE patent's bibliographic record into the global patentdb structured layer.
patentdb_queryQuery the global patentdb bibliographic store (NO project/screening dimension).
patentdb_import_csvBulk-import BIBLIOGRAPHIC fields from a candidates.csv into patentdb.
gpss4_folder_listList the patents currently in the GPSS4 member 標記清單 (mark list).
gpss4_folder_markAdd a patent to the GPSS4 member 標記清單 by number.
gpss4_folder_searchRun a GPSS4 number search (member area) WITHOUT marking. Read-only.
gpss4_resolve_appnosResolve TW 民國年申請號 -> 公開/公告號 via GPSS4 member web (quota-free, batch).
gpss4_session_closeExplicitly close the shared GPSS4 login session (keep-alive SSOT).
gpss4_session_statusReport the shared GPSS4 login session state (keep-alive SSOT). Read-only.
gpss4_advanced_searchHarvest the TIPO GPSS4 web 進階檢索 (advanced search) result list into a pubno-granularity patent pool, delivered via patentmcp's standard file rails.
gpss4_set_search_scopeSet the GPSS4 account's search database scope (DD-3/DD-6/DD-7).
GOOGLE_CLOUD_PROJECT受禁/需明示授權(計費 API)PATENT_BIGQUERY_MAX_BYTES_BILLEDPATENT_ENABLE_ANTECEDENT_CHECK_PYTORCH_ALREADY_INSTALLEDCLAUDE_CODE_GIT_BASH_PATHPATENT_MPEP_USE_HYDEEPO_OPS_KEYEPO_OPS_SECRETUSPTO_API_KEYHYDE_BACKENDOPENAI_API_KEYANTHROPIC_API_KEYPATENT_LOG_LEVELMSYSTEMWSL_DISTRO_NAMEPSMODULEPATHPSModulePathSHELLFORCE_CPUEPUB_WAF_MAX_WAIT_SECPLAYWRIGHT_HEADEDEPUB_RESULT_HTMLPATENTS_FILES_PORTPATENTDB_PATHPOOL_MEMBERSHIPB_LAYER_OUTXDG_RUNTIME_DIREPO_BATCH_SIZEEPO_BATCH_INTERVALEPO_CONSUMER_KEYEPO_CONSUMER_SECRETPOOL_FILEEPO_MIN_INTERVALEPO_RETRY_INTERVALPATENTS_GATEWAY_PREFIXPATENTS_SKILLS_ROOTPATENTS_TOKEN_SESSIONS_ROOTPATENTS_TOKEN_TTL_SECONDSPATENTS_TOKEN_SIZE_CAP_BYTESPATENTS_CACHE_SAFETY_TTL_SECONDSPATENTS_CACHE_SAFETY_WARN_SECONDSPPUBS_BASE_URLAPI_BASE_URLGOOGLE_APPLICATION_CREDENTIALS受禁/需明示授權(計費 API)BIGQUERY_DATASETBIGQUERY_LOCATIONBIGQUERY_QUERY_TIMEOUTBIGQUERY_MAX_RESULTSBIGQUERY_MAX_BYTES_BILLEDBIGQUERY_MONTHLY_BUDGET_BYTESBIGQUERY_RECONCILE_TTL_SECONDSLOG_LEVELREQUEST_TIMEOUTMAX_RETRIESRETRY_DELAYRETRY_MIN_WAITRETRY_MAX_WAITSESSION_EXPIRY_MINUTESENABLE_CACHINGPATENTS_DB_ROOTGPSS_SCRAPE_MIN_DELAYGPSS_SCRAPE_MAX_DELAYGPSS_SCRAPE_COOLDOWN_SPPUBS_BATCH_ITEM_TIMEOUTPPUBS_BATCH_WALL_BUDGETPATENTS_KB_DBXDG_CACHE_HOMEGPSS4_ADV_DUMP_DIRPATENTS_TRANSPORTPATENTS_UDSPATENTS_HOSTPATENTS_PORTPATENTMCP_SRC_ROOTPATENTS_EPO_MIN_INTERVALPATENTS_EPO_MAX_RETRIESGCE_METADATA_TIMEOUTPATENTS_GP_MIN_INTERVALPATENTS_GP_MAX_RETRIESGPSS_USER_CODESGPSS_USER_CODE官方首選GPSS4_USERNAMEGPSS4_PASSWORDGPSS4_SESSION_IDLE_TTL_SECGPSS4_SESSION_ABSOLUTE_TTL_SECPPUBS_MIN_DELAYPPUBS_MAX_DELAYPPUBS_COOLDOWN_STool 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.
[](https://m8ven.ai/mcp/raw1mage/patentmcp)?variant=verified from the URL.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