Use it where you build

Score your code for patentability inside Cursor, Claude & ChatGPT

12 free MCP tools — pillar scores, 1,500,000+ prior-art search, US patent lookup, rejection-risk preview — with no USPTO API keys. Fastest start: paste one URL into your AI tool, or use the browser analyzer.

Free web score (no install) Add to Cursor Glama listing Smithery listing

Find us in MCP directories

Already listed on Glama and Smithery, plus the official MCP Registry (io.github.Patent-PreCheck/patent-precheck) and npm (@patentprecheck/mcp). Same 12 tools whether you install locally or point at the hosted URL.

Fastest: hosted MCP (nothing to install)

Point your AI assistant at our server. Same 12 tools, same 1,500,000+ prior-art corpus — invention text only (no file paths). No API keys.

// Cursor — .cursor/mcp.json (copy-paste, then reload) { "mcpServers": { "patent-precheck": { "url": "https://patentprecheck.com/mcp" } } }

Then ask: “Run precheck_score on this module” or “Is this patentable? Use precheck_prior_art.”

Local MCP / CLI (reads files on your machine)

New to these terms? Here’s the plain version: a CLI is a command you type on your computer; an MCP server is a small helper that lets your AI assistant (Claude, Cursor, ChatGPT/Codex, etc.) run that check for you; an IDE is the editor you build in, like Cursor. You add one line once — then you can just ask your AI tool to “run a patent precheck on this.”

One free install gives you both: a precheck command you can type yourself, and the helper your AI assistant can call for you. No keys to set up — the scoring engine and prior-art library stay on our servers.

# Run instantly, no install npx -y @patentprecheck/mcp score ./src/core/invention.ts # Or install globally npm i -g @patentprecheck/mcp precheck score ./src/core/invention.ts --min-score 60 # exit 4 below threshold (CI gate) cat invention.md | precheck score - # read from stdin precheck pillars # scoring reference (no network)

Use Cursor? Add it in one click — no file editing:

Add patent-precheck to Cursor

Prefer to set it up by hand, or using another AI tool? Add this so the assistant can score the code it just wrote, without leaving the editor:

// Cursor — .cursor/mcp.json { "mcpServers": { "patent-precheck": { "command": "npx", "args": ["-y", "@patentprecheck/mcp", "mcp"] } } } # Claude Code claude mcp add patent-precheck -- npx -y @patentprecheck/mcp mcp

MCP tools exposed to the agent (12 total):

ToolWhat it does
precheck_scoreFull patentability score + USPTO pillar bands
precheck_prior_artClosest prior-art matches from our corpus
precheck_search_corpusFast semantic search (no LLM scoring)
precheck_lookup_patentResolve a US patent number (e.g. US1234567B2)
precheck_compare_to_patentYour invention vs. a known patent
precheck_rejection_patternsExamination-risk preview
precheck_legal_contextCurrent US software-patent guidance
precheck_pillarsScoring reference (offline)
precheck_start_reviewStart Interactive Code Review (filing package)
precheck_cpc_suggestCPC classification hints (offline)
precheck_session_statusICR session status
precheck_deliverablesDownload links for filing deliverables

Not another USPTO lookup bot. Dozens of Glama MCPs fetch patent PDFs and prosecution history — you bring the API key. Patent PreCheck scores the code you just wrote against a 1,500,000+ indexed corpus. Ask your agent: “Can this be patented?”

npm: @patentprecheck/mcp · Registry: io.github.Patent-PreCheck/patent-precheck · Source: GitHub mirror

Chrome extension

Patent PreCheck

The extension is for inventors who build with AI and need a local session estimate against the five USPTO pillars, plus a dated invention journal — not just accepting model output. When you are ready, Get full score (click + confirm) sends journal + human messages for a free calibrated score; nothing uploads until you confirm.

