NobetciEczane.org
Server Details
Türkiye ve KKTC'de güncel nöbetçi eczaneler: il, ilçe veya konuma göre eczane adı ve adresi.
- Status
- Healthy
- Uptime
- 100.0% over 15 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- NobetciEczane/nobetci-eczane
- GitHub Stars
- 0
- Server Listing
- nobetci-eczane
TDQS
Scored across 2 tools
The two tools target clearly different query modes: one ranks pharmacies by geodesic distance from a latitude/longitude, the other filters by province (and optional district) for the current duty day. Their descriptions explicitly state input and output, so an agent can pick the right one without guessing.
Both names are Turkish snake_case and share the 'nobetci_eczane' stem, which makes the pairing predictable. The pattern is not strictly uniform (one is a descriptive noun phrase 'en_yakin_nobetci_eczane', the other is noun+verb 'nobetci_eczane_listele'), but this is a minor deviation that remains readable.
Two tools for a narrow pharmacy-lookup service is defensible since they cover the two natural query entry points (geo and administrative). However, the surface feels thin — there is no detail-fetch or reference-data tool — so it sits at the borderline of 'too few'.
Both primary retrieval paths are covered and the duty-day rotation behavior is documented, so core user needs are met. Gaps are minor: phone, duty hours, and directions are only reachable via an external 'sayfaUrl', and there is no tool to list valid provinces/districts for input validation.
Available Tools
2 toolsen_yakin_nobetci_eczaneEn yakın nöbetçi eczanelerARead-onlyIdempotentInspect
Verilen enlem/boylama kuş uçuşu en yakın nöbetçi eczaneleri (Türkiye ve KKTC) yakından uzağa sıralı döndürür: eczane adı, il, ilçe ve adres. Telefon, nöbet saatleri ve yol tarifi için her kayıttaki sayfaUrl'yi kullanıcıya verin.
| Name | Required | Description | Default |
|---|---|---|---|
| adet | No | Döndürülecek eczane sayısı (1-20, varsayılan 5). | |
| enlem | Yes | Enlem (WGS84), ör. 40.9903 | |
| boylam | Yes | Boylam (WGS84), ör. 29.0277 |
Output Schema
| Name | Required | Description |
|---|---|---|
| not | Yes | |
| kaynak | Yes | |
| eczaneler | Yes | |
| nobetGunu | Yes | |
| gecerlilikBitis | Yes | |
| gecerlilikBaslangic | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds valuable behavioral context: it specifies straight-line distance ranking, the exact fields returned, and instructs the agent to provide pageUrl to the user for additional details. No contradictions with annotations are present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two efficient sentences: the first front-loads purpose, scope, sorting, and return fields; the second gives a clear usage instruction. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup tool with full schema coverage, rich annotations, and an output schema, the description provides everything needed: it clarifies what is returned, how results are ordered, and what to do with the pageUrl. No gaps remain for an agent to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema itself fully documents all three parameters (enlem, boylam, adet) including types and constraints. The description merely restates that latitude/longitude are given and does not add any extra meaning or format guidance beyond the schema; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('döndürür') and resource ('en yakın nöbetçi eczaneler'), specifies the scope (Türkiye ve KKTC), the input basis (enlem/boylam), the sorting (yakından uzağa) and the returned fields. It is clearly distinguishable from a generic list tool by its reliance on coordinates and distance ranking, but it does not explicitly reference the sibling tool to reinforce the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating it requires latitude/longitude and returns nearest pharmacies, and it gives a post-call instruction to share pageUrl for phone/hours/directions. However, it offers no explicit guidance on when to use this tool instead of the sibling 'nobetci_eczane_listele' or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nobetci_eczane_listeleNöbetçi eczaneleri listeleARead-onlyIdempotentInspect
Türkiye (81 il) ve KKTC'de bir il ve isteğe bağlı ilçe için güncel nöbet günündeki nöbetçi eczaneleri döndürür: eczane adı, il, ilçe ve adres. Telefon, nöbet saatleri ve yol tarifi için her kayıttaki sayfaUrl'yi kullanıcıya verin. Nöbet günü her sabah 09:00'da (Türkiye saati) değişir.
| Name | Required | Description | Default |
|---|---|---|---|
| il | Yes | İl adı, slug'ı veya plaka kodu: 'İstanbul', 'istanbul', '34'. KKTC için 'kktc'. | |
| ilce | No | İsteğe bağlı ilçe adı: 'Kadıköy' veya 'kadikoy'. Boş bırakılırsa il geneli döner. | |
| limit | No | Döndürülecek en fazla eczane sayısı (1-100, varsayılan 30). |
Output Schema
| Name | Required | Description |
|---|---|---|
| not | Yes | |
| konum | Yes | |
| kaynak | Yes | |
| sayfaUrl | Yes | |
| eczaneler | Yes | |
| nobetGunu | Yes | |
| donenEczane | Yes | |
| toplamEczane | Yes | |
| gecerlilikBitis | Yes | |
| gecerlilikBaslangic | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds genuinely non-schema behavior: the duty day rolls over every morning at 09:00 Türkiye time, which is critical for freshness expectations, and it points to pageUrl for supplementary data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each carrying distinct payload: what it returns, how to use the results, and the duty-day refresh cutoff. Front-loaded with the capability and no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists so the field list is somewhat redundant, but the freshness caveat (09:00 rollover) and the pageUrl delegation note are the right things to include. Only the missing sibling routing keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — il accepts name/slug/plate code and 'kktc', ilce is optional, limit is 1-100 with default 30 — all documented in the schema. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('nöbetçi eczaneleri döndürür') plus coverage scope (81 provinces of Türkiye and KKTC) and the exact fields returned (name, province, district, address). It does not name or contrast with the sibling en_yakin_nobetci_eczane, so the agent must infer that this is the province/district listing rather than the nearest-pharmacy lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear operating context: ilce is optional and empty means province-wide, and the result-usage directive 'use pageUrl for phone/hours/directions' tells the agent what to do with each record. It stops short of an explicit exclusion ('if you have coordinates use en_yakin_nobetci_eczane'), which is the one guidance gap.
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.
2 tool updates
- Changed
en_yakin_nobetci_eczane10 fields changed- removed
Output schema / properties / eczaneler / items / properties / bilgiRemoved value: -{ - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / eczaneler / items / properties / boylamRemoved value: -{ - "type": [ - "number", - "null" - ] -} - removed
Output schema / properties / eczaneler / items / properties / enlemRemoved value: -{ - "type": [ - "number", - "null" - ] -} - removed
Output schema / properties / eczaneler / items / properties / mesafeKmRemoved value: -{ - "type": [ - "number", - "null" - ] -} - removed
Output schema / properties / eczaneler / items / properties / nobetBaslangicRemoved value: -{ - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / eczaneler / items / properties / nobetBitisRemoved value: -{ - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / eczaneler / items / properties / semtRemoved value: -{ - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / eczaneler / items / properties / tarifRemoved value: -{ - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / eczaneler / items / properties / telefonRemoved value: -{ - "type": [ - "string", - "null" - ] -} - changed
Output schema / properties / eczaneler / items / requiredPrevious value: -[ - "ad", - "il", - "ilce", - "semt", - "adres", - "tarif", - "telefon", - "enlem", - "boylam", - "nobetBaslangic", - "nobetBitis", - "icap", - "bilgi", - "mesafeKm", - "sayfaUrl" -]New value: +[ + "ad", + "il", + "ilce", + "adres", + "icap", + "sayfaUrl" +]
- Changed
nobetci_eczane_listele10 fields changed- removed
Output schema / properties / eczaneler / items / properties / bilgiRemoved value: -{ - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / eczaneler / items / properties / boylamRemoved value: -{ - "type": [ - "number", - "null" - ] -} - removed
Output schema / properties / eczaneler / items / properties / enlemRemoved value: -{ - "type": [ - "number", - "null" - ] -} - removed
Output schema / properties / eczaneler / items / properties / mesafeKmRemoved value: -{ - "type": [ - "number", - "null" - ] -} - removed
Output schema / properties / eczaneler / items / properties / nobetBaslangicRemoved value: -{ - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / eczaneler / items / properties / nobetBitisRemoved value: -{ - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / eczaneler / items / properties / semtRemoved value: -{ - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / eczaneler / items / properties / tarifRemoved value: -{ - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / eczaneler / items / properties / telefonRemoved value: -{ - "type": [ - "string", - "null" - ] -} - changed
Output schema / properties / eczaneler / items / requiredPrevious value: -[ - "ad", - "il", - "ilce", - "semt", - "adres", - "tarif", - "telefon", - "enlem", - "boylam", - "nobetBaslangic", - "nobetBitis", - "icap", - "bilgi", - "mesafeKm", - "sayfaUrl" -]New value: +[ + "ad", + "il", + "ilce", + "adres", + "icap", + "sayfaUrl" +]
2 tool updates
- First observed
en_yakin_nobetci_eczane - First observed
nobetci_eczane_listele
Related MCP Connectors
Turkish data APIs as MCP tools: pharmacies, fuel, FX, gold, crypto, weather, prayer times, news.
Turkish case law, updated daily: 11.5M decisions, citation check, statute map, deep research.
Real drink prices in Turkish bars: cheapest by district, live happy hours, venues near you.
Which drugs are in shortage right now? FDA shortage status, reasons and availability.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI assistants to search Türkiye's TİTCK-licensed human drug lists, find generic equivalents, and check licence and e-prescription status, including weekly changes.61MIT
- AlicenseAqualityDmaintenanceA drug and clinical information MCP server for Turkish healthcare professionals, integrating TİTCK, SGK, openFDA, and PubMed data with ChatGPT and Claude.182MIT
- AlicenseNot gradedqualityCmaintenanceEnables searching 580K+ Turkish businesses and 90K+ mosques by name, city, category, or attributes, retrieving full details and canonical profile URLs. It lets AI agents answer location and business questions about Turkey with current, sourced data.MIT
- AlicenseNot gradedqualityDmaintenanceEnables 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.3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.