Command Palette

Search for a command to run...

UnylyUnyly
Browse all

QuickContract

FreeNot checked

Enables AI agents to sign contracts, release escrow, query portfolios, and verify on-chain proofs via QuickContract.

GitHubEmbed

About

Enables AI agents to sign contracts, release escrow, query portfolios, and verify on-chain proofs via QuickContract.

README

MCP server for QuickContract — sign contracts, release escrow, query portfolios, and verify on-chain proofs from any MCP-aware AI agent.

Drops into Claude Desktop, Cursor, Anthropic Agents SDK, and OpenAI Agents in under a minute.

Install

npx @quickcontract/mcp --help
# or install globally:
npm i -g @quickcontract/mcp
quickcontract-mcp

Requires Node 18+.

Configure

Generate an API key at https://quickcontract.io/settings/api-keys. Raw org keys start with qc_live_; agent-bound keys (with a server- enforced mandate) start with qc_agnt_.

Set the env var:

export QC_API_KEY="qc_live_..."   # or qc_agnt_...

That's it. The server defaults to https://api.quickcontract.io. Override with QC_BASE_URL for staging or local dev.

Wire it into your AI client

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "quickcontract": {
      "command": "npx",
      "args": ["-y", "@quickcontract/mcp"],
      "env": {
        "QC_API_KEY": "qc_live_..."
      }
    }
  }
}

Restart Claude Desktop. Type @quickcontract in any conversation to invoke tools.

Cursor

In .cursor/mcp.json at the workspace root:

{
  "mcpServers": {
    "quickcontract": {
      "command": "npx",
      "args": ["-y", "@quickcontract/mcp"],
      "env": { "QC_API_KEY": "qc_live_..." }
    }
  }
}

Anthropic Agents SDK (TypeScript)

import { Agent } from '@anthropic-ai/sdk/agents';
import { StdioMcpTransport } from '@anthropic-ai/sdk/mcp';

const agent = new Agent({
  mcpServers: {
    quickcontract: new StdioMcpTransport({
      command: 'npx',
      args: ['-y', '@quickcontract/mcp'],
      env: { QC_API_KEY: process.env.QC_API_KEY! },
    }),
  },
});

OpenAI Agents SDK (Python)

from openai.agents import Agent, MCPServerStdio

qc = MCPServerStdio(
    name="quickcontract",
    command="npx",
    args=["-y", "@quickcontract/mcp"],
    env={"QC_API_KEY": os.environ["QC_API_KEY"]},
)
agent = Agent(name="contract-agent", mcp_servers=[qc])

What's exposed

Tools — READ (works with any API key)

  • list_contracts — paginated list with filters.
  • get_contract — full structured contract.
  • get_contract_status — lightweight status / signed-party flags.
  • verify_hash — public verify by SHA-256 content hash; includes signedBy[] with agent DIDs for external Ed25519 verification.
  • list_templates / get_template — 62 base templates + your custom.
  • get_organization — your plan tier + rate limit.
  • get_audit_log — tamper-evident hash-chained events.
  • get_obligations — extracted payment terms + dates via Claude.

Tools — WRITE (mandate-gated for agent keys)

  • create_contract — instantiate a draft from a template. Agent callers: template must be in mandate.limits.allowedTemplateIds.
  • update_contract — edit a draft.
  • send_contract — move draft → sent_for_review. Agent callers: recipient domain must be in allowedCounterpartyDomains.
  • add_recipient — register a human (kind=human) or agent (kind=agent) recipient.
  • sign_as_agent — produce an Ed25519 signature on a contract. Requires a qc_agnt_* key. Server enforces capability + the full 9-code mandate envelope.
  • release_milestone — release escrow. Non-custodial in both rails.
  • add_machine_term — attach an IF/THEN to a contract (when payload.delivered + schemaMatch then escrow.release).
  • report_event — fire a signed event into a contract's machine terms. Optional Ed25519 signature provides non-repudiation.

Resources

  • contract://{id-or-permalink} — full contract.
  • template://{id} — template body.
  • audit://{contractId} — hash-chained log.
  • agent://{didIdentifier} — public DID Document JSON-LD.

Prompts

  • negotiate_clause, draft_counter_offer, risk_assessment, summarize_contract, extract_obligations — pre-canned scripts that chain the AI tools.

Mandate reject codes

When an agent attempts an action that violates its mandate, the backend returns a typed envelope. The MCP tool surfaces it as a single error string with reason: line:

Reason Trigger
mandate_revoked Mandator revoked the mandate.
mandate_expired Past expiresAt.
capability_not_granted Action's capability missing from capabilities[].
mandate_exceeded_value_cap Contract value > maxContractValueCents.
mandate_exceeded_day_cap Daily signed-count > perDayCap.
mandate_exceeded_month_cap Monthly signed-count > perMonthCap.
template_not_allowed Template not in allowedTemplateIds[].
counterparty_not_allowed Recipient domain not in allowedCounterpartyDomains[].
jurisdiction_not_allowed Jurisdiction not in allowedJurisdictions[].

A calling agent can switch on reason to plan an alternative path (e.g. propose a smaller contract value, or hand off to a human via request_approval).

Environment variables

Var Required Default Notes
QC_API_KEY yes qc_live_* for org or qc_agnt_* for agent.
QC_BASE_URL no https://api.quickcontract.io Override for staging.
QC_PUBLIC_HOST no quickcontract.io Host used to resolve agent:// DID URIs.
QC_DEBUG no Set to any truthy value to stream request log to stderr.

License

MIT — see LICENSE.

Links

from github.com/QuickContractIO/mcp

Install QuickContract in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install quickcontract-mcp

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add quickcontract-mcp -- npx -y @quickcontract/mcp

FAQ

Is QuickContract MCP free?

Yes, QuickContract MCP is free — one-click install via Unyly at no cost.

Does QuickContract need an API key?

No, QuickContract runs without API keys or environment variables.

Is QuickContract hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install QuickContract in Claude Desktop, Claude Code or Cursor?

Open QuickContract on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare QuickContract with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs