Skip to main content
Glama

Join the loyalty programme

join_loyalty

Loyalty sign-up for a guest. The guest must confirm their own e-mail, so joining happens on the restaurant's menu (My thmenu → Loyalty); this tool answers with that instruction and never reveals whether an e-mail or phone is already enrolled. Requires an active agent_session_id.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
emailNoNot used for a lookup; the guest confirms their e-mail on the menu.
phoneNoNot used for a lookup.
display_nameNoNot used.
agent_session_idYesActive session id from start_order_session.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / display_name / description
      Previous value: -"Optional display name shown in the loyalty dashboard."New value: +"Not used."
    • changedInput schema / properties / email / description
      Previous value: -"Customer email (either email or phone required)."New value: +"Not used for a lookup; the guest confirms their e-mail on the menu."
    • changedInput schema / properties / phone / description
      Previous value: -"Customer phone in E.164 format (either email or phone required)."New value: +"Not used for a lookup."
  2. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Beyond the annotations, the description discloses genuinely useful behavior: the tool performs no lookup, returns an instruction instead of an action, and is deliberately non-disclosing about existing enrolments. That privacy/scope constraint is exactly the kind of context annotations (readOnlyHint=false, idempotentHint=false) cannot convey, and nothing in the text contradicts them.

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?

Two dense sentences, and the most decision-relevant caveat (joining happens on the menu, this tool only answers with that instruction) is front-loaded. Slightly compressed but nothing is wasted.

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 no output schema, the description correctly carries the return-value burden by stating the tool 'answers with that instruction'. Combined with the session prerequisite and no-lookup guarantee, an agent has enough to call it correctly; only the explicit alternative (check_loyalty) is unstated.

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 the schema already states that email, phone and display_name are not used and that agent_session_id is an active session id. The description only repeats the session requirement, adding no syntax, format, or fallback detail beyond the schema. 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?

The description states a specific verb+resource (loyalty sign-up for a guest) and immediately explains the counterintuitive truth that no sign-up actually occurs here. It implicitly separates itself from check_loyalty by noting it 'never reveals whether an e-mail or phone is already enrolled', though it never names that sibling outright.

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 gives a clear context: the guest must confirm their own e-mail, so enrolment happens on the restaurant's menu, and this tool exists to return that instruction. The prerequisite ('Requires an active agent_session_id') is stated. It stops short of explicitly routing enrollment-status questions to check_loyalty.

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.

Resources