Why install?
How to start
  1. Keep Chrome Enhanced Safe Browsing on (chrome://settings/security).
  2. Install only from the official Chrome Web Store listing (button below) — not from a ZIP or unpacked folder.
  3. Open ChatGPT, Claude, or Gemini — the panel appears automatically.
  4. Log disclosure evidence when prompted; use Get full score for a calibrated result, or open the dashboard to export / continue with ICR.

Add to Chrome — Chrome Web Store Privacy policy

What Chrome’s install prompts mean

Not a whole-browser spy. Chrome’s generic line “Read and change your data on a number of websites” sounds scary, but Patent PreCheck only runs on named AI chat sites you enable (ChatGPT, Claude, Gemini at install; Cursor, Copilot, Replit, and others when you opt in from the toolbar). It reads chat text on those pages to score your human contributions and keep a local invention journal. It does not scan unrelated sites, email, or banking pages.

Keep Enhanced Safe Browsing on. Do not switch Chrome to Standard protection to install Patent PreCheck. Install only from our Chrome Web Store listing. If Enhanced protection shows a temporary “not trusted by Enhanced Safe Browsing” note for a newer publisher, that is Google’s reputation clock — not a malware finding. You can still choose Continue to install from the Store while leaving Enhanced Safe Browsing enabled. Sideloading a ZIP or unpacked build is for developers only and will look less trusted.

Publisher trust checklist (operator): keep the verified publisher badge, link patentprecheck.com as the official homepage in the Chrome Web Store console, keep the privacy policy accurate, never transfer the listing to a new developer account (that resets trust), and stay policy-compliant so Google can grant Enhanced Safe Browsing “trusted” status over time.

Developers: package for CWS upload with ./scripts/package-chrome-extension.shdist/patent-precheck-chrome-extension-v<version>.zip. Load unpacked only for local development — never as the public install path. See docs/chrome-web-store-submission.md.

Import from GitHub (browser)

On the free analyzer, choose Import from GitHub to connect any GitHub account (public or private repos), pick your invention files, and Patent PreCheck imports and runs your free score automatically. The free screen may cap how many files are fetched; upgrade keeps that screened bundle (it does not re-fetch omitted files at checkout). After upgrade, use GitHub re-import or review resync for a fuller selection (subject to size limits). See our privacy policy for how GitHub fetch and retention work.

GitHub Actions

For public repos, use the downloadable workflow (runs npx @patentprecheck/mcp on pull requests). The composite action below is for Patent-PreCheck org workflows only while the action repo is private.

patent-precheck-workflow.yml · Full badge & Actions docs

Patent-PreCheck org — composite action:

jobs: patentability: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: Patent-PreCheck/Patent-PreCheck/.github/actions/patent-precheck@v1 with: path: src # min-score: '50' tier: free

README badge:

[![Patent PreCheck scored](https://patentprecheck.com/img/badges/patent-precheck-scored.svg)](https://patentprecheck.com/analyze)

Command line

From any project (Node 20+), download the CLI script once:

mkdir -p scripts curl -fsSL -o scripts/precheck-from-file.js \ https://patentprecheck.com/downloads/precheck-from-file.js node scripts/precheck-from-file.js ./src/core/invention.ts # Env: PPC_API_URL, PPC_TIER=free, PPC_MIN_SCORE (optional)

Output is JSON with patentability_score, filing_readiness_score, and patentability_held_back_by.

Cursor & other IDEs

The MCP server above is the best fit for Cursor, Claude Code, Codex, and Antigravity — once configured, just ask the agent to “run a patent precheck on this file.” Prefer a nudge rule instead? Download cursor-patent-precheck.md into your project’s .cursor/rules/. Good moments to run it:

API shape

POST /.netlify/functions/analyze Content-Type: application/json { "code": "<invention text or source>", "filename": "main.ts", "tier": "free", "ai_assistance_declared": "yes_some" }

Free tier returns scores, pillar details, and prior art count — not full prior art documents (paid review only).

Try the web analyzer