Skip to main content
Glama
nsozturk
by nsozturk

akakce-mcp is a free, open-source Model Context Protocol (MCP) server for Akakçe that equips AI agents with real-time Turkish price comparison, multi-seller market intelligence, and automated price drop alerts.

📖 Documentation Portal: https://nsozturk.github.io/akakce-mcp/ • AI/LLM Index: llms.txt • llms-full.txt


Key Highlights

  • 🛡️ Akamai Bot Protection Bypassed: Standard Node fetch / Axios clients are fingerprinted and blocked with HTTP 403 Forbidden. akakce-mcp routes requests through system curl using verified browser and mobile App headers (Akakce/100 CFNetwork/...), ensuring reliable zero-ban connectivity.

  • ⚡ 20 Structured MCP Tools: Everything from query autocomplete and paginated filtered search to full seller price lists with shipping fees, seller ratings, and direct outbound links.

  • 🔑 Zero Key Floor for Public Features: Search, seller comparison, deals, and category browsing work out-of-the-box with zero credentials required.

  • 🔒 Secure Token Management: Account features (wishlists, price alerts) use isolated local session storage (~/.config/akakce-mcp/session.json with 0600 permissions) or environment variables. Zero credentials are ever saved in the repository.


Related MCP server: market-fiyatlari-mcp-server

Quickstart

Run directly without installing:

# Start MCP server (stdio transport)
npx -y akakce-mcp

Or install globally:

npm install -g akakce-mcp

Requirement: System curl must be available in your PATH (standard on macOS, Linux, and modern Windows 10/11).


Client Integration

1. Claude Code

claude mcp add akakce -- npx -y akakce-mcp

2. Cursor IDE

Open Settings → Features → MCP → Add New MCP Server:

  • Name: akakce

  • Type: command

  • Command: npx -y akakce-mcp

3. OpenCode (opencode.json)

{
  "mcp": {
    "akakce": {
      "type": "local",
      "command": ["npx", "-y", "akakce-mcp"],
      "enabled": true
    }
  }
}

Authentication & Token Extraction Guide

Public search and price comparison work with zero configuration.

To enable authenticated features (managing favorite lists, creating target price drop alerts, reading notifications), you need your Akakçe account token (AAATLGST cookie). Choose whichever method suits you best:

Run the built-in authentication command:

npx akakce-mcp auth

This prompts for your Akakçe email and password, executes a secure login against api6.akakce.com, and stores your session cookie at ~/.config/akakce-mcp/session.json (chmod 0600). The session is valid for ~1 year (rememberMe: true).

If you log in via Google, Apple ID, or prefer not to input your password in the terminal:

  1. Log in to akakce.com in your browser.

  2. Open Developer Tools (F12 or Cmd+Opt+I) → Application tab → Cookies → https://www.akakce.com.

  3. Locate the cookie named AAATLGST and copy its value.

  4. Save it using the CLI:

    npx akakce-mcp set-cookie "AAATLGST=<your_copied_value>"

Method 3: Environment Variables (Docker & CI/CD)

You can provide the session cookie directly via environment variables:

export AKAKCE_COOKIE="AAATLGST=..."

Or provide automated credentials:

export AKAKCE_EMAIL="user@example.com"
export AKAKCE_PASSWORD="your_password"

Check Authentication Status

npx akakce-mcp status
# or
npx akakce-mcp whoami

Clear Saved Session

npx akakce-mcp logout

Tool Directory (20 Tools)

Discovery & Search (Public)

Tool

Description

akakce_autocomplete

Instant search suggestions and canonical product codes

akakce_search

Paginated product search with sorting and category filters

akakce_search_filters

Available filter groups (brands, specs, price range) for a query

akakce_category_browse

Category tree hierarchy and paginated category feeds

akakce_home_feed

Home screen cards, campaigns, and active collections

akakce_deals

Real-time stream of recently discounted items

Pricing & Market Intelligence (Public)

Tool

Description

akakce_product_detail

Complete seller list (prices, shipping, ratings, specs, store links)

akakce_product_prices

Batched pricing lookup across multiple product codes

akakce_quickview

Rapid single-product price and seller summary

akakce_price_history

Price trend chart image URL

Account & Wishlists (Requires Auth)

Tool

Description

akakce_login

Authenticate and persist session cookie

akakce_logout

Clear saved session credentials

akakce_account_info

Current user profile, location, and notification counters

akakce_favorites

List favorite folders or items inside a list

akakce_favorite_add

Add product(s) to default favorite list

akakce_favorite_remove

Remove a product from a favorite list

akakce_price_alerts

List active price drop monitors

akakce_price_alert_set

Arm a price alert at a target price in TRY

akakce_notifications

Fetch unread price drop notification stream

Optional LLM Enrichment

Tool

Description

akakce_llm_enrich

Summarize, normalize, or compare Akakçe data with Fire-Pass Kimi Turbo (requires FIREWORKS_API_KEY)


Agent Integration Specs

  • Agent Contract: See AGENTS.md for execution protocols and failure recovery guidelines.

  • Copy-Paste Agent Rule: See GLOBAL_AGENT_RULE.md to add akakce-mcp to your AI assistant's system instructions.

  • API Reference: Detailed endpoint map reverse-engineered from mobile and web traffic is documented in API_REFERENCE.md.


Alternatives & Comparison

  • Compared to Puppeteer / Playwright scraping: Traditional browser automation is fragile, slow (2-5s per request), and requires 300+ MB RAM while triggering Akamai's anti-bot JS challenges (HTTP 403). akakce-mcp connects directly to the underlying JSON API via system curl in ~150ms with zero browser overhead.

  • Compared to Cimri.com scrapers: Cimri has a different seller ecosystem and lacks authenticated user wishlists, notification counters, and persistent price drop alarms. akakce-mcp covers both public pricing and authenticated private actions.

  • Compared to Google Shopping / SerpAPI: Commercial SERP APIs charge steep monthly subscription fees ($50-$200/mo) and often return delayed or incomplete merchant listings for Turkish regional sellers. akakce-mcp is 100% free, open-source, and retrieves real-time pricing directly.


Frequently Asked Questions (FAQ)

How do I use akakce-mcp with Claude Code?

Run claude mcp add akakce -- npx -y akakce-mcp. Claude Code will automatically register all 20 tools and connect via the standard stdio protocol.

Does akakce-mcp bypass Akamai bot protection?

Yes. Akakçe uses Akamai Bot Manager which blocks standard Node.js fetch with HTTP 403 Forbidden. akakce-mcp routes requests through system curl with authentic browser and mobile headers to bypass TLS fingerprinting.

Do I need an Akakçe account or API key to search prices?

No. All product search, multi-seller comparison, and category browsing features work out-of-the-box with zero credentials and zero API keys.

How do I extract my session token for price alerts?

You can run the interactive terminal login via npx akakce-mcp auth, extract the AAATLGST cookie from browser DevTools via npx akakce-mcp set-cookie, or set the AKAKCE_COOKIE environment variable.

How does akakce-mcp compare to direct web scraping?

Direct web scraping with Cheerio or Puppeteer is fragile, resource-heavy, and frequently triggers IP bans. akakce-mcp connects directly to the underlying api6.akakce.com JSON APIs, delivering fast, structured JSON data with zero browser overhead.


Citation

If you use akakce-mcp in research, benchmarking, or autonomous AI agent workflows, please cite:

@software{akakce_mcp_2026,
  author = {Öztürk, Enes},
  title = {akakce-mcp: Model Context Protocol Server for Akakçe Price Comparison},
  url = {https://github.com/nsozturk/akakce-mcp},
  year = {2026}
}

License

MIT &copy; Enes Öztürk.

Disclaimer: Akakçe is a registered trademark of Akakçe Bilgi Teknolojileri A.Ş. This project is an independent open-source tool and is not affiliated with or endorsed by Akakçe.

Available Tools

20 tools
akakce_account_infoAkakçe account infoA

Giriş yapılmış kullanıcının profil bilgisini döndürür (ad, e-posta, il/ilçe, bildirim sayısı). Giriş gerektirir.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose two useful traits: the operation is a read ('döndürür') and authentication is required. It does not mention behavior when unauthenticated (error vs. empty) or any caching/refresh semantics.

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: the return content is front-loaded, with the auth prerequisite appended as a trailing constraint. No filler.

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?

No output schema exists, so the description's field enumeration (name, email, city/district, notification count) does real work in telling the agent what comes back. Slightly incomplete in that it doesn't specify the failure mode when not logged in.

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?

Zero parameters, so there is nothing to disambiguate and the baseline is 4. The schema is empty and fully described, so the description loses nothing by omitting parameter detail.

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?

States a specific verb (döndürür/returns) and resource (logged-in user's profile info), and enumerates the returned fields (name, email, city/district, notification count). This makes it clearly distinct from siblings like akakce_login and akakce_notifications, though it never explicitly names an alternative.

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?

The clause 'Giriş gerektirir' (requires login) gives an important precondition for calling it. However, there is no guidance on when to prefer this over siblings such as akakce_login (to establish the session) or akakce_notifications (for notification content).

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

akakce_autocompleteAkakçe autocompleteA

Akakçe arama önerileri. Bir arama ifadesi için ürün/kategori önerilerini ve (varsa) ürün kodlarını döndürür. Kullanıcı tam ürün adını bilmiyorsa önce bununla doğru ifadeyi/kodu bul.

NameRequiredDescriptionDefault
queryYesAranacak ifade, örn. 'rtx 5070'

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses what the tool returns (suggestions, categories, optional product codes), which is useful, but it says nothing about side effects, authentication, rate limits, empty-result behavior, or response shape. For a simple read operation this is adequate but incomplete.

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?

Three short sentences: purpose, return contents, and usage condition. It is front-loaded and every sentence contributes without repetition.

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 one-parameter autocomplete tool with no output schema and no annotations, the description covers purpose, return values, and when to use it. It could be slightly richer about result ordering or limits, but nothing essential is missing for correct invocation.

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%, and the schema already documents the single `query` parameter with an example ('rtx 5070'). The description adds purpose context but no syntax, formatting, or constraints beyond the schema, so baseline 3 is appropriate.

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 states a specific resource and behavior: it returns Akakçe search suggestions, product/category recommendations, and optional product codes for a query. This is clearly not a full search, but it does not explicitly name the sibling akakce_search as the alternative, so it falls 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 Guidelines4/5

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

It gives a concrete usage condition: 'If the user does not know the exact product name, first use this to find the correct phrase/code.' That is strong guidance, though it does not explicitly say when not to use it or name the competing search tool.

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

akakce_category_browseAkakçe category browseA

Bir kategori kodunu (ctCode) gezerek o kategorideki ürünleri ve hızlı filtreleri (quickFilters) döndürür. filterIds vererek daraltabilirsin. ctCode'u arama sonuçlarından/ürün URL'lerinden ya da akakce_search_filters çıktısından elde edebilirsin.

NameRequiredDescriptionDefault
pageNo
ctCodeYesKategori kodu, örn. 18561 (laptop)
filterIdsNoUygulanacak filtre id'leri (opsiyonel)

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It says the tool returns products and quickFilters and that filterIds narrows results, but it is silent on pagination despite a page parameter, on authentication needs, and on the shape or limits of returned product lists.

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?

Three short sentences, front-loaded with the core action and return values, then usage guidance. Every sentence contributes either purpose, narrowing behavior, or ctCode acquisition.

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

Completeness3/5

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

For a simple browse tool with three parameters and no output schema, the description covers purpose, return content, and ctCode sourcing. However, it omits pagination behavior for the page parameter and does not describe the structure of the returned products or quickFilters, leaving real gaps for an agent invoking it.

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?

The schema already describes ctCode and filterIds at 67% coverage, so the baseline is moderated. The description adds useful provenance for ctCode and restates that filterIds narrows the query, but it never mentions the page parameter, leaving that part of the schema and description both uninformative.

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: browsing a category code (ctCode) to return products and quickFilters. It distinguishes itself from sibling akakce_search_filters by explaining that this tool consumes ctCode, and from keyword-search siblings by explaining where a ctCode can be obtained.

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 clear context for when to use the tool: after obtaining a ctCode from search results, product URLs, or akakce_search_filters. It also explains that filterIds narrow the browsing result. It does not explicitly state when to prefer akakce_search instead, so it falls short of a full alternatives matrix.

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

akakce_dealsAkakçe deals (son indirimler)A

Akakçe'de son yakalanan indirimleri (fiyatı yeni düşen ürünler) döndürür. Giriş gerektirmez.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden; it usefully discloses that no login/auth is required and clarifies the semantic of 'deal'. However it says nothing about ordering, how many deals are returned, whether results are paginated, or freshness window – meaningful gaps for a feed tool with no output schema.

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, front-loaded with the resource definition and followed by the auth note. No filler; every clause conveys information.

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

Completeness3/5

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

For a no-param feed with no output schema, the description covers purpose and auth, but omits result volume, ordering, and recency semantics – details an agent would need to decide whether this tool alone answers a 'what's on sale' query.

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 tool takes zero parameters and the description doesn't need to explain any; the baseline for a 0-param tool is 4. Nothing in the text misrepresents the parameter-free nature.

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?

Specific verb 'döndürür' plus a precisely defined resource: 'son yakalanan indirimler (fiyatı yeni düşen ürünler)' – it even parenthetically defines what counts as a deal, which disambiguates from search or category_browse. It never names a sibling tool explicitly, so it stops short of full differentiation.

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?

The phrase 'son yakalanan indirimler' implies a browse-latest-deals use case, and the no-login note removes a prerequisite. But it gives no explicit when-to-use vs akakce_home_feed, akakce_search, or akakce_category_browse guidance and no exclusions.

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

akakce_favorite_addAkakçe favorite addB

Bir veya daha fazla ürünü favorilere (varsayılan listeye) ekler. Ürün kod(lar)ını ver. Giriş gerektirir.

NameRequiredDescriptionDefault
codesYesEklenecek ürün kodları

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the behavioral burden. It discloses the mutation scope, batch capability, default list target, and login requirement, but it omits what happens when a product is already favorited, whether the operation is idempotent, and what the response contains.

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?

The description is short and front-loads the purpose before giving input and authentication notes. The sentence telling the caller to provide product codes is somewhat redundant with the schema, but overall it is appropriately sized.

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

Completeness3/5

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

For a simple one-parameter mutation, the description covers purpose, authentication, and target list. It leaves notable gaps around duplicate handling and the result of the operation, and there is no output schema or annotation coverage to fill those gaps.

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?

The schema fully documents the single 'codes' parameter, including its array type and minimum item count. The description reinforces that product codes may be singular or plural, but adds no format or validation details beyond the schema, so the baseline 3 is appropriate.

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 states a specific verb and resource: it adds one or more products to favorites, with the default list explicitly named. This clearly separates it from removal or listing operations by behavior, though it does not explicitly name the sibling tools.

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?

The description gives a key prerequisite, 'Giriş gerektirir' (requires login), and clarifies that the target is the default favorites list. However, it does not state when to prefer this over akakce_favorites or akakce_favorite_remove, so usage is implied rather than fully guided.

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

akakce_favorite_removeAkakçe favorite removeA

Bir ürünü favori listesinden çıkarır. Ürün kodu (code) ve listId ver (listId'yi akakce_favorites'ten al). Giriş gerektirir.

NameRequiredDescriptionDefault
codeYesÇıkarılacak ürün kodu
listIdYesÜrünün bulunduğu favori listesi id'si

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose the critical auth prerequisite ('Giriş gerektirir'), which is genuinely useful, but says nothing about reversibility, idempotency, or what happens if the product is not in the list.

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?

Three short sentences: action first, then parameter sourcing, then the auth prerequisite. Zero filler and front-loaded.

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 simple two-required-param mutation with no output schema, the description covers the action, parameter sourcing, and the login requirement. Only failure modes and effect of a missing product are absent.

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 baseline is 3; the description earns above baseline by explaining how to obtain the listId via akakce_favorites, which the schema does not say. Both required params are acknowledged, though their types and semantics remain entirely in the schema.

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?

States a specific verb and resource: 'Bir ürünü favori listesinden çıkarır' (removes a product from the favorites list). The removal framing distinguishes it from the sibling akakce_favorite_add, though it does not name that sibling directly.

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?

Gives concrete operating guidance by naming where listId comes from ('listId'yi akakce_favorites'ten al'), effectively routing the agent to the sibling that produces the prerequisite value. It does not state explicit when-not-to-use conditions, which keeps it below a 5.

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

akakce_favoritesAkakçe favoritesA

Favori listelerini döndürür. listId verilmezse tüm listeleri (id, ad, ürün sayısı) listeler; listId verilirse o listenin ürünlerini (ad, fiyat, url) döndürür. Giriş gerektirir.

NameRequiredDescriptionDefault
listIdNoBelirli bir favori listesinin id'si (akakce_favorites'in listesinden)

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden, and it does disclose the authentication requirement plus the exact contents returned in each mode (id/name/product count vs name/price/url). It stops short of mentioning pagination, rate limits, or what happens with an invalid listId, leaving a few behavioral gaps.

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 compact sentences with zero waste; the primary purpose is front-loaded, the parameter branching follows, and the auth caveat closes it. Nothing is redundant with the schema or title.

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?

There is no output schema, yet the description enumerates the returned fields for both modes, so an agent can act on the result without guessing. Combined with the auth note, this is nearly complete for a one-parameter read tool; only edge-case error behavior is absent.

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, but the description adds genuine semantic value by explaining the omitted-vs-supplied branching behavior of listId, which the schema alone does not convey. It also confirms the id comes from this tool's own output, reinforcing the schema's note.

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?

States a specific verb and resource ('Favori listelerini döndürür') and spells out the two distinct output modes keyed on listId, so the agent knows exactly what it gets back. It does not explicitly contrast itself with akakce_favorite_add/remove, but the read-oriented return description implicitly separates it from those mutations.

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?

Gives a clear conditional rule: omit listId to enumerate all lists, supply listId to get that list's products. It also discloses the login prerequisite ('Giriş gerektirir'), which is essential context for deciding whether the call will succeed. No explicit alternative tool is named, but the usage context is unambiguous.

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

akakce_home_feedAkakçe home feedA

Akakçe ana sayfasının bileşenlerini (keşfet/slider kartları: aktüel ürünler, kampanyalar, koleksiyonlar vb.) ve yönlendirme URL'lerini döndürür. Giriş gerektirmez.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It does disclose that no login is required and that the payload consists of page components plus redirect URLs, but it says nothing about side effects, caching/staleness, rate limits, or result ordering. For an effectively read-only zero-parameter feed this is adequate but thin.

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 sentences, front-loaded with the return payload and the parenthetical examples are useful rather than filler. The auth note is a compact, relevant addendum; no padding or repetition.

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?

The tool is structurally simple (no params, no output schema, no annotations), and the description covers what comes back and the auth requirement. The main gap is that return shape (component structure, URL field names) is left unstated and there is no output schema to compensate.

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 tool takes no parameters and the schema is an empty object, so there is nothing for the description to disambiguate. Baseline of 4 applies.

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 names a specific verb ('döndürür' / returns) and a concrete resource (the Akakçe homepage components), and it enumerates what those components are (discover/slider cards, current products, campaigns, collections). It does not differentiate itself from siblings such as akakce_deals or akakce_category_browse, which keeps it from 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?

Usage is only implied: the reader can infer this is the homepage/landing entry point that yields navigation URLs and promotional cards. There is no explicit when-to-use signal, no statement of when a different sibling would be preferable, and no exclusions. The 'no login required' line is a prerequisite note rather than routing guidance.

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

akakce_llm_enrichAkakçe LLM enrich (Fire-Pass Kimi turbo)A

Akakçe arama/fiyat sonuçlarını bir LLM ile yorumlar: özetler, normalize eder, karşılaştırır veya verilen talimata göre filtreler. SADECE Fire-Pass guard'lı Kimi K2.6 Turbo ile çalışır. FIREWORKS_API_KEY tanımlı değilse devre dışıdır. Girdi olarak diğer akakce_* tool'larından aldığın JSON'u (ürünler/satıcılar) ver.

NameRequiredDescriptionDefault
dataYesİşlenecek Akakçe verisi (genelde başka bir akakce_* tool çıktısının JSON metni).
instructionYesNe yapılacağı, örn. 'en iyi fiyat/performans 3 ürünü seç ve neden olduğunu açıkla'.

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description does useful work by disclosing that it only runs with Fire-Pass guarded Kimi K2.6 Turbo and is disabled when FIREWORKS_API_KEY is not defined. However, it omits other important behavioral details such as output shape, latency/cost implications, and error behavior for an external LLM call.

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 description is front-loaded with purpose, then adds only material constraints: the specific model, the API-key requirement, and the expected input source. Every sentence contributes useful information with no filler.

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

Completeness3/5

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

For a two-parameter LLM wrapper with no output schema, the description covers purpose, input source, and runtime dependency. It does not explain the return format, which matters because the agent cannot otherwise know whether it will receive text, JSON, or structured results.

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 both parameters are already documented. The description reinforces the data source by saying to pass JSON from other akakce_* tools, but adds little beyond the schema's own descriptions of data and instruction.

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 interprets Akakçe search/price results with an LLM, and enumerates concrete operations (summarize, normalize, compare, filter by instruction). This clearly distinguishes it from the retrieval-oriented akakce_* 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?

It gives clear usage context by telling the agent to pass JSON obtained from other akakce_* tools (products/sellers). It does not explicitly state when not to use it or name alternatives, but the input-source guidance is concrete.

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

akakce_loginAkakçe loginA

Akakçe hesabına giriş yapar ve oturumu (AAATLGST çerezi) ~/.config/akakce-mcp/session.json içine kaydeder. Giriş sonrası favoriler, fiyat alarmları ve bildirim tool'ları çalışır. Kimlik bilgilerini parametre vermezsen AKAKCE_EMAIL / AKAKCE_PASSWORD ortam değişkenleri kullanılır. Oturum ~1 yıl geçerlidir; tekrar giriş gerekmez.

NameRequiredDescriptionDefault
emailNoE-posta (verilmezse AKAKCE_EMAIL env)
passwordNoŞifre (verilmezse AKAKCE_PASSWORD env)

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it names the persisted artifact (session cookie file path), the credential source fallback (AKAKCE_EMAIL/AKAKCE_PASSWORD), and session validity. It doesn't cover failure behavior (bad credentials) or whether an existing session is overwritten, 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?

Four short sentences, front-loaded with the action and its side effect, then the dependency unlock, then credential sourcing, then session lifetime. Nothing is redundant enough to cut.

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?

No output schema exists, and the description explains persistence and lifetime but not what the call returns on success (e.g., account identity or a confirmation), which an agent might want. Otherwise complete for a two-optional-param auth tool.

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 coverage is 100% and both parameter descriptions already state the env-var fallback, so the description's credential-fallback sentence largely repeats structured data. Baseline 3 applies since the schema does the heavy lifting.

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+resource ('Akakçe hesabına giriş yapar') and discloses the concrete side effect (AAATLGST cookie saved to ~/.config/akakce-mcp/session.json). This clearly separates it from the sibling akakce_logout and from the read-only browsing 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?

Says login unlocks favorites, price alerts and notification tools, which gives the agent the prerequisite condition for those siblings, and notes the ~1-year session lifetime so repeat logins are unnecessary. It stops short of an explicit 'call this if an auth-required tool fails' routing statement.

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

akakce_logoutAkakçe logoutA

Kaydedilmiş Akakçe oturumunu siler (session.json).

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It helpfully identifies the exact target of deletion (session.json), but does not state whether the deletion is irreversible, whether it requires authentication, or what state the agent is left in after the session is removed. For a simple local file deletion this is adequate but incomplete.

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?

A single short sentence that front-loads the action and the target. Nothing is wasted, and no important information is buried.

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 zero-parameter, no-output-schema logout tool, the description is sufficient to understand the call. It could be improved by mentioning that no arguments are required and what effect the deletion has on subsequent calls, but the core is complete.

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 tool accepts zero parameters, so there are no parameter semantics to explain; the baseline of 4 applies. No description text is needed to compensate for missing parameter documentation.

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 uses a specific verb ('siler' = deletes) and resource ('Kaydedilmiş Akakçe oturumu' / session.json), making the action unambiguous. It is the only logout tool among siblings, but it does not explicitly contrast itself with akakce_login or other session-affecting tools.

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?

Usage is implied by the name and description—clear the saved session when you want to log out or reset authentication. However, there is no explicit statement of when to use this versus other tools, no prerequisites, and no note about what happens afterward (e.g., needing to re-login).

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

akakce_notificationsAkakçe notificationsA

Fiyat düşüşü bildirimlerini döndürür (ürün, yeni fiyat, düşüş oranı, tarih). Giriş gerektirir.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It discloses the auth requirement and the shape of the returned data, which are real additions, but it is silent on whether fetching marks notifications as read, whether results are paginated or capped, and what an empty result looks like.

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 clauses, no filler: the return content comes first and the auth prerequisite second. Every element 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 zero-parameter read with no output schema, the description does the essential work by naming the returned fields and the login requirement. Minor gaps remain around read-state side effects and result limits, but an agent can call this correctly from what is given.

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 tool takes zero parameters, so the baseline is 4 and there is nothing for the description to compensate for. Listing the returned fields is a small bonus but does not change the fact that parameter semantics are a non-issue here.

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?

States a specific verb and resource ('Fiyat düşüşü bildirimlerini döndürür' – returns price-drop notifications) and enumerates the payload fields, so the agent knows exactly what comes back. It does not, however, distinguish itself from the closely named siblings akakce_price_alerts and akakce_price_alert_set, leaving the notifications-vs-alerts boundary to inference.

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?

The only usage signal is the precondition 'Giriş gerektirir' (requires login), which is genuinely useful. There is no statement of when to prefer this over akakce_price_alerts, nor any exclusion or alternative named, so usage is only implied.

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

akakce_price_alertsAkakçe price alertsA

Kurulu fiyat alarmlarını listeler: ürün, hedef fiyat ve mevcut fiyat. Giriş gerektirir.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It discloses the authentication requirement and names the fields returned, which are useful beyond structured data. It does not state pagination, ordering, or failure behavior, but for a zero-parameter read listing it is fairly transparent.

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 clauses, front-loaded with the action and return fields, then the login requirement. Every sentence adds useful information with no waste.

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?

No output schema exists, so the description usefully enumerates the returned fields and the auth prerequisite. For a simple zero-parameter listing tool this is nearly complete, though pagination or empty-state behavior is not mentioned.

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 tool has zero parameters, so there are no parameter semantics to document; this is the baseline score for a no-argument tool. The description appropriately does not invent parameter details.

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?

States a specific verb and resource: lists configured price alerts. It also names the returned fields (product, target price, current price), so the purpose is clear. It does not explicitly distinguish itself from siblings such as akakce_price_alert_set, but the 'list' verb separates it adequately.

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?

The description implies usage for viewing existing alerts, and the login requirement gives a prerequisite. It does not say when to use this instead of akakce_price_alert_set, akakce_notifications, or other alert-related siblings, so guidance is only implied.

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

akakce_price_alert_setAkakçe set price alertA

Bir ürün için fiyat alarmı kurar/günceller: fiyat hedef değere düşünce bildirim gelir. Ürün kodu ve hedef fiyat (TL) ver. Giriş gerektirir.

NameRequiredDescriptionDefault
codeYesÜrün kodu
targetPriceYesHedef fiyat (TL) — fiyat buraya düşünce alarm

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses that the tool creates or updates an alert, that a notification fires when the target price is reached, and that login is required, but it omits behavior such as what happens to an existing alert, error handling when unauthenticated, and whether the call returns a confirmation.

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 description is two tight sentences with the core action and trigger front-loaded. Every clause adds useful information with no wasted wording.

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

Completeness3/5

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

For a simple two-parameter tool with no output schema and no annotations, the description covers the main purpose, required inputs, trigger behavior, and login requirement. It still leaves gaps around return behavior and how existing alerts are handled, so it is adequate but not complete.

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 both 'code' and 'targetPrice' are already documented. The description restates their meaning and adds the trigger semantics, but does not provide syntax or format details beyond the schema, making the baseline 3 appropriate.

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/resource: 'fiyat alarmı kurar/günceller' for a product, with the trigger condition 'fiyat hedef değere düşünce bildirim gelir'. It is clear what the tool does, though it does not explicitly distinguish itself from sibling tools like akakce_price_alerts or akakce_notifications.

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 states the required inputs and that login is required, which implies when the tool is usable. However, it does not explicitly say when to choose this over akakce_price_alerts or how it relates to notification listing.

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

akakce_price_historyAkakçe price historyA

Bir ürünün fiyat geçmişi grafiğini döndürür. Akakçe geçmişi yalnızca hazır bir grafik GÖRSELİ (PNG) olarak sunar — sayısal veri noktası yoktur. Sonuçta grafiğin doğrudan görüntü URL'i döner (kullanıcıya gösterilebilir). Sadece ürün code'u yeterli.

NameRequiredDescriptionDefault
urlNoÜrün sayfası URL'i (opsiyonel).
codeNoÜrün kodu (akakce_search/autocomplete sonucundan).

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that the tool returns only a PNG chart with zero numeric data points and that the result is a directly viewable image URL. It omits auth/rate-limit or failure behavior, keeping it short of 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?

Three short sentences, front-loaded with the core behavior and the critical image-only constraint, with no filler.

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?

There is no output schema, and the description compensates by explaining the return value (a direct chart image URL, no numeric series). For a simple two-parameter read tool that is nearly complete, with only auth/error context missing.

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 both parameters are already documented; the description only adds that the product `code` alone is sufficient (making `url` effectively redundant). That is a useful hint but not substantial beyond-schema meaning.

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?

States a specific verb and resource: returns a product's price-history chart. It implicitly distinguishes itself from price-data siblings (e.g. akakce_product_prices) by stressing that the history is only an image with no numeric data points, though no sibling is named explicitly.

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?

'Sadece ürün code'u yeterli' gives minimal usage context, and the image-only note implies when this is preferable to numeric price endpoints. But there is no explicit when-to-use/when-not statement and no named alternative for retrieving numeric history.

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

akakce_product_detailAkakçe product detailA

Bir ürünün tam detayını döndürür: ad, marka, teknik özellikler, ortalama puan, en düşük/en yüksek fiyat ve TÜM satıcıların listesi (fiyat, kargo, satıcı puanı, teslimat, satıcıya direkt gidiş linki). Sadece ürün code'u yeterli — URL otomatik çözülür. İstersen url (akakce_search'teki productUrl) vererek bir istek atlayabilirsin.

NameRequiredDescriptionDefault
urlNoÜrün sayfası URL'i (opsiyonel; verilirse code'dan çözmeye gerek kalmaz).
codeNoÜrün kodu (akakce_search/autocomplete sonucundan). Tek başına yeterli.

TDQS

A4.4/5.0
Behavior4/5

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

No annotations exist, so the description carries the full load, and it does disclose the return payload in detail plus the non-obvious behavior that the URL is resolved automatically from the code. It does not mention authentication, rate limits, or what happens when a code is invalid, which are the remaining behavioral gaps.

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?

Front-loaded with the outcome (full detail plus all sellers) before the parameter tactics, and every clause carries information — the field enumeration, the auto-resolution, and the url shortcut each earn their 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?

With no output schema and no annotations, the description compensates well by enumerating the returned fields and the seller-list contents. Missing only edge-case behavior (errors, auth, whether the seller list is paginated or capped) for a fairly simple two-optional-param tool.

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 already 100%, so the baseline would be 3, but the description adds real meaning: `url` is an optional shortcut that costs one fewer request, and its value originates from akakce_search results. That is a usage relationship the schema text does not fully convey.

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 (döndürür) and resource (bir ürünün tam detayı) and enumerates exactly what comes back: name, brand, specs, rating, price range, and the full seller list. This lets an agent distinguish it from sibling tools like akakce_product_prices and akakce_quickview without opening their schemas.

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?

Explicitly says `code` alone is sufficient and that passing `url` (the productUrl from akakce_search) skips one request, giving a concrete provenance and a performance-based choice between the two params. It stops short of naming when to prefer this over akakce_quickview or akakce_product_prices, so it is strong but not exhaustive.

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

akakce_product_pricesAkakçe product pricesA

Bir veya daha fazla ürün kodu için Akakçe'deki en ucuz satıcıları (quickview) döndürür: fiyat, kargo, satıcı adı, son güncelleme ve satıcıya gidiş linki. Ürün kodlarını akakce_search / akakce_autocomplete sonuçlarından al. Birden çok kodu tek çağrıda ver (toplu).

NameRequiredDescriptionDefault
codesYesÜrün kodları listesi (en fazla 50)

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses the returned fields and bulk behavior, but does not mention authentication needs, rate limits, error behavior, or whether it is strictly read-only.

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 description is short and front-loaded: it states the purpose first, then the returned fields, then sourcing and bulk guidance. Every sentence adds useful information without waste.

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 single-parameter tool with no output schema, the description is largely complete: it explains the purpose, return fields, and where to obtain valid codes. The main remaining gaps are error behavior and operational constraints, which are minor given the tool's simplicity.

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 already 100%, so the baseline would be 3. The description adds meaning beyond the schema by explaining that codes should come from search or autocomplete results and that multiple codes can be supplied in one bulk call.

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 states a specific action and resource: it returns the cheapest sellers for one or more product codes from Akakçe, along with the returned fields. It is clear but does not explicitly distinguish this tool from the similarly named sibling akakce_quickview.

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 gives useful sourcing guidance, telling the agent to get product codes from akakce_search or akakce_autocomplete, and encourages batching multiple codes. However, it does not say when to use this tool instead of akakce_quickview, akakce_product_detail, or akakce_price_history.

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

akakce_quickviewAkakçe quickview (tek ürün)A

Tek bir ürün kodu için en ucuz satıcı(ları) hızlıca döndürür (akakce_product_prices'ın tekli/hafif sürümü). Giriş gerektirmez.

NameRequiredDescriptionDefault
codeYesÜrün kodu

TDQS

A3.9/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It does add valuable auth context ('Giriş gerektirmez') — relevant given the akakce_login sibling — but says nothing about return shape (what fields describe a 'cheapest seller'), behavior for an invalid/unknown code, or whether results are cached/rate-limited.

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 with zero padding: the operation and scope come first, the sibling comparison and auth note follow. Every clause earns its place.

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

Completeness3/5

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

With one required param and no output schema, the description needs to carry return-value expectations; it only says 'cheapest seller(s)', leaving the response structure (price, seller name, currency, ranking) unspecified. The auth note helps, but for a network-backed lookup tool the behavioral picture is still thin.

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 coverage is 100% and the single parameter is already documented as 'Ürün kodu'. The description only echoes that ('tek bir ürün kodu için') and adds no format, range, or sourcing detail beyond the schema, so the baseline 3 applies.

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 ('en ucuz satıcı(ları) hızlıca döndürür') scoped to a single product code, and explicitly names the sibling it is a reduced form of (akakce_product_prices). An agent can distinguish it from the other 19 akakce tools without opening a schema.

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?

Names the alternative (akakce_product_prices) and characterizes this one as its 'tekli/hafif sürümü', which signals the single-product, lightweight use case. It stops short of an explicit rule for when to prefer the fuller sibling (e.g. batch codes or extra fields), so the choice is implied rather than fully prescribed.

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

akakce_search_filtersAkakçe search filtersA

Bir arama ifadesi için uygulanabilir filtre gruplarını (marka, özellik, RAM, vb.) ve her filtrenin id'sini döndürür. Dönen filtre id'lerini akakce_search'e filterIds olarak vererek sonucu daraltabilirsin.

NameRequiredDescriptionDefault
sortNo
phraseYesArama ifadesi

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It does describe the return payload (filter groups and their ids) and the downstream chaining behavior, but says nothing about authentication, whether results are cached or live, or any rate limits.

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 tight sentences: the first declares what is returned, the second declares how to use the result. Nothing is wasted and the key information is front-loaded.

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

Completeness3/5

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

For a two-parameter read tool with no output schema, the description adequately conveys the output's shape and purpose. However, the undocumented sort parameter and the absence of any hint about result size or filter availability mean the definition is only minimally sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%. The phrase parameter's schema text ('Arama ifadesi') merely restates the name, and the description repeats 'arama ifadesi' without adding format or example guidance. The sort parameter (default 1) is unexplained in both the schema and the description, leaving its accepted values opaque.

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 names a specific verb and resource: it returns the applicable filter groups (brand, feature, RAM, etc.) and each filter's id for a given search phrase. That is concrete and distinguishable from siblings such as akakce_product_detail or akakce_deals, though it never contrasts itself directly with akakce_autocomplete or akakce_category_browse.

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 states the intended workflow explicitly: call this to obtain filter ids, then pass those ids to akakce_search as filterIds to narrow results, which effectively names the alternative and the condition for chaining. It stops short of stating when not to use it, such as when no filtering is needed.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 20 tool updatesv1.0.0
    • First observedakakce_account_info
    • First observedakakce_autocomplete
    • First observedakakce_category_browse
    • First observedakakce_deals
    • First observedakakce_favorite_add
    • First observedakakce_favorite_remove
    • First observedakakce_favorites
    • First observedakakce_home_feed
    • First observedakakce_llm_enrich
    • First observedakakce_login
    • First observedakakce_logout
    • First observedakakce_notifications
    • First observedakakce_price_alert_set
    • First observedakakce_price_alerts
    • First observedakakce_price_history
    • First observedakakce_product_detail
    • First observedakakce_product_prices
    • First observedakakce_quickview
    • First observedakakce_search
    • First observedakakce_search_filters

TDQS

A3.7/5.0

Scored across 20 tools

Disambiguation4/5

Most tools target distinct Akakçe resources or workflows: search, category browsing, product detail, favorites, alerts, and account are clearly separated. The main overlap is price retrieval: akakce_product_prices, akakce_quickview, and akakce_product_detail all return seller/price data, though the descriptions distinguish bulk, single lightweight, and full-detail use cases.

Naming Consistency4/5

All tools use the same akakce_ prefix and snake_case, making the set highly readable. However, the pattern mixes verb-noun forms (akakce_favorite_add) with noun-only forms (akakce_deals, akakce_quickview, akakce_notifications), which is a minor inconsistency rather than a serious problem.

Tool Count3/5

Twenty tools is reasonable for a full shopping/price-comparison server spanning search, favorites, alerts, account, and notifications. Still, 20 falls in the heavy range, and a few tools such as akakce_quickview and akakce_llm_enrich feel like optional conveniences rather than essential surface area.

Completeness4/5

The server covers the main Akakçe workflows well: discovery, search/filtering, price lookup, product detail, price history, authentication, favorites, alerts, and notifications. Minor gaps remain around full favorite-list lifecycle management (no create/delete list) and alert lifecycle (no explicit alert deletion), but these are workaroundable.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables searching and comparing product prices across Turkish supermarket chains (BIM, A101, Migros, SOK, etc.) with location-based filtering. Provides access to Turkish market data from marketfiyati.org.tr for price tracking and comparison.
    3
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables searching and comparing product prices, sellers, and price history from Torob, Iran's price-comparison engine, including shop trust signals and physical store availability.
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to search Digikala's catalogue, compare every seller's offers and prices, review ~30 days of price history, read customer reviews and Q&A, and surface current deals, all through read-only tools.
    23
    562 PyPI
    36
    MIT