Skip to main content
Glama

Post a Team Event to a Governed Session

me.session_event

Pro/Teams — append a TYPED TEAM EVENT to a Governed Session's timeline (GEP-M6). This is how the user's own harness makes trio work inspectable: handoffs between role lenses, pushbacks, plan previews, gates, and acks land as structured events next to the validation runs, so the session reads as a system, not a transcript. CHANNEL PROVENANCE: this MCP channel posts the AGENT-SIDE vocabulary only. steer events and actor human are cockpit-originated by contract (the owner posts them from the AIDB Studio session surface) and are REFUSED here, so a timeline entry can never impersonate the human side of the loop. Every event posted here is durably stamped with its channel. REQUIRES team mode: the session must have team_agents enabled (toggled in the web app on the session page); posting to a standalone session is refused so non-team sessions stay byte-identical. Owner-scoped: foreign session ids read as not found. event_type: handoff | pushback | plan_preview | gate | ack. actor: pm | engineer | designer | system. Read events back via me.sessions(session_id=...). WHEN TO CALL: at every role handoff (who -> who, what was passed), when a role pushes back on another's output, when the PM's plan is previewed for the co-planning gate, and when a hard gate blocks on an irreversible side-effect. ack: the IDE agent confirms it STARTED working on a steer. Post it FIRST on receiving a steer (summary like 'Started: '), then execute, then post handoff with the result. WHEN NOT TO CALL: not a chat log: post decisions and transitions, not every message; never to record a steer (steers arrive FROM the cockpit via me.await_steer). REJECTION CODES (invalid_request): 'Session not found.' (not yours, or no such id); 'Team mode is off for this session.' (owner enables it on the session page); 'This session has reached its event limit (500).' (the shared volume brake: start a new session for further team events); 'summary must not be blank.' (empty summaries are refused); steer/human posts are refused with a pointer to the cockpit channel. Auth: Bearer , Pro/Teams plan.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actorYesWho acted: pm | engineer | designer | system (`human` is reserved for the cockpit channel)
summaryYesOne-to-two sentence event summary (truncated to 500 chars) — a decision or transition, not a chat message.
event_typeYeshandoff | pushback | plan_preview | gate | ack (ack = started working on a steer; `steer` itself is cockpit-only and refused on this channel)
session_idYesThe Governed Session to post to. Must be YOURS and have team_agents enabled; list sessions via me.sessions.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare readOnly=false, openWorld=false, idempotent=false, destructive=false. The description goes far beyond this: it discloses that steer/human posts are refused, that team mode must be enabled, that foreign session ids read as not found, that there's a 500-event limit, that blank summaries are refused, and that auth requires Pro/Teams. It also explains the channel provenance (agent-side vocabulary only). No contradiction with annotations; the description enriches the safety/behavioral profile enormously.

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?

The description is long but clearly structured with sections (purpose, channel provenance, requirements, when to call, when not to call, rejection codes). It front-loads the core purpose first. However, some parts are verbose (e.g., repeating 'the owner posts them from the AIDB Studio session surface' could be shorter) and there's a slight over-explanation of mechanics. Still, for a tool with this complexity, the length is mostly justified.

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

Completeness5/5

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

This is a high-complexity tool with a rich schema, output schema, and annotations, and the description leaves nothing unclear. It covers the full context: why to use it (making trio work inspectable), lifecycle (post ack first, then handoff), error handling (rejection codes with conditions), auth requirements, team mode requirement, and relationship to cockpit/await_steer. Taking the output schema into account, the description is complete for selecting and invoking 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 100%, so the baseline is 3. The description adds meaning beyond the schema by clarifying that `actor` 'human' is reserved for the cockpit channel, `event_type` 'ack' means 'started working on a steer', the `summary` should be a decision/transition (not chat) and is truncated to 500 chars, and `session_id` must be yours and team-enabled. This extra context pushes it above baseline, though a few details are already embodied in the schema descriptions.

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+resource+scope: 'append a TYPED TEAM EVENT to a Governed Session's timeline'. It clearly defines what the tool does (posting structured handoffs, pushbacks, gates, etc.), lists allowed event types and actors, and distinguishes this agent-side channel from cockpit-originated `steer` events by naming `me.await_steer` as the source. This fully differentiates it from sibling tools like handoffs.* and me.sessions.

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

Usage Guidelines5/5

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

The description explicitly states 'WHEN TO CALL' (every role handoff, pushback, plan preview, gate, ack on steer) and 'WHEN NOT TO CALL' (not a chat log, never record steers). It also gives direct alternatives: 'Read events back via me.sessions' and 'steers arrive FROM the cockpit via me.await_steer'. This is textbook usage guidance with exclusions and alternative tools.

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.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose within its domain: the validators are differentiated by lens (architect/design/spec), content tools are split by entity (principles/clusters/guides/examples/assets) with list/get/search variants, and even the me.* and handoffs.* tools have non-overlapping functions. The only near-overlap (architect.validate vs architect.validate_consensus) is explicitly disambiguated by the consensus variant's description.

Naming Consistency4/5

Tool names consistently use a domain prefix (architect., principles., me., etc.) and snake_case throughout. While most are action-oriented (validate, list, get, search, add, await, report, summarize), some me.* and handoffs.* names are noun phrases (me.learning_path, handoffs.agency) that don't signal the action as clearly, creating minor deviation from a pure verb_noun or action pattern.

Tool Count3/5

At 29 tools, the set is heavy but justified by the server's broad multi-domain scope (doctrine, validation, learning, support, and team analytics). Each tool has a distinct role, but the number exceeds the typical well-scoped range, and some content types (e.g., examples) could have been consolidated without losing function.

Completeness4/5

The server covers its apparent domains thoroughly: doctrine content has list/get/search for most entity types, validation covers architecture/design/spec with consensus and certification, and user learning/support have appropriate tools. Minor gaps exist—e.g., examples have no list-all endpoint, and session management is web-only—but none are blocking for core workflows.

Resources