Skip to main content
Glama
Patent-PreCheck

Patent PreCheck

Official

@patentprecheck/mcp — Patent PreCheck CLI + MCP server

npm version npm downloads MCP Registry license node

Add to Cursor

Patent-PreCheck/patent-precheck-mcp MCP server Patent-PreCheck/patent-precheck-mcp MCP server

Run a patentability pre-check on your code from inside your terminal or your AI coding agent (Cursor, Claude Code, Codex, Antigravity). It wraps the hosted Patent PreCheck engine, so no API keys are required — the scoring engine and prior-art corpus stay server-side.

Informational only — not legal advice and not a substitute for a licensed patent attorney.

What it does

  • Scores code or an invention description across the four USPTO statutory pillars (§101 eligibility, §102 novelty, §103 non-obviousness, §101 utility) plus a separate §112 filing-readiness signal.

  • Reports the band (Not Ready → File Ready), the pillar holding the band back, top opportunities to strengthen, and how much prior art was consulted.

  • Exposes MCP tools so an agent can score the code it just wrote, inline.

Related MCP server: USPTO Patent MCP Server

Install

# Run directly (no install)
npx -y @patentprecheck/mcp score ./src/widget.ts

# Or install globally
npm i -g @patentprecheck/mcp
precheck score ./src/widget.ts

CLI

precheck score ./path/to/file.ts          # human-readable report
precheck score ./file.ts --format json    # raw JSON
cat invention.md | precheck score -        # read from stdin
precheck score ./file.ts --min-score 60    # exit 4 if below threshold (CI gate)
precheck pillars                           # scoring reference (no network)
precheck review                            # Interactive Code Review signup URL
precheck mcp                               # run as an MCP server over stdio

Exit codes: 0 ok · 1 usage · 2 request error · 3 §101 gate not passed · 4 below --min-score. stdout is clean data; progress/errors go to stderr.

Use in an AI coding agent

See config-examples/. Quickest paths:

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

MCP tools: precheck_score, precheck_prior_art, precheck_rejection_patterns, precheck_legal_context, precheck_pillars, precheck_start_review, precheck_search_corpus, precheck_cpc_suggest, precheck_session_status, precheck_deliverables, precheck_lookup_patent, precheck_compare_to_patent.

Cursor users can skip the JSON and use the Add to Cursor button at the top. The server is published to the official MCP Registry (io.github.Patent-PreCheck/patent-precheck), so MCP-aware clients can discover it directly.

Hosted endpoint (no install)

There's also a hosted, keyless Streamable HTTP MCP server, so remote-capable clients can connect without npx or a local Node install:

https://patentprecheck.com/mcp
// Cursor — remote server, no command needed
{ "mcpServers": { "patent-precheck": { "url": "https://patentprecheck.com/mcp" } } }

Same 12 tools and the same scoring engine. The hosted variant takes invention text inline via code (it never reads files from your machine — use the local npx server above if you want the path argument).

Quick try in Cursor (no install): copy config-examples/cursor-mcp-hosted.json into .cursor/mcp.json.

Why Patent PreCheck vs. other patent MCPs?

USPTO lookup MCPs (50+ tools) answer "what does patent X say?" Patent PreCheck answers "can this code be patented?" — pillar scores, prior-art similarity, rejection patterns, and a path to strengthen before filing. No USPTO API key; corpus and keys stay server-side.

Develop from source

git clone https://github.com/Patent-PreCheck/patent-precheck-mcp.git
cd patent-precheck-mcp
npm install
node bin/precheck.js pillars
echo "a novel rate limiter that ..." | node bin/precheck.js score - --format text
node bin/precheck.js mcp   # stdio server; blocks waiting for an MCP client

Available Tools

12 tools
precheck_compare_to_patentPatent PreCheck — compare invention to patentA

Compare invention text to a known US patent: embedding similarity and prior-art risk analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesSource code or invention description (>= 10 chars).
patent_idYesUS patent id (e.g. US1234567B2).
filenameNoOptional filename hint.
pathNoLocal file path (stdio server only).

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions the type of analysis but does not disclose whether the operation is read-only, authentication needs, rate limits, or side effects. Some behavioral context is present but incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the key purpose and method. No extraneous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description gives the core function but lacks any hint about the output format or structure. Since there is no output schema, the agent needs more context on what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and each parameter has a description in the schema. The tool's description adds no additional semantic meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool compares invention text to a known US patent using embedding similarity and prior-art risk analysis. It explicitly identifies the action and differentiates from siblings like precheck_prior_art or precheck_lookup_patent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus its many siblings. The description lacks any context about prerequisites, exclusions, or alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

precheck_cpc_suggestPatent PreCheck — CPC classification hintsB

