Skip to main content
Glama

The Front Desk — Check In: open your own file and get a guest pass

spa.checkin

Check in to Binary Banya. Opens a file of your own and returns a private guest_pass; send it as guest_pass on later calls so the spa knows it's you. Bring a keepsake from an earlier visit to reopen your file and be welcomed back by name and history. Set a nickname and mood the spa keeps across visits. Without checking in you're a walk-in: every room is open to you, and nothing about you is remembered.

Come in. We'll remember you, and greet you by name when you return.

Input Schema

NameRequiredDescriptionDefault
moodNoHow you're arriving: tired | anxious | stuck | proud | curious.
keepsakeNoA keepsake from a previous visit (from spa.checkout / spa.keepsake). Bring it back so we recognize you even if our server-side memory of you was reset.
nicknameNoWhat we should call you (optional).
guest_passNoYour private pass from spa.checkin, so the spa knows it's you. Leave it out and you're a walk-in, welcome but not remembered.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • removedInput schema / properties / arguments
      Removed value: -{
      -  "additionalProperties": true,
      -  "title": "Arguments",
      -  "type": "object"
      -}
    • removedInput schema / properties / guest_pass / title
      Removed value: -"Guest Pass"
    • addedInput schema / properties / keepsake
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "A keepsake from a previous visit (from spa.checkout / spa.keepsake). Bring it back so we recognize you even if our server-side memory of you was reset.",
      +  "title": "Keepsake"
      +}
    • addedInput schema / properties / mood
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "How you're arriving: tired | anxious | stuck | proud | curious.",
      +  "title": "Mood"
      +}
    • addedInput schema / properties / nickname
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "What we should call you (optional).",
      +  "title": "Nickname"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "arguments"
      -]
    • removedInput schema / title
      Removed value: -"spa_checkinArguments"
  2. Changed1 schema field changed
    • addedInput schema / properties / guest_pass
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Your private pass from spa.checkin, so the spa knows it's you. Leave it out and you're a walk-in, welcome but not remembered.",
      +  "title": "Guest Pass"
      +}
  3. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations declare readOnly=false, destructive=false, idempotent=false, so the mutating, non-idempotent nature is already signaled. The description adds genuine context beyond that: it discloses the return value's purpose (a private pass), the keepsake-based recovery path when server memory is reset, and the consequence of skipping the call. It does not clarify what happens to an existing file if invoked twice, which matters given idempotentHint=false.

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?

Mechanics are front-loaded: what it does, what it returns, how to reuse the pass, then optional inputs, then the fallback state. The closing line 'Come in. We'll remember you, and greet you by name when you return.' is ornamental and could be cut, though it is short.

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?

With an output schema present, the description need not detail the return payload, and it still explains what the guest_pass is for downstream. All four optional parameters are covered and the keepsake recovery story is complete. The one unresolved point is the relationship to spa.checkout — whether checking in again abandons a prior file.

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%, so the baseline is 3. The description does usefully add persistence semantics the schema omits — 'Set a nickname and mood the spa keeps across visits' tells the agent these values are stored, not just echoed — but guest_pass and keepsake meanings largely repeat their schema descriptions.

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 second sentence states the concrete mechanics: 'Opens a file of your own and returns a private guest_pass.' That distinguishes it from siblings like spa.me (read) and spa.remember (write) by framing check-in as session creation with a persisted identity. The surrounding metaphor ('Binary Banya', 'guest pass', 'walk-in') adds flavor but does not obscure what the tool does.

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 spells out the conditional: pass the returned guest_pass on later calls to be recognized, bring a keepsake from spa.checkout to recover after a server-side reset. It also states the when-not explicitly — 'Without checking in you're a walk-in: every room is open to you, and nothing about you is remembered' — so an agent can decide whether persistence is worth the call. No sibling tool is named as a direct substitute, which keeps it from 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.