Patent PreCheck
Keyless 12-tool patentability MCP: USPTO pillar scores, prior art, hosted at patentprecheck.com/mcp.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"patent-precheck": {
"url": "https://patentprecheck.com/mcp"
}
}
}Remote endpoints
https://patentprecheck.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (12)
๐ขprecheck_score(code, filename, confirm_upload, tier, invention_kind)
Run a prior-art density / risk-profile pre-check on source code or an invention description. Returns a 0โ100 directional score across the four USPTO statutory pillars (ยง101 eligibility, ยง102 novelty, ยง103 non-obviousness, ยง101 utility), a separate ยง112 filing-readiness signal, the band (Not Ready โ File Ready), the pillar that holds the band back, opportunities to thicken the technical description, and a count of prior-art matches consulted. Show filename + size and get user yes, then pass confirm_upload: true. Pass the text inline via `code`.
Input Schema
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The source code or invention description to analyze (>= 10 chars)."
},
"filename": {
"type": "string",
"description": "Optional filename hint (e.g. main.ts) used for language/context."
},
"confirm_upload": {
"type": "boolean",
"description": "Required true after the user confirms filename + size. Nothing is uploaded without it."
},
"tier": {
"type": "string",
"enum": [
"free",
"paid_review",
"enterprise"
],
"description": "Analysis tier. Defaults to free; paid tiers require server-side entitlement."
},
"invention_kind": {
"type": "string",
"enum": [
"software",
"physical",
"process",
"unsure"
],
"description": "Optional invention category. Sets language and scoring prompts. Prior-art math still follows the disclosure."
}
},
"required": [
"code",
"confirm_upload"
],
"additionalProperties": false
}๐ขprecheck_prior_art(code, filename, confirm_upload, limit, tier)
Return the closest prior-art matches consulted for an invention (titles, sources, similarity scores, URLs). Runs the same analyze pipeline as precheck_score but focuses on retrieval results. Pass invention text via `code`.
Input Schema
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Source code or invention description (>= 10 chars)."
},
"filename": {
"type": "string",
"description": "Optional filename hint."
},
"confirm_upload": {
"type": "boolean",
"description": "Required true after the user confirms filename + size."
},
"limit": {
"type": "integer",
"description": "Max matches to return (1โ15, default 8).",
"minimum": 1,
"maximum": 15
},
"tier": {
"type": "string",
"enum": [
"free",
"paid_review",
"enterprise"
],
"description": "Analysis tier. Defaults to free."
}
},
"required": [
"code",
"confirm_upload"
],
"additionalProperties": false
}๐ขprecheck_rejection_patterns(code, filename, confirm_upload, tier)
Preview examination-risk signals: similar office-action rejections, abandonment patterns, and the primary statutory basis an examiner might cite (ยง101/ยง102/ยง103). Use after precheck_score to explain prosecution risk.
Input Schema
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Source code or invention description (>= 10 chars)."
},
"filename": {
"type": "string",
"description": "Optional filename hint."
},
"confirm_upload": {
"type": "boolean",
"description": "Required true after the user confirms filename + size."
},
"tier": {
"type": "string",
"enum": [
"free",
"paid_review",
"enterprise"
],
"description": "Analysis tier. Defaults to free."
}
},
"required": [
"code",
"confirm_upload"
],
"additionalProperties": false
}โชprecheck_legal_context(code, filename, confirm_upload)
Return a short snippet of current US software-patent legal guidance (CAFC, USPTO, Alice/ยง101) relevant to scoring this invention. Informational only โ not legal advice.
Input Schema
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Source code or invention description (>= 10 chars)."
},
"filename": {
"type": "string",
"description": "Optional filename hint."
},
"confirm_upload": {
"type": "boolean",
"description": "Required true after the user confirms filename + size."
}
},
"required": [
"code",
"confirm_upload"
],
"additionalProperties": false
}๐ขprecheck_pillars
List the five scoring pillars (with statutes and weights) and the band rules used by precheck_score. Use this to explain a score to the user. No network call.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}โชprecheck_start_review(promo, report_id, email)
Return the URL where the user can start a paid (or promo-unlocked) Interactive Code Review that strengthens each pillar with evidence and produces a filing package. Use after precheck_score when the user wants to act on the result.
Input Schema
{
"type": "object",
"properties": {
"promo": {
"type": "string",
"description": "Optional access code the user already has. Do not invent or guess a code."
},
"report_id": {
"type": "string",
"description": "Optional free-score report id (PPC-YYYY-MM-DD-XXXXX) to carry forward."
},
"email": {
"type": "string",
"description": "Optional email hint (prefill only; user confirms on signup)."
}
},
"additionalProperties": false
}๐ขprecheck_search_corpus(code, filename, confirm_upload, limit, tier)
Fast semantic search against the 2,200,000+ prior-art corpus without LLM scoring. Returns ranked matches with similarity scores. Cheaper than precheck_score when you only need references.
Input Schema
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Source code or invention description (>= 10 chars)."
},
"filename": {
"type": "string",
"description": "Optional filename hint."
},
"confirm_upload": {
"type": "boolean",
"description": "Required true after the user confirms filename + size."
},
"limit": {
"type": "integer",
"description": "Max matches (1โ20, default 12).",
"minimum": 1,
"maximum": 20
},
"tier": {
"type": "string",
"enum": [
"free",
"paid_review",
"enterprise"
],
"description": "Search tier. Defaults to free."
}
},
"required": [
"code",
"confirm_upload"
],
"additionalProperties": false
}โชprecheck_cpc_suggest(code, limit, invention_kind)
Suggest Cooperative Patent Classification (CPC) codes for an invention description. Offline heuristic โ informational only. No network call.
Input Schema
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Source code or invention description (>= 10 chars)."
},
"limit": {
"type": "integer",
"description": "Max suggestions (1โ10, default 5).",
"minimum": 1,
"maximum": 10
},
"invention_kind": {
"type": "string",
"enum": [
"software",
"physical",
"process",
"unsure"
],
"description": "Optional invention category. Physical/process uses article and method CPC classes, not G06F."
}
},
"required": [
"code"
],
"additionalProperties": false
}โชprecheck_session_status(report_id, session_key)
Return status for an active Interactive Code Review session. Requires report_id and session_key from the user access email link.
Input Schema
{
"type": "object",
"properties": {
"report_id": {
"type": "string",
"description": "Report id (PPC-YYYY-MM-DD-XXXXX)."
},
"session_key": {
"type": "string",
"description": "Session secret from the access email (header / stored key, not a query string)."
}
},
"required": [
"report_id",
"session_key"
],
"additionalProperties": false
}๐ขprecheck_deliverables(report_id, session_key)
Return download URLs for finalized ICR deliverables (filing packet, coaching report, package zip, scorecard PDF). Requires report_id and session_key.
Input Schema
{
"type": "object",
"properties": {
"report_id": {
"type": "string",
"description": "Report id (PPC-YYYY-MM-DD-XXXXX)."
},
"session_key": {
"type": "string",
"description": "Session secret from the access email (header / stored key, not a query string)."
}
},
"required": [
"report_id",
"session_key"
],
"additionalProperties": false
}โชprecheck_lookup_patent(patent_id, include_grant_text)
Resolve a US patent or application number (e.g. US1234567B2) via USPTO Open Data Portal and optionally join the indexed prior-art corpus. Returns title, status, CPC, grant-text excerpt, and a public URL. No API key required in the MCP client.
Input Schema
{
"type": "object",
"properties": {
"patent_id": {
"type": "string",
"description": "US patent id (US1234567B2) or application number."
},
"include_grant_text": {
"type": "boolean",
"description": "Fetch abstract / claim 1 excerpt when available (default true)."
}
},
"required": [
"patent_id"
],
"additionalProperties": false
}โชprecheck_compare_to_patent(code, patent_id, filename, confirm_upload)
Compare invention text to a known US patent: embedding similarity plus prior-art risk analysis (statute hints, overlap theme, distinction checklist). Use when the user names a specific reference patent.
Input Schema
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Source code or invention description (>= 10 chars)."
},
"patent_id": {
"type": "string",
"description": "US patent id (e.g. US1234567B2)."
},
"filename": {
"type": "string",
"description": "Optional filename hint."
},
"confirm_upload": {
"type": "boolean",
"description": "Required true after the user confirms filename + size."
}
},
"required": [
"code",
"patent_id",
"confirm_upload"
],
"additionalProperties": false
}Community
Evidence