Patent PreCheck

Keyless 12-tool patentability MCP: USPTO pillar scores, prior art, hosted at patentprecheck.com/mcp.

Should I use this

Quality & Safety

A
Description quality
98%
Schema completeness
93%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,864Tokens (tool definitions)
~1.3 KBTypical response size
Moderate attention impact (1.46% of 128k context)

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-http

What it can do

Tool inventory

Tools (12)

๐ŸŸข Read-only๐ŸŸก Write๐Ÿ”ด Deleteโšช Unknown
๐ŸŸข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

Rate this Server

Evidence

Recent observations

verifiedversion not recorded12 tools
verifiedversion not recorded12 tools