Skip to main content
Glama

Find My Farmer

Server Details

Find Canadian farms that sell direct — what they grow and raise, where, when, and at what price.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A3.9/5.0

Scored across 15 tools

Disambiguation4/5

Most tools address distinct resource/action pairs, such as search_farms vs get_farm and list_places vs get_place_catalogue. A few pairs could initially be confused—best_for and compare both involve Farmdex variety assessments, and find_near and get_place_catalogue both relate to places—but the descriptions clearly resolve their boundaries.

Naming Consistency4/5

The dominant convention is snake_case verb_noun, seen in search_farms, get_farm, list_places, and list_filters. However, outliers like best_for, compare, price_stats, and whats_in_season break the pattern, making the set mostly predictable but not fully consistent.

Tool Count4/5

Fifteen tools is at the high end of a well-scoped range, and the count reflects a broad read-only domain covering registry search, geography, Farmdex knowledge, pricing, and seasonality. Most tools earn their place, though a few niche tools like best_for and compare could have been consolidated without much loss.

Completeness4/5

The tool set covers the main user journeys: resolving food names, searching for farms, finding farms near a location, retrieving farm profiles, checking prices, and seeing seasonal availability. Missing write operations are intentional for a public registry, but there is no direct way to enumerate all farms in a region or list events without using find_near as a workaround.

Available Tools

15 tools
best_forAInspect

The best varieties of a species for a use — "best apple varieties for baking" — ranked from the Farmdex's documented tasting notes and trait spectra (1–5, relative to the species' reference variety). Pass species + use for the ranked answer; species alone lists the uses it can answer; use alone lists the species with an answer. A guide exists only once at least 3 documented varieties carry the use.

ParametersJSON Schema
NameRequiredDescriptionDefault
useNoa best-uses token, e.g. "baking", "canning", "fresh eating", "juicing".
limitNoMax varieties returned (default 25); the url carries the full guide.
speciesNospecies id from search_farmdex, e.g. "apple", "tomato".

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden of behavioral disclosure. It reveals ranking methodology (1–5 relative to reference variety), data source (documented tasting notes/trait spectra), and an existence threshold. It implies read-only query behavior, though it doesn't state side effects or error handling for missing guides.

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?

The description is dense but every clause contributes a distinct fact (ranking scale, invocation modes, existence condition). The example sentence aids clarity, though the long single-sentence structure could be more readable with clearer separation.

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?

There is no output schema or annotations, so the description must convey return shapes. It does so reasonably ('ranked answer', 'lists the uses', 'lists the species') and references the full guide URL via the limit parameter. It does not detail exact response formatting, but for a lookup tool this is adequate.

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?

Schema coverage is 100%, but the description adds crucial combinatoric semantics not present in the schema: which parameter combinations yield which output shape, and that species alone or use alone return different kinds of lists. This is essential for correct invocation and goes beyond the schema.

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 (find best varieties), a clear resource (Farmdex tasting notes/trait spectra), and a concrete example ('best apple varieties for baking'). It also explains the ranking scale, which distinguishes it from sibling tools like search_farmdex or get_species.

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 explicitly defines three valid call shapes (species+use, species alone, use alone) and the condition under which a guide exists (minimum 3 documented varieties). It doesn't name specific alternatives, but the invocation patterns are clear enough to direct use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compareAInspect

Two Farmdex varieties head to head — "Honeycrisp vs Gala": documented tasting prose, uses, and (same species) 1–5 trait values on shared axes relative to the species' reference variety. Both variants must clear a completeness bar (description + >= 2 documented sensory/use fields). Machine-only — there is deliberately no compare page family; cite the two variety URLs returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
aYesfirst variant id, e.g. "apple-honeycrisp" (from search_farmdex / best_for).
bYessecond variant id, e.g. "apple-gala".

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full disclosure burden and does substantial work: it reveals the response contains tasting prose, uses, reference-relative 1–5 trait values, and two variety URLs; it also states the same-species requirement and the completeness gate. It stops short of describing failure modes or authentication needs, but is otherwise transparent.

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 compact and information-dense: the core operation and example come first, followed by eligibility rules and output-citation guidance. Every sentence earns its place, with no fluff or repetition of schema fields.

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?

There is no output schema, so the description rightly explains what comes back: tasting prose, uses, trait values, and the two variety URLs to cite. Combined with full parameter documentation, an agent has enough to select and invoke the tool correctly, though edge-case behavior when criteria are not met is left unstated.

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?

The schema already documents both parameters at 100% coverage with examples and provenance (from search_farmdex / best_for). The description adds genuine value beyond the schema by adding the same-species constraint and the completeness threshold that both a and b must satisfy.

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 operation: putting two Farmdex varieties head to head, with a concrete example ('Honeycrisp vs Gala'). It also enumerates the output dimensions (tasting prose, uses, shared trait values) and distinguishes itself from siblings by noting it is machine-only with deliberately no compare page family.

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 clear context for when to use it: comparing two Farmdex varieties that are the same species and meet a completeness bar. It does not explicitly name alternatives or say 'use search_farmdex instead when...', but the schema hints at source tools and the intended use is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

define_termAInspect

Find My Farmer's definition of a farming practice (rotational grazing, grass-finished, no-till…): the meaning, the nuance, the questions to ask a farmer, FAQs, and how many farms claim it. Returns the term's stable IRI.

ParametersJSON Schema
NameRequiredDescriptionDefault
termYesPractice slug ("rotational-grazing") or id ("rotationalGrazing"). An unknown term returns the full list.

TDQS

A3.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a read-only lookup through the verb 'Find' and describes the return content, but it does not explicitly state that the operation is side-effect-free, does not require auth, or has no rate limits. For a tool with zero annotation support, this is a significant gap.

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?

The description is a single, dense sentence that front-loads the primary purpose ('Find My Farmer's definition of a farming practice') and then lists content areas. It is efficient, though the long clause list makes it slightly less crisp than a two-sentence structure might be.

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?

There is no output schema, so the description compensates by listing exactly what the definition includes (meaning, nuance, questions, FAQs, farm count, stable IRI). It does not mention the unknown-term behavior that returns a full list, but that is covered in the input schema, which the agent can access. Overall, the tool's purpose and return value are sufficiently described.

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 for the single 'term' parameter is 100%, giving a baseline of 3. The description adds value by enumerating example practice names (rotational grazing, grass-finished, no-till) that clarify the domain of valid inputs, going beyond the schema's generic slug/id explanation.

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 My Farmer's definition of a farming practice' and enumerates the exact content (meaning, nuance, questions, FAQs, farm count, stable IRI). It is clearly distinct from siblings like 'get_species' or 'best_for' by focusing on practice definitions from My Farmer.

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 clear context that this tool is for retrieving definitions of farming practices, so an agent can infer when to use it. However, it does not explicitly mention when not to use it or point to alternatives among the sibling tools, so it stops short of a perfect 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_nearAInspect

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.

ParametersJSON 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"].

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.

get_farmAInspect

Fetch one farm's full public profile by its URL slug (the last path segment of a findmyfarmer.ca/farms/... URL, also returned by search_farms). Includes the farm story, contact channels the farmer chose to publish, and how to buy from them. Volume-capped: 50 profiles per caller per UTC day — this registry serves reference use and does not offer bulk datasets.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe farm's URL slug, e.g. "po-s-broccoli-patch".

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the volume cap (50 per day) and the nature of the data (public profile, contact channels, what is included). However, it does not disclose what happens when the slug is invalid or not found, whether the response includes any internal fields, or the exact structure of the returned profile. The description adds some behavioral context but lacks details on error handling or edge cases.

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 two sentences, front-loaded with the tool's core purpose and critical usage details. Every sentence adds value: the first defines what and how to call it, the second sets expectations about scope and rate limits. No wasted words, and the structure is easy to parse quickly.

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?

Given the single parameter, complete schema coverage, and no output schema, the description is nearly complete. It covers the purpose, how to get the parameter, what data to expect, and a critical constraint (volume cap). The only missing context is error behavior and response format details, but for a simple tool with no output schema, the description suffices for an agent to invoke it correctly.

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 coverage is 100% with one parameter (slug) already described with an example. The description adds value by explaining what a slug is (the last path segment of a findmyfarmer.ca URL) and that it's also returned by search_farms, which is not in the schema. This helps the agent understand how to obtain and format the parameter, so it earns a baseline of 3 with a slight positive contribution.

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 clearly states the tool fetches a farm's full public profile by URL slug, with specific examples of what is included. It distinguishes itself from siblings like search_farms by focusing on a single farm's profile and from list_places by emphasizing the farm-specific context. The verb 'fetch' and resource 'one farm's full public profile' are specific and unambiguous.

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?

The description explicitly explains when to use this tool: to retrieve a specific farm's complete public profile, using the slug obtained from search_farms or the URL. It also implies it is not for bulk access by mentioning the volume cap and that it serves reference use. The context of when to use it versus alternatives is clear from the definition of the slug's source.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_place_catalogueAInspect

Everything available near a place — every species that published farms serving the place list, in taxonomy shape (category → subcategory → species) with local farm counts — plus the place's Wikidata / GeoNames ids.

ParametersJSON Schema
NameRequiredDescriptionDefault
metroNoMetro slug under that province, e.g. "calgary". Omit for the whole province.
provinceYesProvince slug, e.g. "alberta".

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does disclose the key behavior: it returns species in a category → subcategory → species taxonomy with local farm counts and place IDs. It does not mention potential edge cases like empty results or errors, but the read-only nature is clear from 'get' and the described return shape.

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 a single dense sentence that front-loads the main idea ('Everything available near a place') and packs the output shape and IDs without waste. It earns its place and adds useful detail without bloat.

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?

Given there is no output schema, the description adequately explains the return shape—taxonomy with counts and place IDs. The parameters are fully covered by the input schema. The main missing piece is routing guidance to alternatives, but that is a usage-guideline concern rather than a completeness gap for invoking the tool.

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 province and metro params are already documented with examples. The description adds the 'near a place' context but does not provide any parameter-level meaning beyond what the schema already offers, so baseline 3 is appropriate.

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 clearly defines the resource and output: every species with published farms near a place, organized in a taxonomy shape with counts, plus Wikidata/GeoNames IDs. It is specific but lacks an explicit verb like 'list' or 'get', and it does not explicitly differentiate itself from siblings such as find_near or list_places.

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?

The description implies a use case—wanting everything available near a place—but provides no explicit guidance on when to choose this tool over alternatives like find_near, get_species, or list_places. It does not state exclusions or conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_speciesAInspect

One Farmdex species: names, taxonomy, description, its GBIF / Wikidata / ITIS identifiers, and its varieties or breeds. Resolve a food name to a species id first with search_farmdex.

ParametersJSON Schema
NameRequiredDescriptionDefault
speciesYesspecies id, e.g. "cattle-taurus", "garlic".

TDQS

A4.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It does reveal the output contents and the requirement that the input be a resolved species id rather than a food name. However, it does not describe behavior for unknown or invalid IDs, nor any operational constraints such as authentication, rate limits, or error handling.

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 only two sentences, with the core purpose front-loaded and the routing instruction placed second. There is no filler, repetition of schema fields, or unnecessary detail. 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?

This is a low-complexity tool with one fully documented parameter and no output schema, and the description names all major output groups despite that missing schema. It also provides the necessary prerequisite step, so an agent has enough context to invoke it correctly. Unspecified edge-case behavior is not essential for a simple single-record getter.

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?

The schema already documents the single parameter at 100% coverage with concrete examples like 'cattle-taurus' and 'garlic'. The description reinforces that the value must be a canonical species id obtained via search_farmdex, which is useful, but it adds no format or domain detail beyond what the schema already provides. Baseline 3 applies because the schema does the heavy lifting.

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 clearly identifies the returned object as 'One Farmdex species' and enumerates its contents: names, taxonomy, description, external identifiers, and varieties or breeds. The closing sentence explicitly contrasts it with search_farmdex, making it obvious that this is a single-record lookup rather than a search. The implied verb from the title get_species makes the action unambiguous.

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?

The last sentence gives an explicit usage rule: resolve a food name to a species id with search_farmdex before calling this tool. This tells the agent the prerequisite and names the sibling tool to use for name-based lookup, preventing misuse with raw food names. No inference is required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_filtersAInspect

The controlled vocabularies find_near accepts: farming practice ids, service category slugs, event type slugs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It clarifies the scope (accepted values for find_near) and the categories returned, but does not state the output representation (e.g., whether it returns a plain list, map, or slugs) or that it is a read-only operation.

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?

One compact sentence with no redundant filler. The most important information (what the tool lists) is at the start, and the examples are immediately actionable.

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 parameterless vocabulary-listing tool with no output schema, the description is nearly complete: an agent knows what values it will get and which sibling operation they apply to. A brief note on how results are presented would make it fully self-contained.

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?

There are zero parameters, so the baseline is 4. The description adds no unnecessary parameter detail; naming the three vocabularies is semantically useful and aligns with an empty input schema.

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 the tool exposes the controlled vocabularies that find_near accepts, naming three concrete vocabularies (farming practice ids, service category slugs, event type slugs). This is specific enough to distinguish list_filters from siblings like list_places or list_goods, though it lacks an explicit verb such as 'lists' or 'returns'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

Usage is implied: call this tool to discover valid values before using find_near. It does not explicitly state when to prefer this over list_places or other vocabulary-adjacent siblings, nor does it give when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_goodsBInspect

The goods Find My Farmer publishes reports and price statistics for — the slugs price_stats and find_near accept, each with the species and practices that define it.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the content (species/practices) but does not state output format, sorting, or that it is a read-only operation. The lack of explicit behavioral details leaves agents guessing about the return structure.

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

Conciseness3/5

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

The description is a single sentence but uses convoluted phrasing ('The goods Find My Farmer publishes...' with an em dash) and does not start with a verb. It is not maximally concise or front-loaded, though it covers the essential point.

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?

The description explains what goods are and their relationship to price_stats and find_near, and hints at item structure (species/practices). However, without an output schema, it doesn't fully specify the return type or other behaviors like pagination, leaving some gaps for an agent.

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?

There are zero parameters, so the baseline is 4. The description correctly focuses on the output and adds no parameter-related ambiguity because none exist.

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 identifies the tool as listing goods for reports/price statistics and links to price_stats and find_near. The verb is implied ('goods' rather than an explicit 'List' or 'Returns'), but the resource and scope are clear and differentiated from siblings like list_places or list_hubs.

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 explicitly ties the returned goods to the slugs accepted by price_stats and find_near, telling agents that this is the source for valid goods for those tools. It doesn't contrast with all siblings but provides strong routing context for two major consumers.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_hubsBInspect

List Find My Farmer hubs — the named local-food regions (foodsheds) farms dock into. Useful for narrowing a farm search to a place.

ParametersJSON Schema
NameRequiredDescriptionDefault
provinceNoTwo-letter province/state code filter, e.g. "AB".

TDQS

B3.4/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It explains what hubs are but does not mention any behavioral traits like filtering behavior, ordering, pagination, or return format. For a simple list tool, some detail about how the province filter affects results would be expected.

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 two concise sentences, front-loaded with the core action ('List Find My Farmer hubs') and immediately clarifies the domain. No wasted words; it earns its place.

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?

Given the tool's simplicity (one optional filter, no output schema), the description is fairly complete. It defines hubs, states the purpose, and hints at the use case. It could mention that the province filter is available, but that's in the schema. Overall, sufficient for an agent to call it correctly.

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?

The input schema has 100% coverage with a single optional parameter 'province' described as 'Two-letter province/state code filter.' The description adds no additional parameter information beyond what the schema provides, so the 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 clear verb and resource: 'List Find My Farmer hubs' and explains what hubs are (named local-food regions/foodsheds). It also gives a use case ('narrowing a farm search to a place'), which helps distinguish it from generic search tools. However, it doesn't explicitly differentiate from sibling tools like list_places or search_farms, so it's slightly short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description provides a hint about when to use it: 'Useful for narrowing a farm search to a place.' This implies a use case but does not explicitly state when not to use it or mention alternative tools. It's adequate but lacks explicit exclusions or comparisons to siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_placesAInspect

The place graph: countries and provinces/states (no args), one country's provinces (country), or one province's metros (province). Each place carries its slug, centroid, reach, and Wikidata / GeoNames identifiers.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoISO 3166-1 alpha-2, e.g. "CA".
provinceNoProvince slug, e.g. "alberta" — returns its metros.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It does this well by stating what each call mode returns and by listing the carried fields: slug, centroid, reach, and Wikidata/GeoNames identifiers. It is a read-style listing tool, so the absence of auth/rate-limit detail is less critical.

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 two sentences with no filler. The first sentence front-loads the core behavior, and the second provides the return-field details. Every clause earns its place, even though the no-args phrasing is compact.

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 tool with no output schema and no annotations, the description covers the main things an agent needs: the three argument modes, the hierarchy, and the returned fields. It could be slightly more explicit about exactly what no-args returns and what happens with invalid codes, but it is largely complete for a simple list operation.

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 100%, so the baseline is 3. The description adds value beyond the schema by explaining the relationship between arguments and the place graph: country yields that country's provinces, and province yields its metros. This is meaningful semantic enrichment, not just repetition.

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 names a specific verb and resource ('list places') and then defines the resource through the place-graph hierarchy: countries/provinces with no args, provinces for a country, metros for a province. This makes the tool's purpose and the different call modes unmistakable, and clearly differentiates it from sibling list_* tools.

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 concrete invocation guidance: no args for countries and provinces/states, country for one country's provinces, province for one province's metros. It does not explicitly mention alternatives or exclusions relative to siblings like get_place_catalogue, but the mode-based guidance is clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

price_statsAInspect

Aggregate price statistics (low / median / mean / high, farm + observation counts, as-of dates) for a good, nationally or in one province, from Find My Farmer's price ledger. Every bucket covers at least 3 farms and no price is attributed to a farm — this is the public, unattributable side of the FARM-VOICE price rule.

ParametersJSON Schema
NameRequiredDescriptionDefault
goodYesA goods slug from list_goods, e.g. "grass-fed-beef", "raw-honey".
provinceNoProvince slug ("alberta"), code ("AB") or name. Omit for national.

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses key behavioral constraints: every bucket covers at least 3 farms, no price is attributed to a farm, and it is the public/unattributable side of the FARM-VOICE rule. This adds meaningful transparency about privacy and aggregation. It does not explicitly state that the operation is read-only, but 'aggregate' and the absence of any mutation verbs imply a non-destructive query.

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 concise and front-loaded: the first sentence states the core functionality and outputs, the second explains the key privacy rule. Every clause adds value, with no filler. It is well-structured and easily scannable.

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?

Given the tool's simplicity (2 params, no output schema), the description is complete. It specifies the statistics returned, the counting fields, the as-of dates, the anonymity guarantee, and the source. An agent has all the information needed to call it correctly and interpret the expected result, even without an output schema.

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?

The schema description coverage is 100%, so both parameters ('good' and 'province') are already well documented. The description adds general context about the tool's purpose but does not enrich parameter semantics beyond what the schema provides (e.g., no format examples or additional constraints). It mentions 'for a good' and 'nationally or in one province' which maps to the parameters, but that is a restatement rather than new semantic detail.

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 uses a specific verb ('Aggregate') and clearly identifies the resource (price statistics) with the exact fields (low/median/mean/high, counts, as-of dates). It also specifies the scope (for a good, nationally or by province) and the source (Find My Farmer's price ledger), making it unambiguous and distinguishable from sibling tools without needing to compare.

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 provides clear context on when to use the tool: when aggregate, unattributable price statistics are needed for a good, either nationally or for a province. It does not explicitly name alternatives or exclusions, but the context is sufficient for an agent to infer its purpose. The omission of explicit 'when not to use' guidance prevents a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_farmdexAInspect

Search the Farmdex — Find My Farmer's agricultural knowledge database of categories, species, and variants (e.g. heritage vegetable varieties, livestock breeds). Useful for resolving what a food product actually is before searching for farms that sell it.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYese.g. "brandywine tomato", "highland cattle".

TDQS

A3.8/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Search the Farmdex' and gives examples, but does not describe what kind of results are returned (e.g., list of matches, exact matches, suggestions), any pagination or limits, or whether it's a read-only operation. For a search tool, this is a notable gap.

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?

Two sentences, zero wasted words. The action and scope are front-loaded, and the usage context follows naturally. It is model and easy to parse.

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 tool with a single parameter and no output schema, the description gives enough purpose and usage context. It hints at the differentiation from search_farms. However, it does not explicitly contrast with other knowledge-related siblings like define_term or get_species, which could help an agent choose correctly. Still, the core details are sufficient for a simple search tool.

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 coverage is 100%, so the parameter 'query' is already documented with an example. The description adds context by listing what kinds of things can be searched (categories, species, variants, heritage varieties, livestock breeds), which slightly enriches the meaning beyond the schema's bare example. This aligns with the baseline of 3 for high schema coverage.

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 clearly states a specific verb ('Search') and resource ('Farmdex — agricultural knowledge database of categories, species, and variants'), with concrete examples. It also differentiates from sibling tools by positioning it as a pre-step to farm searching, making it distinguishable from search_farms and other knowledge tools.

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 provides clear context on when to use it: 'resolving what a food product actually is before searching for farms that sell it.' This implicitly tells the agent when to prefer this over search_farms. However, it does not explicitly name alternatives or state when not to use it, so it falls short of perfect guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_farmsAInspect

Search the Find My Farmer registry of local farms in Canada. Returns farm name, location (city/province), type, and the canonical findmyfarmer.ca page URL. Search matches farm names, stories, and what each farm sells (goods, packages, events).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (10 results per page).
queryNoFree-text search, e.g. "beef", "sourdough", "farm stays". Omit to list farms.
provinceNoTwo-letter province/state code filter, e.g. "AB", "BC", "MT".

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the return fields (farm name, location, type, URL) and the matching scope (farm names, stories, goods), which adds useful context. However, it does not mention pagination behavior, error conditions, or the read-only nature, leaving some gaps typical for a search tool.

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 two sentences, front-loaded with the core purpose and return fields. It contains no fluff or redundancy, making it highly concise and well-structured for quick parsing by an agent.

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?

Given that it's a search tool with no output schema and no annotations, the description covers the essential aspects: what it searches, what it returns, and what it matches. The schema handles parameter details. It doesn't mention pagination behavior but that's implied by the page parameter in the schema, so it's reasonably 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?

The schema provides 100% coverage with descriptions for all three parameters (page, query, province). The tool description does not add parameter-specific details beyond what the schema already states, so it relies on the schema for parameter semantics, matching the baseline for high coverage.

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 clearly states the tool searches the Find My Farmer registry of local farms in Canada, specifying the resource and scope. It lists the return fields (farm name, location, type, URL) and explicitly names the registry, which distinguishes it from sibling tools like search_farmdex that presumably target a different registry.

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 clear context: use this to search the Find My Farmer registry. However, it does not explicitly mention when to prefer it over alternatives like search_farmdex or find_near, nor does it state any exclusions. The usage context is clear, but it lacks explicit routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

whats_in_seasonAInspect

Species in their harvest window in a Canadian province for a given month (default: this month), with how many local published farms list each. Window-based (is the month inside start..end), not peak-based.

ParametersJSON Schema
NameRequiredDescriptionDefault
monthNoMonth number 1–12. Default: current month (UTC).
provinceYesProvince slug ("ontario"), code ("ON") or name.

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the window-based logic (month inside start..end) rather than peak-based, and mentions that it includes counts of local published farms listing each species. This provides meaningful behavioral insight. However, it does not specify whether species with zero farms are included, the response format, or any pagination, which would be useful for a tool with no output schema.

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 two sentences with no redundancy. The core purpose is front-loaded, and the second sentence adds a critical clarification (window vs. peak) that is not obvious from the name or schema. Every sentence earns its place.

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?

While the description covers the main purpose and the window logic, it leaves out the exact response structure (e.g., list of species with counts, ordering, inclusion of zero-count species). Since there is no output schema, this missing detail could lead an agent to assume an incorrect return format. The description is adequate but not complete enough to guarantee correct invocation without additional assumptions.

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?

The input schema already provides thorough descriptions for both parameters (month with default and range, province with accepted formats). The tool description does not add additional semantic detail beyond what the schema states; it only restates the default month. Since schema coverage is 100%, the baseline of 3 applies.

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 clearly states a specific verb ('Species in their harvest window') with a resource (Canadian province) and an optional month parameter, plus the key output detail (count of farms listing each species). It distinguishes itself from sibling tools by focusing on seasonal availability rather than general farm/search operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description implies when to use it (when you need species in season for a province and month) but does not explicitly mention alternatives or when NOT to use it. It does clarify the window-based logic versus peak-based, which is useful, but there is no explicit routing or exclusionary guidance relative to the sibling tools like search_farms or list_goods.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 15 tool updates
    • First observedbest_for
    • First observedcompare
    • First observeddefine_term
    • First observedfind_near
    • First observedget_farm
    • First observedget_place_catalogue
    • First observedget_species
    • First observedlist_filters
    • First observedlist_goods
    • First observedlist_hubs
    • First observedlist_places
    • First observedprice_stats
    • First observedsearch_farmdex
    • First observedsearch_farms
    • First observedwhats_in_season

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables searching live and confirmed-sold agricultural, construction, livestock, and transportation equipment auctions, with lot details, current bids, and Buy-It-Now prices.
    MIT
  • A
    license
    A
    quality
    F
    maintenance
    Enables AI assistants to assess any parcel for micro-farm viability (climate, water, farmland context, access, flood risk) and dwelling feasibility, and to find real land for sale from free, keyless public data sources.
    5
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Federated marketplace that indexes listings from personal humanMCP servers, enabling search across offers, trades, and services without requiring accounts.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources