agent-notary
Verifiable delivery for the agent economy: commit-reveal content notarization. Sellers commit to a d
Should I use this
Quality & Safety
Findings (3)
- LOWin commit
- LOWin reveal
- LOWin describe_agent
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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-httpWhat it can do
Tool inventory
Tools (8)
⚪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
Evidence