Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.DrBaher/contract-ops-mcp

NPM · CONTRACT-OPS-MCP · SCANNED SEP 20

One MCP server for the contract-ops suite: all nine local-first CLIs as agent tools.

Available components

0 this week 94 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 31 of 95 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to DrBaher/contract-ops-mcp). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 66 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability78
  • AI-judged instruction clarity (excellent).Pass
  • Tool/resource definitions use about 3122 tokens (~62/item across 50 items; 50 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
  • Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 99% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 50 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 50 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the io.github.DrBaher/contract-ops-mcp server?

io.github.DrBaher/contract-ops-mcp runs locally as an npm package, launched with npx -y contract-ops-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · contract-ops-mcp

# add to Claude Code
claude mcp add drbaher-contract-ops-mcp -- npx -y contract-ops-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "drbaher-contract-ops-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "contract-ops-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "drbaher-contract-ops-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "contract-ops-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add drbaher-contract-ops-mcp -- npx -y contract-ops-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "drbaher-contract-ops-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "contract-ops-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add drbaher-contract-ops-mcp --command npx --arg -y --arg contract-ops-mcp
# ~/.hermes/config.yaml
mcp_servers:
  drbaher-contract-ops-mcp:
    command: "npx"
    args: ["-y", "contract-ops-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "drbaher-contract-ops-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "contract-ops-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add drbaher-contract-ops-mcp -t stdio -c npx -a -y contract-ops-mcp
// mcp.json
{
  "mcpServers": {
    "drbaher-contract-ops-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "contract-ops-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 16 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 15 Sept 26 +1
    • Stability: 0.97 → pass security
  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 11 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 9 Sept 26 −3
    • Security disclosure: unverified → fail functional
    • Stability: pass → 0.80 functional
  • 8 Sept 26 +1
    • Stability: 0.97 → pass security
    • Security disclosure: fail → unverified functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed npm/contract-ops-mcp@0.3.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo DrBaher/contract-ops-mcp
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/DrBaher/contract-ops-mcp/.github/workflows/publish.yml@refs/tags/v0.3.0
Rekor log index 2173983859
Predicate type https://slsa.dev/provenance/v1
Subject digest sha512:9287e33d0d9751f6b8a02a4e9d9208f43ce729f53991d2d6a08e3a987faf6c4cbf4facf1979c76a63be18d6beb5c19bdacb5eea33515b70146a1a57db

Background: How many MCP packages publish verified provenance →

Dependencies 95 packages
Packages resolved 95
Stale 31
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 50 exposed · ~3,122 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
audit_show ~35

Show the hash-chained audit log for a sign request. Read-only.

NameTypeReqDescription
request_idstringyesThe sign request id.

No output schema declared.

No examples provided.

catalog ~48

Return a CLI's full machine-readable command/flag catalog (`<cli> --catalog json`). Use this to discover the long tail beyond the curated tools.

NameTypeReqDescription
clistringyesWhich suite CLI.

No output schema declared.

No examples provided.

compare_versions ~70

Clause-aware drift detection between two contract versions. exitCode: 0 clean · 2 substantive drift · 3 cosmetic · 4 clauses moved · 1 I/O error.

NameTypeReqDescription
basestringyesPath to the agreed/base version.
candidatestringyesPath to the version to check.

No output schema declared.

No examples provided.

contract_vault_accept ~74

Mark register field(s) as manually verified (single, or bulk via a file). Writes to the register.

NameTypeReqDescription
dealstringDeal id.
fieldstringField name.
from_filestringPath to a bulk-accept file.
valuestringVerified value.

No output schema declared.

No examples provided.

contract_vault_at_risk ~57

Renewal exposure: missed / imminent auto-renewal notice deadlines and expirations. Read-only.

NameTypeReqDescription
as_ofstringAs-of date.
withinstringWindow, e.g. 30d.

No output schema declared.

No examples provided.

contract_vault_due ~48

Project upcoming renewal / notice / payment deadlines from the signed-contract register.

NameTypeReqDescription
withinstringWindow, e.g. 30d / 90d (default 30d).

No output schema declared.

No examples provided.

contract_vault_export ~73

Export the register as csv | md | json (for spreadsheets / reports). Returns the export; writes no file. Read-only.

NameTypeReqDescription
expiring_beforestringOnly rows expiring before this date.
formatstringExport format.
needs_reviewbooleanOnly rows needing review.

No output schema declared.

No examples provided.

contract_vault_ingest ~63

Register a contract into the vault from an extract_contract JSON file. Writes to the register.

NameTypeReqDescription
counterpartystringCounterparty name.
filestringyesPath to an extract_contract JSON file.
namestringDeal name.

No output schema declared.

No examples provided.

contract_vault_obligation ~94

Track one obligation's lifecycle (status / owner / recurrence / reminder days). Writes to the register.

NameTypeReqDescription
dealstringyesDeal id.
idstringyesObligation id.
ownerstringAssign an owner.
recurrencestringRecurrence.
remindersstringReminder lead days, e.g. 30.
statusstringNew status.

No output schema declared.

No examples provided.

contract_vault_obligations ~87

Project upcoming date/obligation actions from the register. Read-only.

NameTypeReqDescription
as_ofstringAs-of date (YYYY-MM-DD).
ownerstringFilter by owner.
statusstringFilter by status.
typestringFilter by obligation type.
withinstringWindow, e.g. 90d.

No output schema declared.

No examples provided.

contract_vault_query ~60

Query the register of signed contracts (read-only): list | find | get | show | stats | history.

NameTypeReqDescription
actionstringyesRead-only action.
argstringArgument for find/get/show/history (query or deal id).

No output schema declared.

No examples provided.

contract_vault_remind ~76

Obligations whose reminder window is open right now — a digest for agents/cron. Read-only.

NameTypeReqDescription
as_ofstringAs-of date (YYYY-MM-DD).
ownerstringFilter by owner.
statusstringFilter by status.
typestringFilter by type.

No output schema declared.

No examples provided.

contract_vault_review ~42

List register fields needing review (unidentified / LLM-derived / low-confidence). Read-only.

NameTypeReqDescription
thresholdstringConfidence threshold (0-1).

No output schema declared.

No examples provided.

contract_vault_risk ~50

Renewal-exposure analysis: missed/imminent auto-renewal notice deadlines and expirations.

NameTypeReqDescription
withinstringWindow, e.g. 30d (default 30d).

No output schema declared.

No examples provided.

contract_vault_verify ~26

Integrity check of the register (source sha256 + git state). Read-only.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

convert_to_pdf ~54

Convert a Word document to PDF (needs a PDF backend such as LibreOffice on the host).

NameTypeReqDescription
inputstringyesPath to the .docx.
outputstringOutput .pdf path (optional).

No output schema declared.

No examples provided.

draft_nda ~211

Draft a new NDA from a built-in template into `out` (markdown; optional .docx). Deterministic. If placeholders are missing the result lists them — fill and retry. Needs nda_setup first.

NameTypeReqDescription
disclosing_partystringDisclosing party (one-way).
effective_datestringEffective date.
governing_lawstringGoverning law.
outstringyesOutput markdown path.
out_docxstringOptional Word .docx output path.
party_astringParty A name (mutual).
party_a_addressstringParty A address (mutual).
party_bstringParty B name (mutual).
party_b_addressstringParty B address (mutual).
purposestringyesPurpose / deal description.
receiving_partystringReceiving party (one-way).
templatestringWhich built-in template (default mutual).

No output schema declared.

No examples provided.

extract_contract ~75

Ingest any contract (.md/.txt/.html/.docx/.pdf) into structured JSON — parties, dates, term, governing law, a clause map, defined terms — each with a confidence + source. Deterministic, no network.

NameTypeReqDescription
pathstringyesPath to the contract file (within the base dir).

No output schema declared.

No examples provided.

fill_template ~64

Fill placeholders in a markdown/.docx template with parameter values (deterministic; no LLM). Returns the filled document on stdout.

NameTypeReqDescription
paramsobjectParameter values (snake_case keys), passed as JSON.
templatestringyesPath to the template.

No output schema declared.

No examples provided.

generate_redlines ~85

Generate a clause-ready redline draft from a review_nda JSON report. Writes redline markdown to `out`. Deterministic; no org policy needed.

NameTypeReqDescription
modestringRedline format (default classic).
outstringyesOutput path for the redline markdown.
review_jsonstringyesPath to a saved review_nda JSON report.

No output schema declared.

No examples provided.

lint_contract ~78

Lint one contract for internal-consistency defects — leftover placeholders, broken cross-references, undefined/unused defined terms, numbering gaps, party/date inconsistencies. Returns findings (rule, severity, line).

NameTypeReqDescription
fail_onstringSeverity threshold for the exit code (default: error).
pathstringyesPath to the document.

No output schema declared.

No examples provided.

nda_setup ~43

One-time: generate the org NDA policy + default playbook in the workspace (needed before draft_nda / negotiate_*). Idempotent; writes config into the workspace.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

negotiate_accept ~58

Accept the current negotiated text, SIGNING convergence on your side. Signs a binding acceptance.

NameTypeReqDescription
asstringWhich side.
outstringOptional output path.
statestringyesPath to the negotiation state file.

No output schema declared.

No examples provided.

negotiate_analyze ~43

Post-hoc negotiation dashboard: trajectory, per-clause winners, source breakdown, outcome. Read-only.

NameTypeReqDescription
statestringyesPath to the negotiation state file.

No output schema declared.

No examples provided.

negotiate_counter ~127

Sign a counter-round with amendments — either from a JSON amendments file you provide, or deterministic --auto with a stance. Signs a negotiating commitment.

NameTypeReqDescription
amendments_filestringPath to a JSON amendments file (drafted by you).
asstringWhich side you're countering as.
autobooleanUse the deterministic auto-amender instead of an amendments file.
outstringOptional output path for the round.
stancestringDeterministic stance when using auto.
statestringyesPath to the negotiation state file.

No output schema declared.

No examples provided.

negotiate_diff ~62

Clause-by-clause changes between two negotiation rounds (defaults to the last two). Read-only.

NameTypeReqDescription
from_roundstringFrom round number.
statestringyesPath to the negotiation state file.
to_roundstringTo round number.

No output schema declared.

No examples provided.

negotiate_finalize ~88

Finalize a converged negotiation: emit the final .md and .docx. The legal SIGNATURE stays with the human — no e-signature is applied here; hand off to sign-cli.

NameTypeReqDescription
out_docxstringyesFinal .docx output path.
out_mdstringyesFinal markdown output path.
statestringyesPath to the negotiation state file.

No output schema declared.

No examples provided.

negotiate_init ~149

Start a negotiation: draft from a template + parties, SIGN as Party A, and write the state file. Signs a negotiating commitment. Needs nda_setup first.

NameTypeReqDescription
effective_datestringEffective date.
governing_lawstringGoverning law.
outstringyesOutput path for the negotiation state file.
party_a_addressstringParty A address.
party_a_namestringParty A name.
party_b_addressstringParty B address.
party_b_namestringParty B name.
purposestringyesPurpose / deal description.
templatestringWhich built-in template (default mutual).

No output schema declared.

No examples provided.

negotiate_review ~45

Review the latest negotiation round against your policy. Read-only.

NameTypeReqDescription
asstringWhich side's policy view.
statestringyesPath to the negotiation state file.

No output schema declared.

No examples provided.

negotiate_status ~38

Show a negotiation's rounds, per-clause status, and signatures. Read-only.

NameTypeReqDescription
statestringyesPath to the negotiation state file.

No output schema declared.

No examples provided.

negotiate_validate ~41

Integrity check on a negotiation state file: schema + hash-chain + per-round shape. Read-only.

NameTypeReqDescription
statestringyesPath to the negotiation state file.

No output schema declared.

No examples provided.

review_nda ~68

Review an NDA against a house playbook — deterministic scoring with evidence per finding. Returns the structured review report (decision, risk_score, findings with evidence).

NameTypeReqDescription
filestringyesPath to the NDA.
playbookstringPath to the house playbook JSON (optional).

No output schema declared.

No examples provided.

run ~106

Escape hatch: run any suite CLI with raw arguments (no shell). For commands the curated tools don't cover. Call `catalog` first to learn the flags. Note: signing stays human-gated — only sign-cli's read/verify subcommands are reachable here; request-create/send/sign/approve are rejected and must go through sign-cli's own MCP with its per-signer approval tokens.

NameTypeReqDescription
argsarrayyesArguments passed verbatim to the CLI.
clistringyes

No output schema declared.

No examples provided.

suite_status ~40

Report which suite CLIs are installed (with versions) and how to install any that are missing. Call this first if a tool reports a CLI isn't installed.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

template_vault_clause_library ~41

Find clauses that repeat across the vault (a reusable clause library). Read-only.

NameTypeReqDescription
thresholdstringSimilarity threshold (0-1).

No output schema declared.

No examples provided.

template_vault_clauses ~32

List the clauses detected in a template. Read-only.

NameTypeReqDescription
refstringyesTemplate reference.

No output schema declared.

No examples provided.

template_vault_compare_clauses ~60

Compare clauses between two templates (optionally one named clause). Read-only.

NameTypeReqDescription
astringyesFirst template reference.
bstringyesSecond template reference.
clausestringOptional clause name to compare.

No output schema declared.

No examples provided.

template_vault_compose ~56

Fork a template into a new derived template in the vault. Writes a new versioned template.

NameTypeReqDescription
as_refstringyesNew template reference to create.
basestringyesBase template reference to fork from.

No output schema declared.

No examples provided.

template_vault_diff ~51

Unified diff between two versions of one template. Read-only.

NameTypeReqDescription
refstringyesTemplate reference.
version_astringyesFirst version.
version_bstringyesSecond version.

No output schema declared.

No examples provided.

template_vault_export ~62

Export a template to another format (e.g. .docx) at a workspace path.

NameTypeReqDescription
asstringFormat, e.g. docx.
outputstringOutput file path.
refstringyesTemplate reference.

No output schema declared.

No examples provided.

template_vault_find ~36

Search the template vault by category, tag, jurisdiction, or keyword. Read-only.

NameTypeReqDescription
querystringyesSearch query.

No output schema declared.

No examples provided.

template_vault_get ~48

Resolve and return a versioned template's text by reference (e.g. nda/house-mutual). Read-only.

NameTypeReqDescription
refstringyesTemplate reference: category/name[@version].

No output schema declared.

No examples provided.

template_vault_history ~36

Chronological timeline for a template: versions, swaps, and amendments. Read-only.

NameTypeReqDescription
refstringyesTemplate reference.

No output schema declared.

No examples provided.

template_vault_info ~36

Show metadata for a template (category, tags, jurisdiction, versions). Read-only.

NameTypeReqDescription
refstringyesTemplate reference.

No output schema declared.

No examples provided.

template_vault_list ~58

List templates in the vault, optionally filtered by category / tag / jurisdiction. Read-only.

NameTypeReqDescription
categorystringFilter by category.
jurisdictionstringFilter by jurisdiction.
tagstringFilter by tag.

No output schema declared.

No examples provided.

template_vault_stats ~25

Vault dashboard: template counts, coverage, and last activity. Read-only.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

template_vault_swap ~66

Replace one clause in a template with the same clause from another template. Writes a new version.

NameTypeReqDescription
clausestringyesClause name to replace.
from_refstringyesTemplate reference to take the clause from.
targetstringyesTemplate reference to modify.

No output schema declared.

No examples provided.

template_vault_verify ~39

Content-level sha256 integrity check of the vault. Read-only (never rewrites hashes).

NameTypeReqDescription
strictbooleanFail on any mismatch.

No output schema declared.

No examples provided.

verify_receipt ~37

Re-verify a portable signing receipt bundle, fully offline. Read-only.

NameTypeReqDescription
bundlestringyesPath to the receipt bundle directory.

No output schema declared.

No examples provided.

verify_signature ~61

Verify a signed PDF matches what was recorded for its request. (Read-only; signing itself stays human-gated behind sign-cli's own MCP.)

NameTypeReqDescription
pathstringyesPath to the signed PDF.
request_idstringyesThe sign request id.

No output schema declared.

No examples provided.

Common questions

What is the io.github.DrBaher/contract-ops-mcp server?

io.github.DrBaher/contract-ops-mcp is listed in the public MCP registry as io.github.DrBaher/contract-ops-mcp. One MCP server for the contract-ops suite: all nine local-first CLIs as agent tools. This page covers its npm package (contract-ops-mcp).

Is the io.github.DrBaher/contract-ops-mcp server safe to use?

io.github.DrBaher/contract-ops-mcp scores 94 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.DrBaher/contract-ops-mcp server expose?

io.github.DrBaher/contract-ops-mcp exposes 50 tools: extract_contract, lint_contract, compare_versions, fill_template, convert_to_pdf, and 45 more. Their descriptions and schemas cost roughly 3,122 tokens of context every time the server is loaded.

Is the io.github.DrBaher/contract-ops-mcp server still maintained?

io.github.DrBaher/contract-ops-mcp is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.DrBaher/contract-ops-mcp server under?

io.github.DrBaher/contract-ops-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.