Skip to main content
Glama
sepehr071

digikala-mcp

by sepehr071

Price history

dk_price_history
Read-onlyIdempotent

Review about 30 days of daily Digikala buy-box prices by color/variant, including lowest and highest, to judge whether the current price is good.

Instructions

Get about 30 days of daily buy-box prices (Toman) per color/variant, with lowest and highest.

Use to answer "is this a good price right now?". lowest_2_days is the lowest price that held on two days in a row; lowest can be a one-day dip. Days are Jalali (YYYY/MM/DD); days when the variant was not for sale are left out. An unknown id gives no variants; check it with dk_product.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
product_idYesDigikala product id, the number in 'dkp-<id>' (from dk_search etc.), e.g. 20109389.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already establish it as a read-only, idempotent, non-destructive, open-world operation. Beyond that, the description discloses the time window, currency, per-variant granularity, the distinction between lowest and lowest_2_days, Jalali date format, omission of days when a variant was not for sale, and unknown-id behavior.

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?

The definition is front-loaded with the core capability, then layers in the key nuances. Every sentence contributes either scope, usage context, or an edge case, with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a rich output schema and full annotation coverage, the description still supplies the essential behavioral details an agent needs: date format, currency, variant granularity, what lowest vs. lowest_2_days means, and how missing sale days are handled.

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?

The schema fully documents product_id, so the baseline is 3. The description adds meaningful parameter behavior by stating that an unknown id yields no variants and suggesting validation via dk_product, which is useful context beyond the schema.

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 verb and resource: it retrieves roughly 30 days of daily buy-box prices per color/variant, with lowest and highest values. It distinguishes the tool from siblings by focusing on historical price evaluation and explicitly routes id validation to dk_product.

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?

It gives a clear use case — answering "is this a good price right now?" — and explains how to handle an unknown id by checking with dk_product. It does not explicitly name alternatives or when not to use it, so it falls just short of full routing guidance.

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