Skip to main content
Glama

Create Location

createLocation

Create Location

Create a physical or business location for the project, optionally with address, internal notes, and reply settings.

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

Input Schema

NameRequiredDescriptionDefault
cityNoCity for the address.
nameYesInternal location name. Accepts a non-empty string. Accepts a string from 3 to 100 characters.
slugNoURL-friendly location identifier. Lowercase letters, digits, and hyphens. Accepts a string from 3 to 100 characters.
notesNoInternal notes about the location. Accepts at most 5000 characters.
stateNoState, province, or region for the address.
address1NoPrimary street address line.
address2NoSecondary street address line, such as suite or apartment.
store_codeNoInternal store identifier for this location.
has_repliesNoWhen false, public replies are disabled for reviews at this location.
postal_codeNoPostal or ZIP code for the address.
display_nameNoPublic-facing location name shown to customers. Accepts a non-empty string. Accepts a string from 3 to 100 characters.

Output Schema

NameRequiredDescriptionDefault
codeNoShort code or application-level status code for this resource.
dataNoResponse payload for the request.
successNoIndicates whether the request completed successfully.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / display_name / description
      Previous value: -"Public-facing location name shown to customers. Accepts a non-empty string."New value: +"Public-facing location name shown to customers. Accepts a non-empty string. Accepts a string from 3 to 100 characters."
    • addedInput schema / properties / has_replies
      Added value: +{
      +  "description": "When false, public replies are disabled for reviews at this location.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / name / description
      Previous value: -"Internal location name. Accepts a non-empty string."New value: +"Internal location name. Accepts a non-empty string. Accepts a string from 3 to 100 characters."
    • addedInput schema / properties / notes
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Internal notes about the location. Accepts at most 5000 characters."
      +}
    • changedInput schema / properties / slug / description
      Previous value: -"URL-friendly location identifier. Lowercase letters, digits, and hyphens."New value: +"URL-friendly location identifier. Lowercase letters, digits, and hyphens. Accepts a string from 3 to 100 characters."
    • changedOutput schema / properties / data / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "address": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Address for this resource."
      -      },
      -      "address1": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Primary street address line."
      -      },
      -      "address2": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Secondary street address line, such as suite or apartment."
      -      },
      -      "city": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "City for the address."
      -      },
      -      "display_name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Public display name for this resource."
      -      },
      -      "id": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Unique numeric identifier for this resource."
      -      },
      -      "name": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Display name for this resource."
      -      },
      -      "postal_code": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Postal or ZIP code for the address."
      -      },
      -      "project_id": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Unique numeric identifier for the project."
      -      },
      -      "slug": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "URL-friendly identifier for this resource."
      -      },
      -      "state": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "State, province, or region for the address."
      -      },
      -      "store_code": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Internal store identifier for this location."
      -      },
      -      "title": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Title or headline for the resource."
      -      },
      -      "uuid": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Stable UUID for this resource."
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "address": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Address for this resource."
      +      },
      +      "address1": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Primary street address line."
      +      },
      +      "address2": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Secondary street address line, such as suite or apartment."
      +      },
      +      "city": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "City for the address."
      +      },
      +      "display_name": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Public display name for this resource."
      +      },
      +      "has_replies": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "When false, public replies are disabled for reviews at this location."
      +      },
      +      "id": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Unique numeric identifier for this resource."
      +      },
      +      "name": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Display name for this resource."
      +      },
      +      "notes": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Internal notes about the location."
      +      },
      +      "postal_code": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Postal or ZIP code for the address."
      +      },
      +      "project_id": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Unique numeric identifier for the project."
      +      },
      +      "reply_instructions": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Extra instructions for AI replies to reviews at this location."
      +      },
      +      "review_instructions": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Extra instructions for AI review suggestions at this location."
      +      },
      +      "slug": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "URL-friendly identifier for this resource."
      +      },
      +      "state": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "State, province, or region for the address."
      +      },
      +      "store_code": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Internal store identifier for this location."
      +      },
      +      "title": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Title or headline for the resource."
      +      },
      +      "uuid": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Stable UUID for this resource."
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. First observed

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnly=false, destructive=false, idempotent=false and openWorld=true, so the mutation and non-idempotency profile is known. The description adds only that the location belongs to the project and that reply settings affect public review replies ("When false, public replies are disabled" is carried by the schema, not the description). It says nothing about duplicate-name/slug conflicts or side effects on existing locations, so added value beyond annotations is modest.

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?

One sentence plus a heading, with no filler, and the core action is front-loaded. The repeated heading "Create Location" echoing the tool name and title is redundant but costs little.

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

Completeness3/5

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

With an output schema present, return values need not be explained, and all parameters are schema-documented. However, for an 11-parameter creation tool, the description says nothing about required fields (name), uniqueness constraints, or what happens on conflicting input, leaving it only minimally adequate.

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 every one of the 11 parameters is already documented with types, lengths, and formats. The description only groups them loosely (address, notes, reply settings) and adds no constraint, default, or interaction semantics beyond the schema, matching the baseline 3.

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 uses a specific verb plus resource ("Create a physical or business location") and clarifies scope with "for the project." The resource is distinct enough from the sibling set (createCustomer, createCharge, createTag) that an agent can route correctly without opening schemas, 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 Guidelines2/5

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

It states what can be supplied (address, internal notes, reply settings) but gives no guidance on when to choose this over updateLocation/getLocation or what prerequisites apply, such as slug or store_code uniqueness. Usage has to be inferred entirely from the verb.

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