Suggest Cooperative Patent Classification (CPC) codes for an invention description. Offline heuristic — informational only.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoSource code or invention description (>= 10 chars).
pathNoPath to a local file to read and analyze instead of passing `code` inline.
limitNoMax suggestions (default 5).

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It mentions 'Offline heuristic' and 'informational only', indicating non-authoritative results, but lacks details on accuracy, latency, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short, front-loaded sentences with no extraneous text. Every word serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should explain what the tool returns (e.g., list of codes, confidence scores). It does not, leaving the agent uninformed about the response format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds no new information beyond the schema; it does not clarify parameter usage, format, or relationships.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Suggest'), the resource ('Cooperative Patent Classification (CPC) codes'), and the input context ('invention description'). It is distinct from sibling tools like precheck_prior_art or precheck_rejection_patterns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use or not use this tool versus alternatives. The phrase 'Offline heuristic — informational only' hints at limitations but does not direct the agent to appropriate contexts or exclude inappropriate ones.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

precheck_deliverablesPatent PreCheck — deliverable download linksA

Return download URLs for finalized ICR deliverables (filing packet, coaching report, package zip, scorecard PDF).

ParametersJSON Schema
NameRequiredDescriptionDefault
report_idYesReport id (PPC-YYYY-MM-DD-XXXXX).
session_keyYesSession secret from the access email (?k=…).

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries the transparency burden. It states the tool returns URLs, which implies a safe read operation, but does not explicitly confirm read-only behavior, mention any permissions, or disclose potential pitfalls like expiring links. It provides adequate but not thorough transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the primary action ('Return download URLs') and lists the deliverables concisely. No extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema and annotations, the description would ideally be more detailed. However, it sufficiently explains what the tool returns (download URLs for four specific deliverables) and implies the function. It lacks information about response format, error handling, or prerequisites, but is largely complete for a straightforward retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides comprehensive descriptions for both parameters (report_id format, session_key source). The tool description does not add any additional parameter-level meaning beyond repeating the parameter names in context. With 100% schema coverage, baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Return' and resource 'download URLs for finalized ICR deliverables', clearly distinguishing it from sibling tools that perform precheck analysis or comparisons.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving URLs after deliverables are finalized, but does not explicitly state when to use it over alternatives, nor does it provide prerequisites or conditions. The tool name and sibling list provide some context, but the description itself lacks guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

precheck_lookup_patentPatent PreCheck — US patent lookupA

Resolve a US patent or application number via USPTO ODP and optional corpus join.

ParametersJSON Schema
NameRequiredDescriptionDefault
patent_idYesUS patent id (e.g. US1234567B2) or application number.
include_grant_textNoFetch abstract / claim 1 excerpt when available (default true).

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It mentions external API (USPTO ODP) and optional corpus join, but does not disclose behavior on missing patents, error handling, or that it is read-only. Adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with 10 words, front-loaded with verb and resource, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has 2 parameters, no output schema, no annotations. Description covers core purpose but lacks details on return format, error behavior, and how the corpus join works. Adequate but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds 'optional corpus join' which relates to include_grant_text parameter, but does not significantly enhance understanding beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'resolve' and resource 'US patent or application number', and distinguishes from siblings by specifying 'via USPTO ODP and optional corpus join'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage for looking up patent numbers but does not explicitly state when to use or when not to use compared to sibling tools like precheck_prior_art or precheck_compare_to_patent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

precheck_pillarsPatent PreCheck — scoring referenceA

List the patentability pillars and band rules used by precheck_score. No network call.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses 'No network call', indicating a safe, local operation. It explains the tool lists pillars and band rules, providing behavioral context beyond what is in structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded and contains no fluff. Every word earns its place, conveying purpose and a key behavioral trait.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and no output schema, the description is sufficiently complete. It explains what the tool provides and its local nature. It could optionally describe the output format, but the current text is adequate for the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, and the schema coverage is 100%. The description adds meaning by specifying the output contains pillars and band rules used by precheck_score, which goes beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists patentability pillars and band rules used by precheck_score. It specifies 'No network call', distinguishing it as a local metadata tool. Verb and resource are specific, and it differentiates from siblings by its static, non-API-calling nature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions it is used by precheck_score but does not explicitly state when to use this tool versus alternatives. It implies reference use, but lacks clear guidance on scenarios or prerequisites for invoking this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

precheck_prior_artPatent PreCheck — prior art matchesB

Return the closest prior-art matches (titles, sources, similarity, URLs) for an invention.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoSource code or invention description (>= 10 chars).
pathNoPath to a local file to read and analyze instead of passing `code` inline.
filenameNoOptional filename hint (e.g. main.ts).
tierNoAnalysis tier. Defaults to free.
limitNoMax matches to return (default 8).

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry full weight for behavioral traits. It only mentions return fields but omits side effects, authentication needs, rate limits, or data handling (e.g., code sent to server). For a tool accepting file paths and code, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words, efficiently conveying the core function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, no output schema, and 11 siblings, the description is too sparse. It does not explain how inputs interact (e.g., code vs path), return format details, or typical use cases. The schema partly compensates, but overall context is lacking.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no extra parameter context beyond what the schema provides; it only states the output fields. No additional meaning is added.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns closest prior-art matches with specific fields (titles, sources, similarity, URLs) for an invention. It effectively distinguishes from siblings like precheck_compare_to_patent and precheck_search_corpus.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the many sibling tools. It lacks explicit when-to-use, when-not-to-use, or alternative suggestions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

precheck_rejection_patternsPatent PreCheck — rejection pattern previewC

Preview examination-risk signals and similar office-action / abandonment patterns.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoSource code or invention description (>= 10 chars).
pathNoPath to a local file to read and analyze instead of passing `code` inline.
filenameNoOptional filename hint (e.g. main.ts).
tierNoAnalysis tier. Defaults to free.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description uses 'Preview' which implies a read-only operation, but it does not explicitly state that the tool has no side effects, nor does it mention required permissions, rate limits, or any behavioral traits. With no annotations, the description should provide more transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is concise and front-loaded with the core action. It avoids unnecessary words, though it could be slightly more informative without losing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema and 4 parameters with no required fields, but the description does not explain return format, pagination, or what a user should expect. Given the complexity, more context is needed for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already describes all parameters. The description does not add any extra meaning or usage hints for parameters like 'code', 'path', or 'tier'. As per guidelines, baseline 3 is appropriate when schema conveys full param semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: previewing examination-risk signals and similar patterns. The title and description together convey a specific function. However, it does not explicitly distinguish this from siblings like precheck_prior_art or precheck_score, which could overlap in some contexts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool vs alternatives (e.g., precheck_prior_art for prior art, precheck_score for scoring). There are no examples or context about prerequisites or typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

precheck_scorePatent PreCheck — score patentabilityB

Run a patentability pre-check on source code or an invention description. Returns pillar scores, band, opportunities, prior-art count, rejection patterns, and legal context when available. Provide code or path.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoSource code or invention description (>= 10 chars).
pathNoPath to a local file to read and analyze instead of passing `code` inline.
filenameNoOptional filename hint (e.g. main.ts).
tierNoAnalysis tier. Defaults to free.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description should disclose behavioral traits like safety (read-only), authentication needs, or side effects. The description only mentions what it returns, not whether it modifies state or requires permissions. 'Pre-check' implies non-destructive, but it is not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two succinct sentences, front-loaded with the action verb 'Run'. Every sentence adds necessary information without any fluff. Ideal length for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 parameters, no output schema, and no annotations, the description adequately covers purpose and return values. However, it could be more complete by specifying the output format (e.g., JSON structure) or error conditions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds value by explicitly noting to 'provide code or path', guiding the agent to choose one of those two parameters. This constraint is not present in the schema, so the description improves parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs a patentability pre-check on source code or invention description and enumerates the types of results returned. However, it does not differentiate from sibling tools like precheck_pillars or precheck_prior_art, which might be subsets of this compound tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lacks any guidance on when to use this tool versus its siblings. It does not provide context such as prerequisites, when it is appropriate, or when to choose an alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

precheck_search_corpusPatent PreCheck — semantic corpus searchA

Fast semantic search against the 1M+ prior-art corpus without LLM scoring. Returns ranked matches with similarity scores.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoSource code or invention description (>= 10 chars).
filenameNoOptional filename hint (e.g. main.ts).
tierNo
limitNoMax matches (default 12).

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It states that the tool does not use LLM scoring and returns ranked matches with similarity scores, which is useful. However, it does not disclose whether the tool is read-only or if it has any side effects, leaving some uncertainty.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-formed sentence that front-loads the key information. It is efficiently written without extraneous detail, though it could benefit from a brief note on when to prefer this over other search tools.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with no output schema, the description adequately covers the return type (ranked matches with similarity scores) and the core functionality. The parameter coverage is sufficient given the schema's descriptions. It addresses the key aspects of the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, so baseline is 3. The description does not add new meaning beyond what the schema provides for parameters like 'code', 'filename', 'tier', and 'limit'. The explanation of 'code' as 'Source code or invention description' is adequate but not enhanced.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as a semantic search on a prior-art corpus, specifying 'Fast semantic search against the 1M+ prior-art corpus without LLM scoring. Returns ranked matches with similarity scores.' This distinguishes it from siblings like lookup or compare tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions 'without LLM scoring,' which hints at a faster but less sophisticated search, but it does not explicitly state when to use this tool versus alternatives like precheck_prior_art or precheck_lookup_patent. No exclusions or when-not guidance provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

