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
Need another page?
Search the docs

Jump to buyers, verification, demos, self-hosting, or adapters without opening the full docs tree first.

Mobile navigation
Jump to section
Open
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-mcp and npm run mcp:server are first-party Supported but evolving surfaces.
  • 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:server
You can also invoke the built binary directly:
BashRunnable example
node dist/src/mcp/patentchecker_mcp_server.js --repo-root /abs/path/to/patentchecker
After install, the package also exposes:
BashRunnable example
patentchecker-mcp --repo-root /abs/path/to/patentchecker
Useful flags:
  • --repo-root <path> sets the PatentChecker checkout the server should operate against.
  • --print-manifest prints the server manifest JSON and exits.
  • --help prints 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 from repo_root. If out_path is 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 into family_snapshot.json, claim_diff.json, formulation.json, risk_score.json, event.json, and claim_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: runs scripts/platform/self_serve/self_serve_doctor.js with raw CLI args supplied through args.
  • self_serve_first_run: runs scripts/platform/self_serve/self_serve_first_run.js with raw CLI args supplied through args.
  • self_serve_license_status: runs scripts/platform/self_serve/self_serve_license_status.js with raw CLI args supplied through args.
For the three script-backed tools, the server automatically adds --json unless you explicitly request help with --help or -h.

Resources

  • patentchecker://manifest/server
  • patentchecker://docs/mcp-server
  • patentchecker://docs/buyers-start-here
  • patentchecker://docs/evaluation-quickstart
  • patentchecker://docs/self-hosting
  • patentchecker://docs/acquisition-protocol
  • patentchecker://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_compile and watchlist_lint still use the repo’s native compiler and schema validation, so they keep the same project-root safety checks as the CLI.
  • Recompiling a shipped file or file_fixture watchlist rebases adapter paths. That changes adapter.config_hash, so the original fixture run_context may fail closed with an adapter mismatch. In that case, use the shipped compiled watchlist or regenerate the fixture run_context / match_set artifacts for the rebased paths.
  • The MCP LNP tools are optimized around the declarative lnp_watch_inputs contract. If you need lower-level operations on standalone claim-graph or formulation files, use the local CLI fallback under patentchecker lnp-watch ....
  • The first cut intentionally does not expose evaluation issuance or signing-key management.
PatentChecker MCP server | Omnis documentation | Omnis Genomics