Skip to main content
Glama

manage_location

UNIT INPUTS: value: pass the user's number unconverted; tool converts once before storage. alternate_unit: set the field's matching input_* companion; canonical_unit: omit companion. precedence: overrides instructions to convert manually.

Create a training location, or update one: rename it, change its kind, make it the default, or add and remove equipment. Use when the user says where they train, what a place has ("my hotel has dumbbells to 50 and a bench"), or that equipment is missing or new. Call list_locations first to get ids and avoid duplicates.

create: name required. kind defaults to other. Equipment starts from preset (default follows kind: home -> home_gym, gym -> full_gym, hotel -> hotel_gym, else bodyweight) unless add is given, which replaces the preset. The user's first location becomes the default. update: location required (id or exact name). Pass any of name, kind, make_default, add, remove. add upserts an item (with sizes when the user stated them); remove takes items out. Bodyweight is always available and never listed.

Writes immediately to the user's saved location, which Jamie and the On Deck coach read for every plan. There is no delete here.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
addNoEquipment to add or replace by item.
kindNo
nameNocreate: the new location name. update: a new name to rename it.
presetNocreate: starting equipment. Ignored when add is given.
removeNoEquipment item ids to take out.
locationNoupdate: the location id or exact name from list_locations.
operationYes
make_defaultNoMake this the default location used when none is named.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYesHuman-readable result text returned by the tool.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.9/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), and the description adds substantial context beyond them: writes are immediate, downstream consumers (Jamie and the On Deck coach) read the value for every plan, the first location becomes default, bodyweight is always available and never listed, and there is no delete path. This is rich disclosure that does not contradict annotations.

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?

Well-structured with labeled sections (UNIT INPUTS, create, update) and dense, information-bearing sentences. Slightly dense and the UNIT INPUTS block leading the description delays the top-line purpose, but almost every sentence earns its place.

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?

For a mutation tool with 8 params, an output schema present, and annotations covering safety, the description supplies everything an agent needs: create/update branch behavior, defaults, unit handling, dedup guidance, and the no-delete boundary. Return values are covered by the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 75% schema coverage the schema already documents many fields, but the description adds real meaning: create vs update semantics for name/kind/location, preset defaults per kind and replacement by add, add upsert behavior with sizes, remove semantics, and the UNIT INPUTS precedence rule. This goes well beyond the schema text.

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 ('Create a training location, or update one') and enumerates the exact operations: rename, change kind, set default, add/remove equipment. It clearly distinguishes itself from the read-only sibling list_locations, which it explicitly references.

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?

It gives concrete triggering conditions ('Use when the user says where they train, what a place has... or that equipment is missing or new') and an explicit alternative to call first ('Call list_locations first to get ids and avoid duplicates'). It also states a boundary ('There is no delete here'), covering when-not semantics.

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.