Skip to main content
Glama

event_append

Append one event to a stream. History is never mutated.

Input Schema

NameRequiredDescriptionDefault
typeYesDotted event type, e.g. human.update or agent.run.started. run.*, step.*, process.*, evidence.* and secret.* are server-only
actorNoIgnored: the actor is always the caller
agentNoOverride agent attribution label
payloadNoJSON object payload (corrections are new events)
stream_idYesStream id: work:{uuid} (task timeline), run:{uuid} (Process Run), entity:{uuid} (ontology node), org:{uuid} (schema), project:{uuid}, session:{id}, agent_run:{uuid}, memory:{uuid} (recall feedback)
on_behalf_ofNoIgnored: set from the caller
correlation_idNoOptional correlation id to group related events

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / actor / description
      Previous value: -"Optional actor override: human:… / agent:… / computer:…"New value: +"Ignored: the actor is always the caller"
    • changedInput schema / properties / on_behalf_of / description
      Previous value: -"Optional delegated actor (same dialect as actor)"New value: +"Ignored: set from the caller"
    • changedInput schema / properties / type / description
      Previous value: -"Dotted event type, e.g. human.update, agent.run.started, or process.run.created"New value: +"Dotted event type, e.g. human.update or agent.run.started. run.*, step.*, process.*, evidence.* and secret.* are server-only"
  2. Changed1 schema field changed
    • changedInput schema / properties / type / description
      Previous value: -"Dotted event type, e.g. work.comment or process.advanced"New value: +"Dotted event type, e.g. human.update, agent.run.started, or process.run.created"
  3. Changed1 schema field changed
    • changedInput schema / properties / stream_id / description
      Previous value: -"Stream id: work:{uuid} (task timeline), run:{uuid} (Process Run), entity:{uuid} (ontology node), org:{uuid} (schema), project:{uuid}, session:{id}, agent_run:{uuid}"New value: +"Stream id: work:{uuid} (task timeline), run:{uuid} (Process Run), entity:{uuid} (ontology node), org:{uuid} (schema), project:{uuid}, session:{id}, agent_run:{uuid}, memory:{uuid} (recall feedback)"
  4. Changed1 schema field changed
    • changedInput schema / properties / stream_id / description
      Previous value: -"Stream id: work:{uuid} (task timeline), run:{uuid} (reserved for Process Run #343), entity:{uuid} (ontology node), org:{uuid} (schema), project:{uuid}, session:{id}, agent_run:{uuid}"New value: +"Stream id: work:{uuid} (task timeline), run:{uuid} (Process Run), entity:{uuid} (ontology node), org:{uuid} (schema), project:{uuid}, session:{id}, agent_run:{uuid}"
  5. Changed1 schema field changed
    • changedInput schema / properties / stream_id / description
      Previous value: -"Stream id: work:{uuid} (task timeline), run:{uuid} (reserved for Process Run #343), project:{uuid}, session:{id}, agent_run:{uuid}"New value: +"Stream id: work:{uuid} (task timeline), run:{uuid} (reserved for Process Run #343), entity:{uuid} (ontology node), org:{uuid} (schema), project:{uuid}, session:{id}, agent_run:{uuid}"
  6. Added

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the burden alone. 'History is never mutated' is a genuinely useful disclosure of the append-only, non-destructive semantics that an agent could not infer elsewhere. It omits permissions, whether the stream must pre-exist, and the fact that several event-type prefixes are rejected server-side (only in schema).

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

Conciseness5/5

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

Two short sentences, neither wasted: the first states the action, the second states the invariant. Purpose is front-loaded and there is no filler.

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?

An output schema exists and the schema fully documents all 7 parameters, so the description needn't cover return values or field syntax. What remains missing for a 7-param write tool with zero annotations is routing guidance versus event_list and any precondition or failure-mode note.

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

Parameters3/5

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

Schema description coverage is 100% and every parameter (stream_id formats, event type naming rules, actor ignored, payload corrections) is documented in the schema itself. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (append) and resource (one event to a stream), which immediately distinguishes it from the read-side sibling event_list. It stops short of explicitly naming that sibling or the adjacent write tools, so differentiation is implied rather than stated.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance: nothing says to prefer event_list for reading, nor what preconditions exist (must the stream already exist? are there event-type restrictions?). The immutability note hints at a correction workflow (append rather than modify) but only in the schema's payload text, not the description.

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.