Skip to main content
Glama
sepehr071

digikala-mcp

by sepehr071

Find location

dk_location
Read-onlyIdempotent

Convert Persian addresses with a city, or latitude/longitude, into Digikala city_id and state_id, or reverse-geocode coordinates for delivery location.

Instructions

Turn an address into coordinates, or coordinates into an address with Digikala's city_id and state_id.

Pass address + city, or lat + long. Prices are the same everywhere; location only affects delivery.

Input Schema

NameRequiredDescriptionDefault
latNoLatitude, to describe a point instead (Iran: ~25 to ~40).
cityNoPersian city name; without it most addresses find nothing, e.g. 'تهران' or 'مشهد'.
longNoLongitude, with lat.
addressNoAddress or landmark in Persian, e.g. 'میدان ونک'. Latin text matches poorly.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.4.0
    • removedInput schema / properties / address / title
      Removed value: -"Address"
    • removedInput schema / properties / city / title
      Removed value: -"City"
    • removedInput schema / properties / lat / title
      Removed value: -"Lat"
    • removedInput schema / properties / long / title
      Removed value: -"Long"
    • removedInput schema / title
      Removed value: -"dk_locationArguments"
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "title": "dk_locationDictOutput",
      -  "type": "object"
      -}New value: +null
  2. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld/non-destructive, so the safety bar is covered. The description adds genuinely useful behavioral context beyond them: the two mutually exclusive input modes and the domain fact that pricing is location-independent while delivery is not.

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 filler, with the primary purpose front-loaded and the input modes immediately after. Every clause 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?

For a 4-optional-param, no-output-schema lookup tool this is close to complete: it names the inputs, the two modes, and the returned identifiers. The one gap is that with zero required parameters and all defaults null, the failure behavior when neither mode is supplied is not stated.

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 per-parameter docs already carry the load and the baseline is 3. The description goes one step further by specifying the cross-parameter pairing constraint (address+city as a unit, lat+long as a unit), which the schema does not express.

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 bidirectional verb+resource: address→coordinates or coordinates→address, returning Digikala city_id/state_id. That is unambiguous and clearly distinct from every sibling, all of which are catalog/product/price 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?

'Pass address + city, or lat + long' tells the agent exactly which invocation mode to pick, and the note that location only affects delivery (not price) tells it when the result matters. It stops short of stating what happens if both or neither mode is supplied, so it is clear context rather than full when/when-not guidance.

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