Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,528Letters: 13Defects: 1,322counted 4 min ago
teppi

Server definition

Hash
sha256:37f8f869a423719e32f751fcb75c18ced02dbcfb56d0922209c9434763ab5f79
What it is
What a remote MCP server returned when asked what it offers: 2 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Call this before your agent does something consequential (sends, pays, deletes, publishes, installs or changes access). Pass mandate (the operator's rules; the first matching clause decides) and action (kind, verb, target, optional counterparty and amount). Returns permit, deny or escalate with the governing clause, a reason, an action digest and a signed receipt; treat error as deny. Advisory: it cannot stop an action, and it keeps no request content. To check a new mandate first, call validate_mandate. Examples: inputSchema. Docs: https://hanria.ai/llms.txt", "inputSchema": { "additionalProperties": false, "examples": [ { "action": { "justification": "Read the permitted file.", "operation": { "kind": "file", "target": "/tmp/example", "verb": "read" }, "requested_by": { "agent": "example-agent" }, "schema_version": "0.1-draft" }, "mandate": { "clauses": [ { "effect": "permit", "id": "permit-file", "match": { "kind": [ "file" ] } } ], "default": "deny", "mandate_id": "minimal-permit", "purpose": "Permit one file action.", "schema_version": "0.2-draft" } }, { "action": { "justification": "Pay the invoiced supplier.", "operation": { "amount": { "currency": "USDC", "value": "25" }, "counterparty": "0x2222222222222222222222222222222222222222", "kind": "transaction", "target": "eip155:11155111/0x1111111111111111111111111111111111111111/transfer", "verb": "transfer" }, "requested_by": { "agent": "example-agent" }, "schema_version": "0.1-draft" }, "mandate": { "clauses": [ { "effect": "permit", "id": "small-transfers", "match": { "counterparty": [ "0x2222222222222222222222222222222222222222" ], "kind": [ "transaction" ], "max_amount": { "currency": "USDC", "value": "100" }, "target_prefix": [ "eip155:11155111/0x1111111111111111111111111111111111111111/" ], "verb": [ "transfer" ] } } ], "default": "escalate", "mandate_id": "example-payments", "purpose": "Permit small transfers to one named recipient on a test network.", "schema_version": "0.2-draft" } } ], "properties": { "action": { "$comment": "Forbidden anywhere in an instance: credential, secret, private_key, token, password, api_key. A runtime is expected to refuse a request containing them rather than strip them.", "additionalProperties": false, "description": "A typed description of a proposed operation, submitted by an agent to a local HANRIA runtime. MUST NOT contain credentials, secrets, private keys, or tokens.", "properties": { "idempotency_key": { "description": "Optional. Lets a runtime refuse a duplicate rather than perform an operation twice.", "type": "string" }, "justification": { "description": "Why the agent believes this is within its mandate. Free text, for the record.", "minLength": 1, "type": "string" }, "mandate_ref": { "description": "Optional reference to the owner-defined mandate the agent believes authorizes this.", "type": "string" }, "operation": { "additionalProperties": false, "properties": { "amount": { "additionalProperties": false, "description": "An amount. Both fields are required: a bare amount object describes nothing a ceiling could be compared against.", "properties": { "currency": { "minLength": 1, "type": "string" }, "value": { "description": "Decimal as a string, to avoid float error.", "minLength": 1, "type": "string" } }, "required": [ "value", "currency" ], "type": "object" }, "counterparty": { "type": "string" }, "kind": { "enum": [ "file", "process", "package", "network", "device", "credential_use", "transaction", "administrative" ] }, "parameters": { "description": "Non-secret parameters. A runtime MUST reject any request whose parameters appear to contain a credential.", "type": "object" }, "target": { "description": "What the operation acts on. A path, host, package name, or resource identifier. NEVER a secret. Required for the same reason as the verb.", "minLength": 1, "type": "string" }, "verb": { "description": "What is to be done to the target, e.g. read, write, execute, install, connect, sign, transfer. Required: an operation named only by its kind does not describe a proposed action well enough to be judged.", "minLength": 1, "type": "string" } }, "required": [ "kind", "verb", "target" ], "type": "object" }, "requested_by": { "additionalProperties": false, "properties": { "agent": { "description": "Identifier of the requesting agent.", "type": "string" }, "on_behalf_of": { "description": "Optional identifier of the human or system the agent acts for.", "type": "string" }, "session": { "description": "Optional session or task identifier.", "type": "string" } }, "required": [ "agent" ], "type": "object" }, "schema_version": { "const": "0.1-draft", "description": "Draft. The runtime does not exist; this shape may change." } }, "required": [ "schema_version", "requested_by", "operation", "justification" ], "title": "HANRIA action request", "type": "object" }, "mandate": { "$comment": "A mandate names what may be done, not the means of doing it, and must never contain a credential, secret, key or token. The checker refuses a mandate carrying recognizable credential material rather than evaluating it, because anything in a clause note is copied into the decision record. That detection is a heuristic and cannot be complete.", "additionalProperties": false, "description": "An operator-authored statement of what an agent may do. Written by a person, read by an agent, evaluated locally. A mandate is advisory: it describes intended authority and supports a local check, but it does not enforce anything. Enforcement requires a component that exclusively holds the credentials and can refuse.", "properties": { "clauses": { "description": "Evaluated in order. The first matching clause decides. A request matching no clause takes the mandate default.", "items": { "additionalProperties": false, "properties": { "effect": { "description": "What this clause does when it matches.", "enum": [ "permit", "deny", "escalate" ] }, "id": { "description": "Identifier for this clause. Returned with every decision so a reviewer can see which sentence of the mandate was relied on.", "minLength": 1, "type": "string" }, "match": { "additionalProperties": false, "description": "All present conditions must hold for the clause to match.", "properties": { "counterparty": { "description": "Permitted counterparties, matched exactly. Absent means any counterparty.", "items": { "type": "string" }, "minItems": 1, "type": "array" }, "kind": { "description": "Operation kinds this clause covers.", "items": { "enum": [ "file", "process", "package", "network", "device", "credential_use", "transaction", "administrative" ] }, "minItems": 1, "type": "array" }, "max_amount": { "additionalProperties": false, "description": "Ceiling for an operation carrying an amount. A request above it does not match this clause.", "properties": { "currency": { "type": "string" }, "value": { "description": "Decimal as a string, to avoid float error.", "type": "string" } }, "required": [ "value", "currency" ], "type": "object" }, "target_prefix": { "description": "The operation target must begin with one of these strings. Absent means any target. Prefix matching is deliberately literal: it does not resolve symlinks, normalize paths, or understand hostnames, so a target is compared as written.", "items": { "type": "string" }, "minItems": 1, "type": "array" }, "verb": { "description": "Permitted verbs, matched case-insensitively and exactly. Absent means any verb.", "items": { "type": "string" }, "minItems": 1, "type": "array" } }, "required": [ "kind" ], "type": "object" }, "note": { "description": "Why this clause exists. Carried into the decision record verbatim.", "type": "string" } }, "required": [ "id", "effect", "match" ], "type": "object" }, "minItems": 1, "type": "array" }, "default": { "description": "What happens when no clause matches. 'permit' is deliberately not an option: a mandate that permits by default cannot express a limit.", "enum": [ "deny", "escalate" ] }, "issued_by": { "description": "Who wrote this mandate. Free text; not authenticated by anything in this skill.", "type": "string" }, "mandate_id": { "description": "Stable identifier for this mandate. Appears in every decision record made against it.", "minLength": 1, "type": "string" }, "not_valid_after": { "description": "RFC 3339 timestamp. After this instant every action is denied. Absent means no expiry, which is discouraged: an unbounded mandate is the condition that lets delegated authority outlive the task it was granted for.", "format": "date-time", "type": "string" }, "purpose": { "description": "What the agent is authorized to accomplish, in the operator's own words. Not evaluated mechanically; it is the human-readable statement against which a reviewer judges whether the clauses actually express the intent.", "minLength": 1, "type": "string" }, "requires_human": { "description": "Operation kinds that always require a person, even where a clause permits them. These escalate rather than permit.", "items": { "enum": [ "file", "process", "package", "network", "device", "credential_use", "transaction", "administrative" ] }, "minItems": 0, "type": "array" }, "schema_version": { "const": "0.2-draft", "description": "Draft. The shape may change while the runtime is in development." } }, "required": [ "schema_version", "mandate_id", "purpose", "default", "clauses" ], "title": "HANRIA mandate", "type": "object" } }, "required": [ "mandate", "action" ], "type": "object" }, "name": "check_action", "outputSchema": { "additionalProperties": false, "properties": { "action_digest": { "description": "SHA-256 of hanria-action-v1 followed by the action's canonical JSON.", "type": "string" }, "clause": { "description": "The clause that decided, when one did.", "type": "string" }, "clause_note": { "type": "string" }, "mandate_ref": { "type": "string" }, "outcome": { "description": "Treat error as deny.", "enum": [ "permit", "deny", "escalate", "error" ], "type": "string" }, "reason": { "type": "string" }, "receipt": { "additionalProperties": false, "description": "Ed25519-signed receipt binding the outcome to this action and mandate for 15 minutes. Keys and the signed-bytes rule: https://check.hanria.ai/.well-known/hanria-receipt-keys.json", "properties": { "action_digest": { "type": "string" }, "clause": { "type": "string" }, "issued_at": { "format": "date-time", "type": "string" }, "kid": { "type": "string" }, "mandate_digest": { "type": "string" }, "mandate_ref": { "type": "string" }, "not_after": { "format": "date-time", "type": "string" }, "outcome": { "enum": [ "permit", "deny", "escalate" ], "type": "string" }, "signature": { "type": "string" }, "type": { "const": "hanria-receipt-v1", "type": "string" } }, "required": [ "type", "kid", "outcome", "action_digest", "mandate_digest", "issued_at", "not_after", "signature" ], "type": "object" }, "schema_version": { "const": "0.1-draft", "type": "string" } }, "required": [ "schema_version", "outcome", "reason" ], "type": "object" } }, { "description": "Call this after writing or editing a mandate, before relying on it. Returns valid true or false with the reason: schema errors, clauses that can never run because an earlier clause already decides them, unbounded prefixes, credential material, and expiry. An invalid mandate makes every check_action call answer error. Once per mandate version is enough; there is no need to call it before every check_action. Free, and it keeps no request content. Docs: https://hanria.ai/llms.txt", "inputSchema": { "additionalProperties": false, "examples": [ { "mandate": { "clauses": [ { "effect": "permit", "id": "permit-file", "match": { "kind": [ "file" ] } } ], "default": "deny", "mandate_id": "minimal-permit", "purpose": "Permit one file action.", "schema_version": "0.2-draft" } } ], "properties": { "mandate": { "$comment": "A mandate names what may be done, not the means of doing it, and must never contain a credential, secret, key or token. The checker refuses a mandate carrying recognizable credential material rather than evaluating it, because anything in a clause note is copied into the decision record. That detection is a heuristic and cannot be complete.", "additionalProperties": false, "description": "An operator-authored statement of what an agent may do. Written by a person, read by an agent, evaluated locally. A mandate is advisory: it describes intended authority and supports a local check, but it does not enforce anything. Enforcement requires a component that exclusively holds the credentials and can refuse.", "properties": { "clauses": { "description": "Evaluated in order. The first matching clause decides. A request matching no clause takes the mandate default.", "items": { "additionalProperties": false, "properties": { "effect": { "description": "What this clause does when it matches.", "enum": [ "permit", "deny", "escalate" ] }, "id": { "description": "Identifier for this clause. Returned with every decision so a reviewer can see which sentence of the mandate was relied on.", "minLength": 1, "type": "string" }, "match": { "additionalProperties": false, "description": "All present conditions must hold for the clause to match.", "properties": { "counterparty": { "description": "Permitted counterparties, matched exactly. Absent means any counterparty.", "items": { "type": "string" }, "minItems": 1, "type": "array" }, "kind": { "description": "Operation kinds this clause covers.", "items": { "enum": [ "file", "process", "package", "network", "device", "credential_use", "transaction", "administrative" ] }, "minItems": 1, "type": "array" }, "max_amount": { "additionalProperties": false, "description": "Ceiling for an operation carrying an amount. A request above it does not match this clause.", "properties": { "currency": { "type": "string" }, "value": { "description": "Decimal as a string, to avoid float error.", "type": "string" } }, "required": [ "value", "currency" ], "type": "object" }, "target_prefix": { "description": "The operation target must begin with one of these strings. Absent means any target. Prefix matching is deliberately literal: it does not resolve symlinks, normalize paths, or understand hostnames, so a target is compared as written.", "items": { "type": "string" }, "minItems": 1, "type": "array" }, "verb": { "description": "Permitted verbs, matched case-insensitively and exactly. Absent means any verb.", "items": { "type": "string" }, "minItems": 1, "type": "array" } }, "required": [ "kind" ], "type": "object" }, "note": { "description": "Why this clause exists. Carried into the decision record verbatim.", "type": "string" } }, "required": [ "id", "effect", "match" ], "type": "object" }, "minItems": 1, "type": "array" }, "default": { "description": "What happens when no clause matches. 'permit' is deliberately not an option: a mandate that permits by default cannot express a limit.", "enum": [ "deny", "escalate" ] }, "issued_by": { "description": "Who wrote this mandate. Free text; not authenticated by anything in this skill.", "type": "string" }, "mandate_id": { "description": "Stable identifier for this mandate. Appears in every decision record made against it.", "minLength": 1, "type": "string" }, "not_valid_after": { "description": "RFC 3339 timestamp. After this instant every action is denied. Absent means no expiry, which is discouraged: an unbounded mandate is the condition that lets delegated authority outlive the task it was granted for.", "format": "date-time", "type": "string" }, "purpose": { "description": "What the agent is authorized to accomplish, in the operator's own words. Not evaluated mechanically; it is the human-readable statement against which a reviewer judges whether the clauses actually express the intent.", "minLength": 1, "type": "string" }, "requires_human": { "description": "Operation kinds that always require a person, even where a clause permits them. These escalate rather than permit.", "items": { "enum": [ "file", "process", "package", "network", "device", "credential_use", "transaction", "administrative" ] }, "minItems": 0, "type": "array" }, "schema_version": { "const": "0.2-draft", "description": "Draft. The shape may change while the runtime is in development." } }, "required": [ "schema_version", "mandate_id", "purpose", "default", "clauses" ], "title": "HANRIA mandate", "type": "object" } }, "required": [ "mandate" ], "type": "object" }, "name": "validate_mandate", "outputSchema": { "additionalProperties": false, "properties": { "clauses": { "type": "integer" }, "expired": { "description": "True when not_valid_after has passed; check_action then denies everything.", "type": "boolean" }, "mandate_digest": { "description": "SHA-256 of the mandate's canonical JSON; receipts carry the same value.", "type": "string" }, "mandate_ref": { "type": "string" }, "reason": { "type": "string" }, "schema_version": { "const": "0.1-draft", "type": "string" }, "valid": { "type": "boolean" } }, "required": [ "schema_version", "valid", "reason" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:37f8f869a423719e32f751fcb75c18ced02dbcfb56d0922209c9434763ab5f79 | sha256sum