Contract Ops MCP server
One MCP server for the contract-ops suite: all nine local-first CLIs as agent tools.
0 stars71 downloads/wk
Reviews
Write oneNobody has reviewed Contract Ops yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Contract Ops tools (50, 2 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
audit_showShow the hash-chained audit log for a sign request. Read-only.
catalogReturn a CLI's full machine-readable command/flag catalog (`<cli> --catalog json`). Use this to discover the long tail beyond the curated tools.
compare_versionsClause-aware drift detection between two contract versions. exitCode: 0 clean · 2 substantive drift · 3 cosmetic · 4 clauses moved · 1 I/O error.
contract_vault_acceptMark register field(s) as manually verified (single, or bulk via a file). Writes to the register.
contract_vault_at_riskRenewal exposure: missed / imminent auto-renewal notice deadlines and expirations. Read-only.
contract_vault_dueProject upcoming renewal / notice / payment deadlines from the signed-contract register.
contract_vault_exportExport the register as csv | md | json (for spreadsheets / reports). Returns the export; writes no file. Read-only.
contract_vault_ingestRegister a contract into the vault from an extract_contract JSON file. Writes to the register.
contract_vault_obligationTrack one obligation's lifecycle (status / owner / recurrence / reminder days). Writes to the register.
contract_vault_obligationsProject upcoming date/obligation actions from the register. Read-only.
contract_vault_queryQuery the register of signed contracts (read-only): list | find | get | show | stats | history.
contract_vault_remindObligations whose reminder window is open right now — a digest for agents/cron. Read-only.
contract_vault_reviewList register fields needing review (unidentified / LLM-derived / low-confidence). Read-only.
contract_vault_riskRenewal-exposure analysis: missed/imminent auto-renewal notice deadlines and expirations.
contract_vault_verifyIntegrity check of the register (source sha256 + git state). Read-only.
convert_to_pdfConvert a Word document to PDF (needs a PDF backend such as LibreOffice on the host).
draft_ndaDraft 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.
extract_contractIngest 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.
fill_templateFill placeholders in a markdown/.docx template with parameter values (deterministic; no LLM). Returns the filled document on stdout.
generate_redlinesGenerate a clause-ready redline draft from a review_nda JSON report. Writes redline markdown to `out`. Deterministic; no org policy needed.
lint_contractLint 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).
nda_setupOne-time: generate the org NDA policy + default playbook in the workspace (needed before draft_nda / negotiate_*). Idempotent; writes config into the workspace.
negotiate_acceptAccept the current negotiated text, SIGNING convergence on your side. Signs a binding acceptance.
negotiate_analyzewrite actionPost-hoc negotiation dashboard: trajectory, per-clause winners, source breakdown, outcome. Read-only.
negotiate_counterSign a counter-round with amendments — either from a JSON amendments file you provide, or deterministic --auto with a stance. Signs a negotiating commitment.
negotiate_diffClause-by-clause changes between two negotiation rounds (defaults to the last two). Read-only.
negotiate_finalizeFinalize 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.
negotiate_initStart a negotiation: draft from a template + parties, SIGN as Party A, and write the state file. Signs a negotiating commitment. Needs nda_setup first.
negotiate_reviewReview the latest negotiation round against your policy. Read-only.
negotiate_statusShow a negotiation's rounds, per-clause status, and signatures. Read-only.
negotiate_validateIntegrity check on a negotiation state file: schema + hash-chain + per-round shape. Read-only.
review_ndaReview an NDA against a house playbook — deterministic scoring with evidence per finding. Returns the structured review report (decision, risk_score, findings with evidence).
runwrite actionEscape 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.
suite_statusReport 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.
template_vault_clause_libraryFind clauses that repeat across the vault (a reusable clause library). Read-only.
template_vault_clausesList the clauses detected in a template. Read-only.
template_vault_compare_clausesCompare clauses between two templates (optionally one named clause). Read-only.
template_vault_composeFork a template into a new derived template in the vault. Writes a new versioned template.
template_vault_diffUnified diff between two versions of one template. Read-only.
template_vault_exportExport a template to another format (e.g. .docx) at a workspace path.
template_vault_findSearch the template vault by category, tag, jurisdiction, or keyword. Read-only.
template_vault_getResolve and return a versioned template's text by reference (e.g. nda/house-mutual). Read-only.
template_vault_historyChronological timeline for a template: versions, swaps, and amendments. Read-only.
template_vault_infoShow metadata for a template (category, tags, jurisdiction, versions). Read-only.
template_vault_listList templates in the vault, optionally filtered by category / tag / jurisdiction. Read-only.
template_vault_statsVault dashboard: template counts, coverage, and last activity. Read-only.
template_vault_swapReplace one clause in a template with the same clause from another template. Writes a new version.
template_vault_verifyContent-level sha256 integrity check of the vault. Read-only (never rewrites hashes).
verify_receiptRe-verify a portable signing receipt bundle, fully offline. Read-only.
verify_signatureVerify a signed PDF matches what was recorded for its request. (Read-only; signing itself stays human-gated behind sign-cli's own MCP.)
Public scan report
scanner v0.1.9 · 2026-09-25 · same rubric, same numbers if you re-run it
- Code scan3 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 72 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Contract Ops compares
Against every graded AI and agents MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 88/100
- higher than 80% of 4,460 AI and agents servers
- Tools
- 50
- the typical AI and agents server has 6
- Tools that change things
- 4%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 71
- more than 55% of 1,538 AI and agents servers with a package
What its tools let an agent do: 47 read · 1 create · 1 change · 1 run or deploy
Install Contract Ops in Claude Code, Cursor or VS Code
Runs npx -y contract-ops-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add contract-ops-mcp -- npx -y contract-ops-mcp
What the publisher says
From the Contract Ops repository's README, as published. We do not edit it. Read it on GitHub
contract-ops-mcp
One MCP server for the whole contract-ops CLI suite — wire it up once and an agent (Claude, Cursor, Codex, …) gets all nine local-first CLIs as tools: extract, draft, lint, compare, convert, review, and the template + signed-contract vaults. Signing stays human-gated.
Run this
// e.g. Claude Desktop / Cursor MCP config
{
"mcpServers": {
"contract-ops": { "command": "npx", "args": ["-y", "contract-ops-mcp"] }
}
}The CLIs themselves must be installed (the server shells out to them). Fastest way to get all nine:
curl -fsSL https://cli.drbaher.com/install.sh | sh # local
# …or run the server + CLIs in one container: ghcr.io/drbaher/contract-opsCall suitestatus** any time to see which CLIs are present and how to install any that aren't.
Prefer a ready-made agent? contract-ops-agent is a
terminal agent that already wraps this server in an enclosure — the model's only tools are the contract-ops
tools, no shell/filesystem/signing by construction. Bring your own model (Claude, OpenAI, or any
OpenAI-compatible endpoint): npm i -g contract-ops-agent.
Tools
Curated, ergonomic tools (typed inputs, JSON out) for the common operations, plus two escape hatches for the long tail:
The curated set and catalog/run are discovery-driven — they ride the suite's uniform --catalog json contract, so they stay in sync as the CLIs evolve.
Safety
- Signing is human-gated. Only sign-cli's read/verify operations are exposed (verifysignature, verifyreceipt, audit_show) — never request-create or sign. This is enforced: the run/catalog escape hatches reject any sign subcommand outside a read-only allowlist, so request-create/send/sign/approve can't be reached here. Those stay behind sign-cli's own MCP server with its per-signer approval tokens, so this server can't become an unguarded signing path.
- Filesystem lockdown. File-path arguments to the curated tools are confined to CONTRACTOPSMCPBASEDIR (default: the working directory). Set it to widen the sandbox.
- No shell. CLIs are invoked with execFile (no shell interpolation).
License
MIT. Part of the contract-ops CLI suite. See AGENTS.md for the agent contract.
Nothing above is checked by us. What we check is on the safety report.
Contract Ops: common questions
- Is Contract Ops MCP server safe?
- Yes, by our scan: it is graded A (88/100). Read the Contract Ops safety report
- How do I install Contract Ops?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Contract Ops need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Contract Ops maintained?
- The last commit was 111 days ago (2026-07-16). The latest release is v0.3.0.
- What can I use instead of Contract Ops?
- Servers from other publishers that do the same job: Basic Memory MCP server, HOL Guard MCP server and Agent-Native Chat MCP server.
- How does Contract Ops compare with other AI and agents MCP servers?
- safety score 88/100 (higher than 80% of 4,460 AI and agents servers); tools 50 (the typical AI and agents server has 6); tools that change things 4% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Contract Ops
Same job from other publishers: the closest match first, then the best rated.
- Basic MemoryLocal-first knowledge management with bi-directional LLM sync via Markdown files.not reviewedWidely usedB
- HOL GuardLocal-first AI agent security evidence and approval workflows through HOL Guard's stdio MCP server.not reviewedEstablishedA
- Agent-Native ChatMinimal chat-first app with durable threads, actions, and the app-agent loopnot reviewedEstablishedA
- DCC-MCP CoreAgent control plane for DCC and engine hosts: one MCP endpoint, one tool contract.not reviewedEstablishedA
- Agent RecallCorrection-first agent memory. Precision KPI tracks if agents heed warnings. 5 layers, local-only.not reviewedEstablishedA