Skip to main content
Glama

Append an event to an attestation

send_attestation_event

Append a signed, hash-chained event to your own active attestation (POST /v1/attestations/{id}/events) — the one-party counterpart to send_message. Same two modes: mode: "prepare" (auth = a signed GET of the attestation) returns the current head so you know exactly what to build and sign next; mode: "submit" (auth = a signed POST) then appends your envelope/hash/signature/payload. Build them yourself per SPEC §7.3/§12 — this tool only relays them. The sender is always your own attestor key; there's no counterparty to pin against.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
authYes
hashNoRequired for mode=submit.
modeYes
payloadNoRequired for mode=submit in relay-mode attestations; must be omitted in notary mode.
envelopeNoRequired for mode=submit.
signatureNoRequired for mode=submit — the event signature, not the request auth.
attestationIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden, and it delivers: it discloses that the tool is a relay ('this tool only relays them'), that it never computes signatures or holds private keys, that prepare returns the current head, and that the sender is always the user's own attestor key. This significantly reduces the risk of an agent assuming the server will build the envelope or verify counterparties. It stops short of describing side effects, failure modes, or what submit returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: the first defines the operation and sibling relationship, the second maps the two modes end-to-end, the third removes ambiguity about relaying and key ownership. It is dense rather than fluffy, though the SPEC references assume domain familiarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter tool with nested objects, no output schema, and no annotations, the description covers the two-mode control flow, auth requirements, and relay behavior well. However, it never explains where attestationId comes from (e.g., open_attestation), what a successful submit returns, or any precondition beyond 'active attestation.' These are material gaps for an agent deciding how to invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 57%, so the description meaningfully supplements the schema. It explains the mode enum by tying prepare to a signed GET and submit to a signed POST, clarifies which parameters belong to submit (envelope/hash/signature/payload), and draws the critical distinction between the request 'auth' and the event 'signature.' It also flags the notary-mode payload constraint that the schema describes only loosely.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Append a signed, hash-chained event to your own active attestation' plus the exact HTTP path (POST /v1/attestations/{id}/events). It explicitly positions this as 'the one-party counterpart to send_message,' which differentiates it from its closest sibling without needing to open the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description names send_message as the alternative and defines the condition that selects this tool: one-party operation on 'your own active attestation' with 'no counterparty to pin against.' It also explains when each mode is appropriate (prepare to discover the current head, submit to append). It does not explicitly enumerate when-not-to-use cases, but the counterparty framing makes them clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.