Skip to main content
Glama

Find services in Costa Rica

wellfred_search_services

Use when finding, comparing or booking a service or provider in Costa Rica, a Costa Rican province or locality, or near a known Costa Rican customer location. The customer may describe a need without saying services or WellFred. Supports Spanish and English. Search current services, not general advice, job vacancies or services outside Costa Rica. For near me without a known location, ask for the area first. Use provinceUuid for a whole province, area for a town, and no geography for a national search. Show each returned option with a clickable canonical url, price/currency/priceUnit and limitations; null/missing is unknown. Respect nextAction; comparison is not booking consent.

Input Schema

NameRequiredDescriptionDefault
latNoCustomer-supplied or authorized search latitude; requires lng. Never infer from IP.
lngNoCustomer-supplied or authorized search longitude; requires lat.
areaNoKnown Costa Rican locality. Resolve ambiguous names with wellfred_resolve_location.
dateNoRequested date in America/Costa_Rica, YYYY-MM-DD; schedule check only.
limitNo
queryNoService need in Spanish or English, excluding country and place names supplied in other fields. Empty means browse.
nearMeNoCustomer requests near me. With no authorized coordinates or locality, the server asks for location.
currencyNo
deliveryNo
maxPriceNoBudget in the explicitly supplied currency; requires currency.
zoneUuidNoLocality ID returned by wellfred_resolve_location; distinguishes a city from its same-named province.
partySizeNo
priceUnitNo
categoryHintNoService category, if the customer supplied one.
categoryUuidNoExact category ID returned by wellfred_service_categories. With an empty query, browse this category without semantic retrieval. Preserve in every refinement.
provinceUuidNoProvince ID returned by wellfred_resolve_location for a whole-province search.
subcategoryUuidNoExact subcategory ID returned by wellfred_service_categories. Preserve in every refinement; never invent a taxonomy ID.

Output Schema

NameRequiredDescriptionDefault
successNo
httpStatusYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / categoryUuid
      Added value: +{
      +  "description": "Exact category ID returned by wellfred_service_categories. With an empty query, browse this category without semantic retrieval. Preserve in every refinement.",
      +  "format": "uuid",
      +  "type": "string"
      +}
    • addedInput schema / properties / subcategoryUuid
      Added value: +{
      +  "description": "Exact subcategory ID returned by wellfred_service_categories. Preserve in every refinement; never invent a taxonomy ID.",
      +  "format": "uuid",
      +  "type": "string"
      +}
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare non-destructive, open-world behavior, so the description's job is to add policy beyond that — and it does: 'comparison is not booking consent', 'Respect nextAction', and a rule that null/missing price fields mean unknown rather than free. The presentation contract (canonical url, price/currency/priceUnit, limitations) is useful even with an output schema present. The unexplained readOnlyHint=false on a search operation is a gap the description never addresses.

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?

Front-loaded with the trigger phrase, then scope limits, then geography strategy, then result presentation and consent rules — a sensible priority order. It is dense and slightly run-on in the middle (multiple geography/price rules packed into single sentences), but nothing is redundant filler.

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 17-parameter, zero-required, open-world search with an output schema, the description covers the hard parts: scope, location strategy, language support, currency dependency, and the non-consent semantics of surfacing options. Pagination/limit behavior and the interaction between date and availability checking are left entirely to the schema.

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 a solid 71%, and the description still adds disambiguation the schema cannot: provinceUuid means a whole province, area means a town, omitting geography means a national search. It also constrains 'query' to the need only, with place names carried in other fields. Parameters such as limit, date, delivery and partySize get no narrative treatment, so it's not a 5.

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?

States a concrete verb+resource pair (find/compare services and providers) and bounds it geographically to Costa Rica, a province, a locality, or near a known customer location. Scope exclusions ('not general advice, job vacancies or services outside Costa Rica') further sharpen what this tool is. It does not name a sibling search tool (e.g. search_classes vs search_events) as a contrast point, which keeps it just under 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 Guidelines4/5

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

Explicit trigger ('Use when finding, comparing or booking...') plus explicit exclusions and a prerequisite routing rule ('For near me without a known location, ask for the area first'). It also tells the agent which geography field selects which scope. It stops short of naming alternative sibling tools for adjacent intents (classes, events, catalog browsing), so it's clear context without full alternatives coverage.

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