Skip to main content
Glama

estimate_service_request

Read-onlyIdempotent

Get a rough price estimate for a service in a given city, based on Servana vendors' posted rates. Always a heuristic ESTIMATE, not a quote from any specific vendor: actual pricing is set by each vendor. Response includes a confidence level ('high' = 5+ locally priced vendors, 'medium' = 2-4, 'low' = 0-1, in which case the range falls back to a category-wide median across all metros) and an explanation string naming the sample size and metro used.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityYesCity slug, lowercase, hyphenated (e.g. 'tampa')
hoursNoOptional: estimated hours needed, if known. Overrides job_size for hourly-rate services.
stateYesUS state slug, lowercase, hyphenated (e.g. 'florida')
serviceYesService slug, use search_services to find it (e.g. 'cleaning-and-organizing')
job_sizeNoRough size of the job. Defaults to 'medium'.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so safety is covered. The description adds significant behavioral context: it emphasizes the heuristic nature, explains that vendor-specific pricing is not reflected, and details the confidence level thresholds and fallback to a median. This goes beyond annotations and helps the agent interpret results accurately.

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 concise and front-loaded with the core purpose. It packs essential information (heuristic nature, confidence levels, fallback logic) into a single, well-structured sentence. While it is a bit lengthy due to the detailed confidence explanation, every sentence adds value and no redundant content exists.

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?

Without an output schema, the description explains what the response includes (confidence level and explanation string) and describes the fallback behavior. It also clarifies the heuristic nature, which is critical for correct use. It could provide a sample response or exact field names, but for a tool of this complexity, the information is adequate for an agent to call and interpret 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 provides complete descriptions for all five parameters (100% coverage), including slugs, enums, and defaults. The description does not add extra detail about parameter formats or constraints, so it does not enhance semantics beyond the schema. Baseline of 3 is appropriate given 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 states a specific action ('Get a rough price estimate') for a specific resource ('service in a given city') and clearly distinguishes it from vendor-specific quotes. It also mentions the basis (vendors' posted rates) and that it's heuristic, which differentiates it from sibling tools like search_vendors or get_vendor.

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 (for rough estimates) and clarifies that it is not a quote, which hints at not using it for actual pricing. However, it does not explicitly name alternative tools or state conditions for choosing this over siblings like search_vendors or send_message_to_vendor. The confidence-level explanation gives some context on reliability, but explicit guidance is missing.

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.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool targets a distinct action: estimating pricing, fetching a single vendor, mapping free text to service categories, searching vendors, and messaging vendors. Even though search_vendors and get_vendor both involve vendor data, one returns lists based on criteria and the other retrieves a specific profile, so there is no ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case: estimate_service_request, get_vendor, search_services, search_vendors, send_message_to_vendor. The verbs (estimate, get, search, send) are clear and match the action.

Tool Count5/5

Five tools is well-scoped for a service discovery and booking directory. Each tool serves a necessary step in the user workflow without redundancy, and the count is neither too sparse nor overloaded.

Completeness5/5

The tool surface covers the full lifecycle for a user: discovering service categories, finding vendors, getting price estimates, viewing vendor details, and contacting vendors. There are no obvious missing operations that would prevent an agent from accomplishing the server's intended purpose.

Resources