MCP server for Market Fiyatı API - provides tools to search products and compare prices across Turkish markets
This server has three tools with basic definitions but significant gaps in documentation and schema quality. All tools have names that start with action verbs (search_, get_, compare_) and have minimal descriptions (13-19 chars each). Input schemas are present but lack depth, parameters have types and basic descriptions, but descriptions are under 20 chars and offer minimal guidance on constraints, dependencies, or LLM-friendly context. No output schemas are documented. Error handling exists but is generic. Tools are READ_ONLY and relatively simple, but the server does not meet production documentation baselines.
Bir ürünün farklı marketlerdeki fiyatlarını karşılaştırır
Ürün ID'sine göre ürün detaylarını getirir
Belirtilen arama sorgusuyla ürünleri arar
Tool descriptions are under 20 characters (13-19 chars). Current descriptions ('Belirtilen arama sorgusuyla ürünleri arar', 'Ürün ID'sine göre ürün detaylarını getirir', 'Bir ürünün farklı marketlerdeki fiyatlarını karşılaştırır') are in Turkish and very brief, providing minimal context for LLM tool selection.
No output schemas documented. The rubric requires 'Document the output schema. LLMs need to know what fields to expect so they can plan downstream tool calls and extract the right data.' None of the three tools declare what structure they return, the LLM must infer it or receive surprises at runtime.
Parameter descriptions are minimal and lack LLM-friendly guidance. 'Arama sorgusu' (search query) and 'Ürün ID'si' (product ID) do not hint at constraints, format, expected length, or examples. The rubric states 'Include dependency hints' and 'state the constraint it violated.' None of these are present.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 48 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 33 | - | v1 |
No enum or constrained values for optional parameters. The 'market' parameter in compare_prices accepts a string but does not declare valid values, format, or examples. LLMs will hallucinate invalid market names.
Error responses are generic. The code throws McpError with ErrorCode.InternalError and 'API error: {message}' but does not guide the LLM on recovery.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All three tools are marked READ_ONLY in the metadata but the tool definitions do not declare readOnlyHint=true, missing a current-spec opportunity.