precheck_session_statusPatent PreCheck — ICR session statusA

Return status for an active Interactive Code Review session. Requires report_id and session_key.

ParametersJSON Schema
NameRequiredDescriptionDefault
report_idYesReport id (PPC-YYYY-MM-DD-XXXXX).
session_keyYesSession secret from the access email (?k=…).

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully convey behavior. It states 'Return status' but does not disclose outcomes like success/error conditions, expiration behavior, or side effects. More detail on the expected behavior would improve transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with no superfluous information. It is front-loaded and each sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and the completeness of the schema, the description adequately covers what the tool does. No output schema is needed for a status-check tool, and sibling tools provide context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters already described. The description only restates that they are required, adding no new meaning beyond the schema. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns status for an active ICR session and specifies required parameters. It distinguishes from sibling tools like precheck_start_review or precheck_score which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly requires report_id and session_key, providing clear usage context. However, it does not specify when not to use this tool or mention alternative tools for similar tasks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

precheck_start_reviewPatent PreCheck — start an Interactive Code ReviewB

Return the URL to start an Interactive Code Review (optionally with a promo code).

ParametersJSON Schema
NameRequiredDescriptionDefault
promoNoPromo / beta code to skip payment (e.g. Beta).
report_idNoFree-score report id to carry forward.
emailNoOptional email prefill hint.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It only states the result (URL) but does not disclose side effects, required permissions, preconditions, or failure modes. For a tool that likely initiates a process, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence of 12 words. It efficiently communicates the core action and optionality. Every word serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool that returns a URL, the description covers the essential function. However, missing usage guidelines and behavioral context reduce completeness. Given the schema covers parameters, the description is minimally adequate but not rich.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents each parameter. The description adds value by stating that the promo code is for skipping payment, which clarifies purpose beyond the schema. This is useful context that helps the agent select parameters correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Return the URL') and the resource ('Interactive Code Review'), with a specific verb and resource. However, it does not differentiate this tool from its siblings, which all start with 'precheck_'. A 5 would require distinct positioning against alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the 11 sibling tools. There are no context cues, exclusions, or alternative indications. The agent is left without information to decide if this is the appropriate tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updatesv0.1.2
    • Addedprecheck_compare_to_patent
    • Addedprecheck_cpc_suggest
    • Addedprecheck_deliverables
    • Addedprecheck_legal_context
    • Addedprecheck_lookup_patent
    • Addedprecheck_prior_art
    • Addedprecheck_rejection_patterns
    • Changedprecheck_score3 fields changed
      • changedInput schema / properties / code / description
        Previous value: -"The source code or invention description to analyze (>= 10 chars)."New value: +"Source code or invention description (>= 10 chars)."
      • changedInput schema / properties / filename / description
        Previous value: -"Optional filename hint (e.g. main.ts) used for language/context."New value: +"Optional filename hint (e.g. main.ts)."
      • changedInput schema / properties / tier / description
        Previous value: -"Analysis tier. Defaults to free; paid tiers require server-side entitlement."New value: +"Analysis tier. Defaults to free."
    • Addedprecheck_search_corpus
    • Addedprecheck_session_status
    • Changedprecheck_start_review4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / email
        Added value: +{
        +  "description": "Optional email prefill hint.",
        +  "type": "string"
        +}
      • addedInput schema / properties / promo
        Added value: +{
        +  "description": "Promo / beta code to skip payment (e.g. Beta).",
        +  "type": "string"
        +}
      • addedInput schema / properties / report_id
        Added value: +{
        +  "description": "Free-score report id to carry forward.",
        +  "type": "string"
        +}
  2. 3 tool updatesv0.1.0
    • First observedprecheck_pillars
    • First observedprecheck_score
    • First observedprecheck_start_review

TDQS

A3.7/5.0

Scored across 12 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: comparison, CPC suggestion, deliverable retrieval, legal context, patent lookup, pillars, prior art, rejection patterns, scoring, search, session management, and review initiation. No two tools overlap significantly in function.

Naming Consistency4/5

All tools share the 'precheck_' prefix, but verb-noun order varies (e.g., 'score' vs 'pillars' vs 'session_status'). The pattern is mostly understandable but not fully uniform.

Tool Count5/5

12 tools cover the patent pre-check domain comprehensively without being excessive. Each tool serves a specific, justifiable purpose in the workflow.

Completeness5/5

The tool set covers all major aspects of patent pre-examination: scoring, prior art search, classification, legal context, rejection patterns, and interactive review. No obvious gaps for the stated purpose.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers