Skip to main content
Glama

Find My Farmer

find_near

Farms AND coordination points (farmers' markets, off-farm pickup points, stockists) within a radius of a point or a named place, ordered by distance, optionally filtered by what is sold (species ids or a good slug), a farming practice, a service category, or an event type. Points carry their schedule and the farms present. Distances are straight-line from each farm's PUBLIC map point, or pass distance="road" for cached driving distance + minutes (cold pairs are filled once per call, capped). This is the "where can I get X near here — and where on Saturday" primitive.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
latNoLatitude of the centre. Pass lat+lng OR place.
lngNoLongitude of the centre.
goodNoA goods slug from list_goods (e.g. "grass-fed-beef") — expands to its species and practice scope.
pageNoPage number.
kindsNoPoint kinds to include (default all).
limitNoResults per page, applied to farms and points separately (default 25).
placeNoA place slug from list_places, e.g. "calgary", "alberta/calgary" or "alberta". Its centroid becomes the centre and its reach the default radius.
includeNoWhat to return: farms, points (markets / pickups / stockists), or both (default).
speciesNospecies ids (from search_farmdex / get_place_catalogue), OR-matched, e.g. ["cattle-taurus"].
distanceNostraight (default) = geodesic from the public point. road = driving km + minutes from the shared 90-day cache; a bounded number of cold pairs are routed fresh per call, the rest carry straight-line only until warmed. Maps-hidden farms never carry road figures.
practicesNofarming practice ids from list_filters, e.g. ["rotationalGrazing"].
radius_kmNoSearch radius in km (default: the place's reach, else 50; max 300).
event_typesNoevent type slugs from list_filters, e.g. ["berry-picking"].
service_categoriesNoservice category slugs from list_filters, e.g. ["hay-feed-forage"].

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and handles it well: it discloses straight-line distance from PUBLIC map points, the road-distance cache with cold-pair capping, and that maps-hidden farms never carry road figures. It also explains that points carry their schedule and farms present, giving agents realistic expectations of the response.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-structured: it front-loads the core function, bundles related point types and filters into compact lists, and explains the distance modes in one sentence. Every sentence earns its place, and the closing primitive framing reinforces intent without padding.

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?

For a 14-parameter tool with no output schema, the description covers the main response contents (points with schedule and farms present) and distance semantics. It does not describe the overall return envelope or pagination metadata, but the rich input schema fills most of the remaining gap, making this nearly complete.

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 adds overall context like filtering by species, practice, service category, or event type, but the individual parameter meanings are already fully documented in the schema; no significant new parameter-level semantics are introduced.

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 states a specific verb and resource: find farms and coordination points within a radius of a point or place, ordered by distancecars. It clearly distinguishes its role from siblings by framing it as the 'where can I get X near here — and where on Saturday' primitive, making its spatial-search scope unambiguous.

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?

The description gives strong context for when to use it via the 'where can I get X near here' phrasing and lists the available filters. It does not explicitly name sibling tools to avoid or state when not to use it, so it falls just short of 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.

Resources