Keyless 12-tool patentability MCP: USPTO pillar scores, prior art, hosted at patentprecheck.com/mcp.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
Source code or invention description (>= 10 chars).
US patent id (e.g. US1234567B2).
Required true after the user confirms filename + size.
Optional filename hint.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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.
| Argument | Type | Description |
|---|---|---|
| code* | string | Source code or invention description (>= 10 chars). |
| filename | string | Optional filename hint. |
| patent_id* | string | US patent id (e.g. US1234567B2). |
| confirm_upload* | boolean | Required true after the user confirms filename + size. |
{
"type": "object",
"required": [
"code",
"patent_id",
"confirm_upload"
],
"properties": {
"code": {
"type": "string",
"description": "Source code or invention description (>= 10 chars)."
},
"filename": {
"type": "string",
"description": "Optional filename hint."
},
"patent_id": {
"type": "string",
"description": "US patent id (e.g. US1234567B2)."
},
"confirm_upload": {
"type": "boolean",
"description": "Required true after the user confirms filename + size."
}
},
"additionalProperties": false
}Suggest Cooperative Patent Classification (CPC) codes for an invention description. Offline heuristic — informational only. No network call.
| Argument | Type | Description |
|---|---|---|
| code* | string | Source code or invention description (>= 10 chars). |
| limit | integer | Max suggestions (1–10, default 5). |
| invention_kind | string | Optional invention category. Physical/process uses article and method CPC classes, not G06F. |
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "Source code or invention description (>= 10 chars)."
},
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Max suggestions (1–10, default 5)."
},
"invention_kind": {
"enum": [
"software",
"physical",
"process",
"unsure"
],
"type": "string",
"description": "Optional invention category. Physical/process uses article and method CPC classes, not G06F."
}
},
"additionalProperties": false
}Return download URLs for finalized ICR deliverables (filing packet, coaching report, package zip, scorecard PDF). Requires report_id and session_key.
| Argument | Type | Description |
|---|---|---|
| report_id* | string | Report id (PPC-YYYY-MM-DD-XXXXX). |
| session_key* | string | Session secret from the access email (header / stored key, not a query string). |
{
"type": "object",
"required": [
"report_id",
"session_key"
],
"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)."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| code* | string | Source code or invention description (>= 10 chars). |
| filename | string | Optional filename hint. |
| confirm_upload* | boolean | Required true after the user confirms filename + size. |
{
"type": "object",
"required": [
"code",
"confirm_upload"
],
"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."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| patent_id* | string | US patent id (US1234567B2) or application number. |
| include_grant_text | boolean | Fetch abstract / claim 1 excerpt when available (default true). |
{
"type": "object",
"required": [
"patent_id"
],
"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)."
}
},
"additionalProperties": false
}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.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}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`.
| Argument | Type | Description |
|---|---|---|
| code* | string | Source code or invention description (>= 10 chars). |
| tier | string | Analysis tier. Defaults to free. |
| limit | integer | Max matches to return (1–15, default 8). |
| filename | string | Optional filename hint. |
| confirm_upload* | boolean | Required true after the user confirms filename + size. |
{
"type": "object",
"required": [
"code",
"confirm_upload"
],
"properties": {
"code": {
"type": "string",
"description": "Source code or invention description (>= 10 chars)."
},
"tier": {
"enum": [
"free",
"paid_review",
"enterprise"
],
"type": "string",
"description": "Analysis tier. Defaults to free."
},
"limit": {
"type": "integer",
"maximum": 15,
"minimum": 1,
"description": "Max matches to return (1–15, default 8)."
},
"filename": {
"type": "string",
"description": "Optional filename hint."
},
"confirm_upload": {
"type": "boolean",
"description": "Required true after the user confirms filename + size."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| code* | string | Source code or invention description (>= 10 chars). |
| tier | string | Analysis tier. Defaults to free. |
| filename | string | Optional filename hint. |
| confirm_upload* | boolean | Required true after the user confirms filename + size. |
{
"type": "object",
"required": [
"code",
"confirm_upload"
],
"properties": {
"code": {
"type": "string",
"description": "Source code or invention description (>= 10 chars)."
},
"tier": {
"enum": [
"free",
"paid_review",
"enterprise"
],
"type": "string",
"description": "Analysis tier. Defaults to free."
},
"filename": {
"type": "string",
"description": "Optional filename hint."
},
"confirm_upload": {
"type": "boolean",
"description": "Required true after the user confirms filename + size."
}
},
"additionalProperties": false
}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`.
| Argument | Type | Description |
|---|---|---|
| code* | string | The source code or invention description to analyze (>= 10 chars). |
| tier | string | Analysis tier. Defaults to free; paid tiers require server-side entitlement. |
| filename | string | Optional filename hint (e.g. main.ts) used for language/context. |
| confirm_upload* | boolean | Required true after the user confirms filename + size. Nothing is uploaded without it. |
| invention_kind | string | Optional invention category. Sets language and scoring prompts. Prior-art math still follows the disclosure. |
{
"type": "object",
"required": [
"code",
"confirm_upload"
],
"properties": {
"code": {
"type": "string",
"description": "The source code or invention description to analyze (>= 10 chars)."
},
"tier": {
"enum": [
"free",
"paid_review",
"enterprise"
],
"type": "string",
"description": "Analysis tier. Defaults to free; paid tiers require server-side entitlement."
},
"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."
},
"invention_kind": {
"enum": [
"software",
"physical",
"process",
"unsure"
],
"type": "string",
"description": "Optional invention category. Sets language and scoring prompts. Prior-art math still follows the disclosure."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| code* | string | Source code or invention description (>= 10 chars). |
| tier | string | Search tier. Defaults to free. |
| limit | integer | Max matches (1–20, default 12). |
| filename | string | Optional filename hint. |
| confirm_upload* | boolean | Required true after the user confirms filename + size. |
{
"type": "object",
"required": [
"code",
"confirm_upload"
],
"properties": {
"code": {
"type": "string",
"description": "Source code or invention description (>= 10 chars)."
},
"tier": {
"enum": [
"free",
"paid_review",
"enterprise"
],
"type": "string",
"description": "Search tier. Defaults to free."
},
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Max matches (1–20, default 12)."
},
"filename": {
"type": "string",
"description": "Optional filename hint."
},
"confirm_upload": {
"type": "boolean",
"description": "Required true after the user confirms filename + size."
}
},
"additionalProperties": false
}Return status for an active Interactive Code Review session. Requires report_id and session_key from the user access email link.
| Argument | Type | Description |
|---|---|---|
| report_id* | string | Report id (PPC-YYYY-MM-DD-XXXXX). |
| session_key* | string | Session secret from the access email (header / stored key, not a query string). |
{
"type": "object",
"required": [
"report_id",
"session_key"
],
"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)."
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| string | Optional email hint (prefill only; user confirms on signup). | |
| promo | string | Optional access code the user already has. Do not invent or guess a code. |
| report_id | string | Optional free-score report id (PPC-YYYY-MM-DD-XXXXX) to carry forward. |
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Optional email hint (prefill only; user confirms on signup)."
},
"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."
}
},
"additionalProperties": false
}