Skip to main content
Glama
sheypoor-mcp

sheypoor-mcp

by sepehr071

Cities and provinces

sp_cities
Read-onlyIdempotent

Find the city or province slug needed for search, price summary, and filter parameters; omit the query to list all 31 provinces, and use a province slug to cover all its cities.

Instructions

Find the city or province slug that sp_search, sp_price_summary and sp_filters take.

A province slug also works as city and covers all its cities. Without query, lists the 31 provinces.

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": "sp_cities"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMax cities.
queryNoPart of a city or province name or slug, e.g. مشهد. Omit to list provinces.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description is free to add operational context — and it does, disclosing the no-query fallback and the important quirk that a province slug is accepted anywhere a city slug is expected. It doesn't mention how the limit interacts with results or whether results are ranked, which keeps it from a 5.

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 short sentences, no filler. The primary purpose is front-loaded and the fallback behavior follows. Every clause carries information an agent needs.

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 two-parameter, read-only lookup with no output schema, the description covers purpose, consumers, and the query-omitted branch adequately. It doesn't describe the shape of the returned list (name plus slug fields), which would be the remaining gap, though the first sentence implies a slug is the payload.

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 earns a bump by adding semantics the schema lacks — that a province slug substitutes for a city slug and expands to all its cities, which is a non-obvious behavioral contract. The '31 provinces' detail also clarifies the scope of the query-omitted mode.

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?

States a specific verb and resource — 'Find the city or province slug' — and immediately names the three sibling tools that consume the result (sp_search, sp_price_summary, sp_filters). That linkage makes it trivially distinguishable from sp_categories, sp_filters, and the other siblings.

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 establishes when to reach for this tool (you need a slug for one of the three named tools) and what happens when the query is omitted (31 provinces are listed). It stops short of explicitly excluding alternatives or saying when a bare province slug is preferable to enumerating cities, but the usage context is clear.

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