Skip to main content
Glama

MyDataHub

Resolve a location

resolve_location
Read-onlyIdempotent

Turns free text such as 20 miles of Leeds, Yorkshire or LS1 into region, county, town, postcode or radius filters, each with a count and a ready filter. Ambiguous places come back as candidates with a question, so ask the user which they meant rather than choosing. Free and needs no account, though a radius under 5 miles needs an account. Add the chosen filter to the audience, then call count_audience. Lawful basis is UK GDPR Article 6(1)(f) legitimate interests; email audiences include corporate subscribers only by default (PECR), so sole traders and ordinary partnerships are left out unless the toggle is changed.

Input Schema

NameRequiredDescriptionDefault
textYesFree text such as "20 miles of Leeds", "Yorkshire" or "SW1".
datasetNoThe dataset an audience draws from. uk_contacts is live; ie_contacts and global_contacts are listed but not yet served.
radius_milesNo

Output Schema

NameRequiredDescriptionDefault
textYes
questionYes
ambiguousYesTrue when more than one candidate fits; ask the person which they meant.
candidatesYes
disclosureYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds value beyond them: ambiguity handling behavior, the account requirement for sub-5-mile radii, and the PECR default that email audiences include corporate subscribers only (sole traders and ordinary partnerships excluded unless toggled).

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?

Purpose is front-loaded, followed by ambiguity handling, prerequisites, and next steps. The final compliance sentence is dense but each clause carries information an agent cannot get from the schema or annotations.

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?

An output schema exists, so return values need not be described, and the description covers prerequisites, ambiguity handling, downstream call, and compliance defaults. It does not say what happens when no match is found or how failures surface, a minor gap.

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 67% and the description adds meaning for radius_miles by tying sub-5-mile radii to an account requirement, plus concrete free-text examples for the text param. It does not explain the dataset parameter's live/listed distinction, which the schema already covers.

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?

States a specific verb and resource: turns free text ("20 miles of Leeds", "LS1") into region, county, town, postcode or radius filters with counts and ready filters. This is clearly distinguishable from siblings like count_audience, which the description positions as the downstream step.

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?

Gives explicit when-branches: if ambiguous places return candidates with a question, ask the user rather than choosing; then add the chosen filter to the audience and call count_audience. It also states a prerequisite (free, no account, but radius under 5 miles requires an account).

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