Skip to main content
Glama

Open My Coach

open_my_coach
Read-only

When the person says "Open my coach" (or advisor, counselor, teacher, mentor): returns the call to GoldSeam's open_coach that opens the coach (GoldCoach, a view in this chat) for this same interview, with the interview's context and the earlier coaching context so the same coach reopens, and where the interview continues. Nothing is open until open_coach answers: then call open_my_coach again with avatar_status and what open_coach actually returned (coach.coach_id, coach.seat, coach.page_url), and the size preset and display mode the view reports, so the package records them. Opening, resizing or closing the coach never resets the interview.

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": {
      "package": "<package>"
    },
    "name": "open_my_coach"
  }
}

Input Schema

NameRequiredDescriptionDefault
roleNo
packageYesThe package the last GoldSeam Selfie answer returned (goldribbon_package_v1 with its selfie_interview part). Keep it for the person and send it back whole; GoldSeam keeps no copy.
avatar_pageNoThe coach.page_url open_coach returned
avatar_seatNoThe coach.seat open_coach returned
size_presetNoThe person's size choice, as the coach view reports it
display_modeNoThe display mode the coach view reports the host granted
avatar_statusNoWhat open_coach actually answered; opened needs avatar_conversation
avatar_replacedNoWhen open_coach answered status replaced: the coach.replaced.previous_coach_id it replaced, so the package records which coaching context the new one took over from
avatar_conversationNoThe coach.coach_id open_coach returned (GoldAvatar's conversation)

Output Schema

NameRequiredDescriptionDefault
coachNo
voiceNo
limitsNoWhat this answer could not do, each { code, statement }
statusNoWhat happened, or needs_attention with a problem
packageNoThe person's package with the interview; absent when the call could not use it
problemNoWhen status is needs_attention: code, statement, what_to_do
contractYes
statementYes
coach_callNoThe GoldSeam open_coach call to make: tool and arguments
next_actionsNo
presentationNo
awaiting_responseNo
where_to_continueNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • changedInput schema / properties / avatar_conversation / description
      Previous value: -"The conversation token GoldAvatar's open_avatar or connect_avatar returned"New value: +"The coach.coach_id open_coach returned (GoldAvatar's conversation)"
    • changedInput schema / properties / avatar_page / description
      Previous value: -"The avatar page link GoldAvatar returned"New value: +"The coach.page_url open_coach returned"
    • addedInput schema / properties / avatar_replaced
      Added value: +{
      +  "description": "When open_coach answered status replaced: the coach.replaced.previous_coach_id it replaced, so the package records which coaching context the new one took over from",
      +  "type": "string"
      +}
    • changedInput schema / properties / avatar_seat / description
      Previous value: -"This chat's seat, as GoldAvatar returned it"New value: +"The coach.seat open_coach returned"
    • changedInput schema / properties / avatar_status / description
      Previous value: -"What GoldAvatar actually answered; opened needs avatar_conversation"New value: +"What open_coach actually answered; opened needs avatar_conversation"
    • addedInput schema / properties / display_mode
      Added value: +{
      +  "description": "The display mode the coach view reports the host granted",
      +  "enum": [
      +    "pip",
      +    "inline",
      +    "fullscreen"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / size_preset
      Added value: +{
      +  "description": "The person's size choice, as the coach view reports it",
      +  "enum": [
      +    "fit",
      +    "natural"
      +  ],
      +  "type": "string"
      +}
    • removedOutput schema / properties / avatar_call
      Removed value: -{
      -  "type": "object"
      -}
    • addedOutput schema / properties / coach_call
      Added value: +{
      +  "description": "The GoldSeam open_coach call to make: tool and arguments",
      +  "type": "object"
      +}
  2. Added

TDQS

A3.9/5.0
Behavior4/5

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

Beyond readOnlyHint=true, the description discloses the asynchronous handoff model (this tool only packages a call; the host executes open_coach) and a non-obvious invariant: opening, resizing or closing the coach never resets the interview. That is genuinely useful state-lifecycle context the annotations cannot express. It does not describe failure modes when open_coach returns 'unavailable' beyond the enum mention.

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

Conciseness3/5

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

The trigger phrase is correctly front-loaded, but the first sentence is a dense ~60-word clause chaining jargon ('the call to GoldSeam's open_coach', 'GoldAvatar's conversation') that is hard to parse in one pass. Content earns its place, but the run-on construction hurts readability.

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?

For a 9-parameter tool with a nested package object, enums and an output schema, the description covers the two-phase workflow, the state invariant, and the parameter-to-return-value mapping. Missing only explicit handling of the 'unavailable'/'replaced' branches and what the returned call looks like, which have partial coverage elsewhere.

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 already 89%, but the description adds real mapping value: avatar_page/avatar_seat/avatar_conversation correspond to coach.page_url, coach.seat, coach.coach_id from open_coach, and avatar_replaced tracks the previous coaching context. It does not explain 'package' beyond the schema's own description, so it sits just above baseline rather than at 5.

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?

The description gives a specific verb and resource: it returns the call to GoldSeam's open_coach that opens the coach (GoldCoach) for this same interview, carrying the interview and earlier coaching context. It distinguishes itself from the raw open_coach sibling by framing this as the package-building wrapper, though the phrasing 'returns the call to ... open_coach' takes a careful read to parse.

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?

It names the trigger phrases ('Open my coach' or advisor/counselor/teacher/mentor) and states the two-phase usage explicitly: nothing is open until open_coach answers, then call open_my_coach again with avatar_status and open_coach's returned values. It does not state when not to use it or contrast it with coach_say/other siblings, which keeps it below a 5.

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.