Skip to main content
Glama

start_session

Initiate a governed MACP Decision session as the initiator and receive a session_id to share so other participants can join.

Instructions

Start a new MACP Decision session with this agent as initiator.

Returns the new session_id; share it with the other participants so they can join.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "intent": "<intent>",
      "participants": "<participants>"
    },
    "name": "start_session"
  }
}

Input Schema

NameRequiredDescriptionDefault
intentYesWhat the group is deciding, in one sentence.
ttl_msNoSession time-to-live in milliseconds; 0 uses the server default.
context_idNoOptional opaque reference to external context.
participantsYesMACP agent ids allowed to act in the session. This agent is added automatically if missing.

Output Schema

NameRequiredDescriptionDefault
okYes
modeYes
ttl_msYes
duplicateYes
initiatorYes
message_idYes
session_idYes
participantsYes
session_stateYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare the mutating, non-destructive, open-world profile, so the bar is lower. The description adds the useful facts that the caller becomes initiator automatically and that a session_id is returned for distribution, but says nothing about session lifetime, expiry, or what happens on ttl_ms elapse beyond what the schema states.

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: what it does first, then the return-and-share instruction. Zero redundant text and front-loaded.

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

Completeness4/5

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

An output schema exists, so return structure need not be explained, and the description still flags the one return value that matters (session_id). Combined with full schema coverage, an agent has what it needs to invoke it; only post-creation lifecycle context is thin.

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% — intent, participants, ttl_ms, and context_id are all documented in the schema, including the self-adding behavior for participants. The description adds no parameter meaning beyond that, so 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+resource: 'Start a new MACP Decision session', with the added detail that this agent becomes the initiator. It is clearly distinguishable from read-side siblings like get_session, though it never names an alternative explicitly.

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

Usage Guidelines3/5

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

Usage is implied — this is the entry point of the session workflow, and the description tells the caller what to do with the result ('share it with the other participants'). There is no explicit when-to-use/when-not or mention of the sibling tools (propose, join, commit) that follow.

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