Docs · PatentChecker
PatentChecker docs for evaluation, verification, and delivery risk
Use this lane for buyer evaluation, evidence verification, self-hosting, adapters, coverage scope, and the delivery-system surfaces behind vector and sequence IP review.
Patent IPDelivery riskVerificationSelf-serve
Viewing
PatentChecker MCP server
Need another page?
Search the docs
Jump to buyers, verification, demos, self-hosting, or adapters without opening the full docs tree first.
Mobile navigationJump to sectionOpen
Mobile navigation
Jump to section
PatentChecker now ships a first-party stdio MCP server so MCP clients can use the repo’s watchlist, LNP Watch, and self-serve workflows without reverse-engineering the CLI surface.
Support Stance
patentchecker-mcpandnpm run mcp:serverare first-partySupported but evolvingsurfaces.- Keep tool names, resource URIs, startup flags, and repo-root behavior aligned with this document in the same change when they move.
- The packaged server contract is supported; direct imports from
src/mcp/**remain internal implementation detail.
For validation recipes, use docs/testing-matrix.md and the MCP automation lane documented there.
Run It
Build the repo, then start the server from the repo root:
BashRunnable example
npm install
npm run build
npm run mcp:serverYou can also invoke the built binary directly:
BashRunnable example
node dist/src/mcp/patentchecker_mcp_server.js --repo-root /abs/path/to/patentcheckerAfter install, the package also exposes:
BashRunnable example
patentchecker-mcp --repo-root /abs/path/to/patentcheckerUseful flags:
--repo-root <path>sets the PatentChecker checkout the server should operate against.--print-manifestprints the server manifest JSON and exits.--helpprints CLI help.
Runtime note:
- Supported runtime remains Node
>=24. - On April 28, 2026, the targeted MCP + LNP regression set also passed under Node
v22.22.2, but Node 22 is still unsupported and should be treated as best-effort only.
Tool Surface
contract_info: returns contract version and schema hashes for the checkout.watchlist_compile: compiles a YAML watchlist spec into canonical JSON. Relative paths resolve fromrepo_root. Ifout_pathis omitted, the tool writes under.patentchecker-mcp/watchlists/.watchlist_lint: dry-run validates a YAML watchlist spec and returns the planned output path.watchlist_run: runs a compiled watchlist JSON through the normal runner.lnp_watch_compile: compiles declarative LNP Watch inputs intofamily_snapshot.json,claim_diff.json,formulation.json,risk_score.json,event.json, andclaim_matches/.lnp_watch_analyze: runs the same LNP compilation path in-memory and returns deterministic artifacts directly in the MCP response.lnp_watch_family_graph: extracts the canonical LNP family graph from declarative LNP Watch inputs.lnp_watch_drift_report: derives the focused claim-drift report from declarative LNP Watch inputs.lnp_watch_risk_score: scores the modeled formulation from declarative LNP Watch inputs and returns triggered families plus fresh-look context.lnp_watch_demo: generates the synthetic LNP demo bundle and deterministic tgz used for buyer-facing verification.self_serve_doctor: runsscripts/platform/self_serve/self_serve_doctor.jswith raw CLI args supplied throughargs.self_serve_first_run: runsscripts/platform/self_serve/self_serve_first_run.jswith raw CLI args supplied throughargs.self_serve_license_status: runsscripts/platform/self_serve/self_serve_license_status.jswith raw CLI args supplied throughargs.
For the three script-backed tools, the server automatically adds
--json unless you explicitly request help with --help or -h.Resources
patentchecker://manifest/serverpatentchecker://docs/mcp-serverpatentchecker://docs/buyers-start-herepatentchecker://docs/evaluation-quickstartpatentchecker://docs/self-hostingpatentchecker://docs/acquisition-protocolpatentchecker://docs/platform-contract-readme
Example Calls
Compile the sample watchlist spec:
JSONReference snippet
{
"name": "watchlist_compile",
"arguments": {
"spec_path": "examples/watchlist.sample.yaml",
"sequences_path": "examples/sequences.sample.tsv"
}
}Run the shipped LNP sample fixture through the in-memory MCP analysis path:
JSONReference snippet
{
"name": "lnp_watch_analyze",
"arguments": {
"inputs_path": "examples/lnp-watch-inputs.sample.v0.1.json"
}
}Compile the same LNP fixture into a deterministic artifact directory:
JSONReference snippet
{
"name": "lnp_watch_compile",
"arguments": {
"inputs_path": "examples/lnp-watch-inputs.sample.v0.1.json",
"out_dir": ".patentchecker-mcp/lnp-watch/sample"
}
}Dry-run the self-serve starter against the sample licensing assets:
JSONReference snippet
{
"name": "self_serve_doctor",
"arguments": {
"args": [
"--dry-run",
"--watchlist",
"examples/watchlist.sample.v0.1.json",
"--out-dir",
"/tmp/patentchecker-doctor",
"--receipt",
"examples/licensing/receipt_monitoring_v1.sample.json",
"--keys",
"examples/licensing/public_keys.sample.json"
]
}
}Notes
- Relative tool paths resolve from
repo_root, not from the caller’s own working directory. watchlist_compileandwatchlist_lintstill use the repo’s native compiler and schema validation, so they keep the same project-root safety checks as the CLI.- Recompiling a shipped
fileorfile_fixturewatchlist rebases adapter paths. That changesadapter.config_hash, so the original fixturerun_contextmay fail closed with an adapter mismatch. In that case, use the shipped compiled watchlist or regenerate the fixturerun_context/match_setartifacts for the rebased paths. - The MCP LNP tools are optimized around the declarative
lnp_watch_inputscontract. If you need lower-level operations on standalone claim-graph or formulation files, use the local CLI fallback underpatentchecker lnp-watch .... - The first cut intentionally does not expose evaluation issuance or signing-key management.