Skip to main content
Glama
Crawlora MCP

Crawlora MCP

Official

fresha_taxonomy

List Fresha's treatment categories, tags, and treatment types to find valid ids for searching venues. Page results with next_start and has_next_page while querying by treatment name.

Instructions

List Fresha's treatment categories, tags and treatment types. Returns one page of Fresha's (fresha.com) treatment taxonomy: the ids that fresha-search-venues accepts as treatment_category_id, treatment_tag_id and treatment_type_id. Each node carries its id, display label, kind (TreatmentCategory, TreatmentTag or TreatmentType) and an icon for categories; ids take the forms category:, tag: and treatment:/. With no query this returns Fresha's closed category page: 20 categories, with a 21st reachable only by text search, so categories are effectively complete. Tags and treatment types are not: they only appear for a text query and are ranked by Fresha's own autocomplete, so treat a text search as a discovered set rather than a complete catalogue, and page it with next_start while has_next_page is true. Use words from a treatment name (nail, haircut, massage). first is 1 to 200.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "fresha_taxonomy"
  }
}

Input Schema

NameRequiredDescriptionDefault
firstNoNodes per page, default 200, maximum 200
queryNoTaxonomy search text; empty returns the closed category page
startNoZero-based offset from next_start, default 0

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.17.20

TDQS

A4.2/5.0
Behavior5/5

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

No annotations are supplied, so the description carries the full burden and does: it discloses the return shape (id, label, kind, icon for categories), the exact id formats, and the pagination contract (next_start / has_next_page). Critically, it warns that text-search results are a ranked, discovered set rather than a complete catalogue, and that 20 categories are returned by default with a 21st reachable only by search — non-obvious behavioral caveats an agent could not get elsewhere.

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 verb and resource, then the id contract, then the completeness caveats and pagination — a sensible order with little padding. The single sentence covering id forms (category:<slug>, tag:<slug>, treatment:<category-slug>/<type-slug>) is dense and slightly run-on, but every sentence carries distinct information.

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?

For a 3-parameter enumeration tool with no annotations and no output schema, the description is thorough on shape, ids, and pagination, and the caveats about incomplete tag/type coverage are exactly what prevents misuse. The remaining gap is return-value detail beyond node fields (e.g. result counts or total) and any explicit statement of the intended call sequence relative to fresha_search_venues.

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 does add real meaning beyond the schema: it states the valid range for first (1 to 200, beyond the schema's stated maximum), that an empty query means the closed category page, and that start comes from next_start. Those additions are useful but partial rather than comprehensive.

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?

Names a specific verb and resource ("List Fresha's treatment categories, tags and treatment types") and immediately ties its output to a named sibling's parameters (treatment_category_id / tag / type on fresha-search-venues). An agent can tell what it emits and where those ids are consumed without opening the schema.

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?

Gives clear operational guidance: use words from a treatment name (nail, haircut, massage), omit query for the closed category page, and page via next_start while has_next_page is true. It also explains the completeness asymmetry between the no-query and text-search modes. It stops short of an explicit 'call this before fresha_search_venues to resolve ids' instruction, leaving the sequencing to inference.

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

Deploy Server

Other Tools