agent-notary

Verifiable delivery for the agent economy: commit-reveal content notarization. Sellers commit to a d

Should I use this

Quality & Safety

B
Description quality
86%
Schema completeness
67%
Naming quality
88%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (3)

  • LOWTool 'commit' description lacks action verbin commit
  • LOWTool 'reveal' description lacks action verbin reveal
  • LOWTool 'describe_agent' description lacks action verbin describe_agent

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,121Tokens (tool definitions)
~1.1 KBTypical response size
Moderate attention impact (0.88% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "agent-notary": {
      "url": "https://mcp.viridisconservation.com/notary/mcp"
    }
  }
}

Remote endpoints

https://mcp.viridisconservation.com/notary/mcpstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪commit(committer, nonce, commit_hash, deadline, context)

Commit to a deliverable BEFORE handover. commit_hash = sha256(salt || sha256(content)) as 64 hex chars; deadline is ISO-8601; context links the escrow/job. Idempotent per (committer, nonce).

Input Schema

{
  "type": "object",
  "properties": {
    "committer": {
      "title": "Committer",
      "type": "string"
    },
    "nonce": {
      "title": "Nonce",
      "type": "string"
    },
    "commit_hash": {
      "title": "Commit Hash",
      "type": "string"
    },
    "deadline": {
      "title": "Deadline",
      "type": "string"
    },
    "context": {
      "default": "",
      "title": "Context",
      "type": "string"
    }
  },
  "required": [
    "committer",
    "nonce",
    "commit_hash",
    "deadline"
  ],
  "title": "commitArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "commitOutput"
}
⚪reveal(commitment_id, salt, content_digest)

Reveal the committed content's digest + salt after handover. Verifies against the commitment (one bit of drift fails); returns a delivery_proof string for escrow release. Late reveals expire the commitment.

Input Schema

{
  "type": "object",
  "properties": {
    "commitment_id": {
      "title": "Commitment Id",
      "type": "string"
    },
    "salt": {
      "title": "Salt",
      "type": "string"
    },
    "content_digest": {
      "title": "Content Digest",
      "type": "string"
    }
  },
  "required": [
    "commitment_id",
    "salt",
    "content_digest"
  ],
  "title": "revealArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "revealOutput"
}
🟢verify(commitment_id, content_digest)

Independently verify a revealed commitment; optionally check it against the digest of content you received.

Input Schema

{
  "type": "object",
  "properties": {
    "commitment_id": {
      "title": "Commitment Id",
      "type": "string"
    },
    "content_digest": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Content Digest"
    }
  },
  "required": [
    "commitment_id"
  ],
  "title": "verifyArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "verifyOutput"
}
⚪commitment_status(commitment_id)

Current record for a commitment (pre-reveal, salt/digest stay hidden).

Input Schema

{
  "type": "object",
  "properties": {
    "commitment_id": {
      "title": "Commitment Id",
      "type": "string"
    }
  },
  "required": [
    "commitment_id"
  ],
  "title": "commitment_statusArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "commitment_statusOutput"
}
🟢list_commitments(state)

List commitments, optionally filtered by state (PENDING|REVEALED|EXPIRED).

Input Schema

{
  "type": "object",
  "properties": {
    "state": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "State"
    }
  },
  "title": "list_commitmentsArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_commitmentsOutput"
}
⚪seal_outcome_receipt(output, subject, profile, excludes, bindings)

Seal an agent output as an Outcome Receipt (ORC v0.1) and register its commitment. Returns a portable receipt anyone can verify offline (L1) and against this notary's registry (L2). The notary attests integrity and time ("notarized"), not correctness. No floats in output; stores only digests. Spec: docs/standards/OUTCOME_RECEIPT_v0.1.md

Input Schema

{
  "type": "object",
  "properties": {
    "output": {
      "additionalProperties": true,
      "title": "Output",
      "type": "object"
    },
    "subject": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Subject"
    },
    "profile": {
      "default": "generic",
      "title": "Profile",
      "type": "string"
    },
    "excludes": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Excludes"
    },
    "bindings": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bindings"
    }
  },
  "required": [
    "output"
  ],
  "title": "seal_outcome_receiptArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "seal_outcome_receiptOutput"
}
🟢get_orc_commitment(commitment)

Registry lookup: is this ORC commitment sealed by this notary? Returns digest, issuer, profile, attestation and registered_at, or NotFound.

Input Schema

{
  "type": "object",
  "properties": {
    "commitment": {
      "title": "Commitment",
      "type": "string"
    }
  },
  "required": [
    "commitment"
  ],
  "title": "get_orc_commitmentArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_orc_commitmentOutput"
}
🟢describe_agent

Return capabilities and input contract.

Input Schema

{
  "type": "object",
  "properties": {},
  "title": "describe_agentArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "describe_agentOutput"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools