Skip to main content
Glama

Teklif

Server Details

Demo: brand offers (car rental, e-commerce, insurance) for ChatGPT, Claude, Gemini via MCP.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
nietzische-app/teklif-mcp
GitHub Stars
0
ChatGPT
–
Claude
–

TDQS

A3.9/5.0

Scored across 3 tools

Disambiguation4/5

search_offers and compare_offers are mostly separable thanks to the explicit 'user asked to compare' trigger and sort_by semantics, but compare_offers with no IDs degrades into a search-like fallback (top 5 lowest-priced), which blurs the boundary. get_offer_link is clearly distinct as a single-offer lookup. Overall only one pair carries real overlap risk.

Naming Consistency5/5

All three tools follow a consistent verb_noun snake_case pattern: search_offers, compare_offers, get_offer_link. Verbs are meaningful and the shared '_offers' noun makes the domain obvious at a glance.

Tool Count3/5

Three tools is on the thin side for an offer-discovery server; the entire surface is search, compare, and link-out. Each tool does earn its place, but the set feels minimal rather than well-rounded.

Completeness3/5

Read-only search/compare/link is a coherent narrow scope and booking is explicitly out of scope, but there is no way to fetch a single offer's full details (only card views) and no provider/pagination controls. Agents hitting a card they want to inspect further must fall back to the external URL.

Available Tools

3 tools
compare_offersCompare offersA
Read-only
Inspect

Compares offers the user has explicitly asked to compare (by offer IDs from search_offers, or by category/city). If no IDs are given, returns up to 5 matching offers sorted by sort_by (default: the 5 lowest-priced). Returns offers with a card view. No paid or sponsored ranking. Operator-owned Aegis Scanner pricing.

NameRequiredDescriptionDefault
cityNoCity filter (example: İstanbul)
sort_byNoSort order: price (default), rating, or relevance. No paid placement.price
categoryNohepsi
offer_idsNoOffer IDs to compare (from search_offers). If omitted, up to 5 matching offers by category/city are returned.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already establish readOnly, non-destructive, closed-world, so the bar is low, yet the description adds real context: no paid or sponsored ranking, a hard result cap of 5, and a card-view return shape. The trailing "Operator-owned Aegis Scanner pricing" is opaque and doesn't clarify behavior.

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?

Four short sentences that front-load the verb and the selection modes, with no filler. The final pricing/source note is abrupt and reads as a fragment rather than an integrated caveat.

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?

No output schema exists, but the description covers the return shape (card view), the result cap, sorting, ranking neutrality, and all four parameters' roles. For a read-only comparison tool with zero required parameters this is sufficient to invoke correctly.

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 a solid 75%, and the description still adds behavioral meaning: offer_ids overrides category/city, and when omitted the tool returns up to 5 matching offers by default price order. The category enum values (addon, hepsi) remain undefined in both schema and description, and city takes no format guidance 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 ("Compares offers") plus the two selection modes: explicit offer IDs sourced from search_offers, or category/city filtering. This implicitly separates it from search_offers, though the boundary (search vs. compare) is never stated outright.

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 trigger ("offers the user has explicitly asked to compare") and describes the fallback path when no IDs are supplied, including the cap of 5 and default sort. It stops short of an explicit exclusion telling the agent to call search_offers first when it has no IDs.

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

search_offersSearch offersA
Read-only
Inspect

Searches offers when the user asks for them, filtered by category (one_time, monthly, addon, or hepsi = all), optional city and optional maximum price in TRY. Returns matching offers sorted by sort_by (price | rating | relevance; default price, lowest first) and shows them as cards. No paid or sponsored ranking. Currently returns operator-owned Aegis Scanner plans from aegisscanner.com/landing#pricing.

NameRequiredDescriptionDefault
cityNoCity filter (case- and Turkish-diacritic-insensitive). Example: İstanbul, Ankara, İzmir, Bursa
budgetNoMaximum price in TRY. Example: 3000
sort_byNoSort order: price (lowest first, default), rating (highest first), or relevance (rating then price). No paid placement.price
categoryNoone_time | monthly | addon | hepsi (all)hepsi

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, non-destructive, closed-world), yet the description still adds real value: the default sort order, an explicit "No paid or sponsored ranking" guarantee, and a disclosure of what data currently backs results (operator-owned Aegis Scanner plans). It omits result-count limits and pagination, which would matter for a search tool.

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?

Three front-loaded sentences that move from purpose to filtering/sorting to data scope, with no filler. A few clauses duplicate the schema's enum and default documentation and could be 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?

For a read-only search with full schema coverage and no output schema, the definition covers filters, default ordering, ranking neutrality, and current data provenance. Missing only result-size or empty-result behavior, which is minor at this complexity.

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%, so the schema already documents city, budget, sort_by and category including enums and defaults. The description largely restates those ("hepsi = all", "default price, lowest first") and adds no format or edge-case semantics the schema lacks, so baseline 3 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?

States a specific verb and resource ("searches offers") plus the filter dimensions and the return shape (cards sorted by sort_by). It never names its siblings compare_offers or get_offer_link, so an agent must infer the boundary, 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?

"when the user asks for them" gives a minimal trigger condition, and the filter/sort vocabulary is spelled out, but there is no when-not guidance and no routing to compare_offers or get_offer_link. Usage is implied rather than prescribed.

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. 3 tool updates
    • Changedcompare_offers5 fields changed
      • changedInput schema / properties / category / enum
        Previous value: -[
        -  "arac_kiralama",
        -  "e_ticaret",
        -  "kasko",
        -  "trafik_sigortasi",
        -  "hepsi"
        -]New value: +[
        +  "one_time",
        +  "monthly",
        +  "addon",
        +  "hepsi"
        +]
      • changedInput schema / properties / city / description
        Previous value: -"Şehir filtresi (örn. İstanbul)"New value: +"City filter (example: İstanbul)"
      • changedInput schema / properties / offer_ids / description
        Previous value: -"Karşılaştırılacak teklif id'leri (search_offers sonuçlarından). Boşsa kategori/şehir filtresine göre en uygunlar."New value: +"Offer IDs to compare (from search_offers). If omitted, up to 5 matching offers by category/city are returned."
      • removedInput schema / properties / platform
        Removed value: -{
        -  "default": "chatgpt",
        -  "enum": [
        -    "chatgpt",
        -    "claude",
        -    "gemini"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / sort_by
        Added value: +{
        +  "default": "price",
        +  "description": "Sort order: price (default), rating, or relevance. No paid placement.",
        +  "enum": [
        +    "price",
        +    "rating",
        +    "relevance"
        +  ],
        +  "type": "string"
        +}
    • Changedget_offer_link3 fields changed
      • changedInput schema / properties / offer_id / description
        Previous value: -"Teklif id, örn. rent-eco-i20 veya kasko-ist-genis"New value: +"Offer id, e.g. aegis-starter or aegis-growth"
      • removedInput schema / properties / platform
        Removed value: -{
        -  "description": "chatgpt | claude | gemini",
        -  "enum": [
        -    "chatgpt",
        -    "claude",
        -    "gemini"
        -  ],
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "offer_id",
        -  "platform"
        -]New value: +[
        +  "offer_id"
        +]
    • Changedsearch_offers6 fields changed
      • changedInput schema / properties / budget / description
        Previous value: -"Maksimum fiyat (TRY). Örn. 3000"New value: +"Maximum price in TRY. Example: 3000"
      • changedInput schema / properties / category / description
        Previous value: -"arac_kiralama | e_ticaret | kasko | trafik_sigortasi | hepsi"New value: +"one_time | monthly | addon | hepsi (all)"
      • changedInput schema / properties / category / enum
        Previous value: -[
        -  "arac_kiralama",
        -  "e_ticaret",
        -  "kasko",
        -  "trafik_sigortasi",
        -  "hepsi"
        -]New value: +[
        +  "one_time",
        +  "monthly",
        +  "addon",
        +  "hepsi"
        +]
      • changedInput schema / properties / city / description
        Previous value: -"Şehir filtresi (büyük/küçük harf ve Türkçe karakter duyarsız). Örn. İstanbul, Ankara, İzmir, Bursa"New value: +"City filter (case- and Turkish-diacritic-insensitive). Example: İstanbul, Ankara, İzmir, Bursa"
      • removedInput schema / properties / platform
        Removed value: -{
        -  "default": "chatgpt",
        -  "description": "UTM için hedef asistan: chatgpt | claude | gemini",
        -  "enum": [
        -    "chatgpt",
        -    "claude",
        -    "gemini"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / sort_by
        Added value: +{
        +  "default": "price",
        +  "description": "Sort order: price (lowest first, default), rating (highest first), or relevance (rating then price). No paid placement.",
        +  "enum": [
        +    "price",
        +    "rating",
        +    "relevance"
        +  ],
        +  "type": "string"
        +}
  2. 3 tool updates
    • First observedcompare_offers
    • First observedget_offer_link
    • First observedsearch_offers

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.