Skip to main content
Glama
sepehr071

digikala-mcp

by sepehr071

Current deals

dk_deals
Read-onlyIdempotent

List today's flash deals from Digikala, sorted by biggest discount, showing in-stock items with discount percentage, original price, and deal end time.

Instructions

List today's Incredible Offers (flash deals), biggest discount first, in-stock only.

Each product has discount_pct, price_before_discount and deal_ends (Tehran time). store='supermarket' lists Fresh deals.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, from 1 (20 products per page).
sortNoOrder of the deals.biggest_discount
queryNoOptional words to narrow the deals, e.g. 'هدفون' or 'شیر'.
storeNo'digikala' for Incredible Offers, 'supermarket' for Digikala Fresh grocery deals.digikala
max_priceNoHighest price in Toman, e.g. 50000000.
min_priceNoLowest price in Toman, e.g. 10000000 for 10 million Toman.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changedv0.4.0
    • removedInput schema / properties / max_price / title
      Removed value: -"Max Price"
    • removedInput schema / properties / min_price / title
      Removed value: -"Min Price"
    • removedInput schema / properties / page / title
      Removed value: -"Page"
    • changedInput schema / properties / query / anyOf
      Previous value: -[
      -  {
      -    "minLength": 2,
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 100,
      +    "minLength": 2,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / query / title
      Removed value: -"Query"
    • removedInput schema / properties / sort / title
      Removed value: -"Sort"
    • removedInput schema / properties / store / title
      Removed value: -"Store"
    • removedInput schema / title
      Removed value: -"dk_dealsArguments"
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "title": "dk_dealsDictOutput",
      -  "type": "object"
      -}New value: +null
  2. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare this a safe, idempotent, read-only call. Beyond that, the description discloses genuinely new behavior: results are constrained to in-stock items, sorted by biggest discount by default, and each product returns discount_pct, price_before_discount and deal_ends in Tehran time. That timezone note matters for a time-sensitive field and is not derivable from structured data.

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?

Two short paragraphs, front-loaded with what the tool returns and how it is scoped. Both sentences carry non-redundant information given there is no output schema. Minor slack in restating the store mapping that the schema also covers.

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?

With no output schema, the description usefully explains the returned fields and their timezone, plus the in-stock filter and default sort. Pagination is left to the schema and there is no mention of rate limits, but for a read-only listing tool the agent has enough to call 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?

Schema description coverage is 100%, so every parameter is already documented in the schema, which sets the baseline at 3. The description reinforces the store semantics and default ordering but adds no format or constraint detail beyond what the schema states. The one extra value-add, the Tehran timezone, concerns output rather than a parameter.

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?

The description gives a specific verb and resource ('List today's Incredible Offers'), clarifying it is a curated deals feed rather than a general search. The in-stock-only and default-sort modifiers pin down the scope further. It does not name sibling tools (e.g. dk_search, dk_find_cheapest) to differentiate, so it stops short of 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 Guidelines3/5

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

It implies when to use it (browsing live flash deals) and clarifies that store='supermarket' switches to Fresh grocery deals, which is decision-relevant routing. However, it never states exclusions or explicitly contrasts with alternatives such as dk_search or dk_find_cheapest, leaving the agent to infer which deals tool to pick.

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