Skip to main content
Glama
saidsurucu

YOKATLAS API MCP Server

by saidsurucu

YOKATLAS MCP: Türk Yükseköğretim Atlası için MCP Sunucusu

Bu proje, YÖKATLAS verilerine erişimi kolaylaştıran bir FastMCP sunucusu oluşturur. Bu sayede, YÖKATLAS'tan lisans ve önlisans program arama ve detaylı istatistik getirme işlemleri, Model Context Protocol (MCP) destekleyen LLM (Büyük Dil Modeli) uygulamaları (örneğin Claude Desktop veya 5ire) ve diğer istemciler tarafından araç (tool) olarak kullanılabilir hale gelir.

YOKATLAS MCP Örneği

🎯 Temel Özellikler

  • YÖKATLAS tercih kılavuzu JSON API'sine programatik erişim için standart bir MCP arayüzü.

  • Aşağıdaki yetenekler:

    • Birleşik Akıllı Arama: Lisans + önlisans tek arama; fuzzy matching ile üniversite/program/il adı çözümlemesi (örn: "boğaziçi" → "BOĞAZİÇİ ÜNİVERSİTESİ")

    • 4 Yıllık İstatistik: Her programa ait kontenjan, yerleşen, taban puanı, başarı sırası, akademik kadro ve KPSS verileri tek seferde (current + 3 history)

    • Net Sihirbazı: Son yerleşen kişinin ders bazında net sayıları (TYT/AYT/YDT), taban puan, OBP ve katsayı

    • Lookup Araçları: Üniversite, program grubu ve il listelerine doğrudan erişim

    • Filtreleme: Puan türü (SAY/SÖZ/EA/DİL/TYT), üniversite türü (DEVLET/VAKIF), başarı sırası aralığı, sayfalama ve sıralama

  • Claude Desktop uygulaması ile fastmcp install komutu (veya manuel yapılandırma) kullanılarak kolay entegrasyon.

  • YOKATLAS MCP 5ire gibi Claude Desktop haricindeki MCP istemcilerini de destekler.

⚠️ v0.6.0 Breaking Change — YÖK Atlas Nisan 2026'da React tabanlı SPA'ya geçti, eski HTML scraping endpoint'leri ve detaylı atlas verileri (cinsiyet/lise alanı dağılımı, akademisyen ünvan dağılımı, KPSS yıllara göre, vb.) site genelinden kaldırıldı. Bu MCP yeni JSON API'ye karşı yazıldı; sadece resmî API'nin sunduğu temel istatistikler döner.


🚀 5 Dakikada Başla (Remote MCP)

✅ Kurulum Gerektirmez! Hemen Kullan!

🔗 Remote MCP Adresi: https://yokatlasmcp.fastmcp.app/mcp

Claude Desktop ile Kullanım

  1. Claude Desktop'ı açın

  2. Settings → Connectors → Add Custom Connector

  3. Bilgileri girin:

    • Name: YOKATLAS MCP

    • URL: https://yokatlasmcp.fastmcp.app/mcp

  4. Add butonuna tıklayın

  5. Hemen kullanmaya başlayın! 🎉

Google Antigravity ile Kullanım

  1. Agent session açın ve editörün yan panelindeki "…" dropdown menüsüne tıklayın

  2. MCP Servers seçeneğini seçin - MCP Store açılacak

  3. Üstteki Manage MCP Servers butonuna tıklayın

  4. View raw config seçeneğine tıklayın

  5. mcp_config.json dosyasına aşağıdaki yapılandırmayı ekleyin:

{
  "mcpServers": {
    "yokatlas-mcp": {
      "serverUrl": "https://yokatlasmcp.fastmcp.app/mcp/",
      "headers": {
        "Content-Type": "application/json"
      }
    }
  }
}

💡 İpucu: Remote MCP sayesinde Python, uv veya herhangi bir kurulum yapmadan doğrudan Claude Desktop üzerinden YÖKATLAS verilerine erişebilirsiniz!


Related MCP server: YokTez MCP

🚀 Claude Haricindeki Modellerle Kullanmak İçin Çok Kolay Kurulum (Örnek: 5ire için)

Bu bölüm, YOKATLAS MCP aracını 5ire gibi Claude Desktop dışındaki MCP istemcileriyle kullanmak isteyenler içindir.

  • Python Kurulumu: Sisteminizde Python 3.12 kurulu olmalıdır. Kurulum sırasında "Add Python to PATH" (Python'ı PATH'e ekle) seçeneğini işaretlemeyi unutmayın. Buradan indirebilirsiniz.

  • Git Kurulumu (Windows): Bilgisayarınıza git yazılımını indirip kurun. "Git for Windows/x64 Setup" seçeneğini indirmelisiniz.

  • uv Kurulumu:

    • Windows Kullanıcıları (PowerShell): Bir CMD ekranı açın ve bu kodu çalıştırın: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

    • Mac/Linux Kullanıcıları (Terminal): Bir Terminal ekranı açın ve bu kodu çalıştırın: curl -LsSf https://astral.sh/uv/install.sh | sh

  • Microsoft Visual C++ Redistributable (Windows): Bazı Python paketlerinin doğru çalışması için gereklidir. Buradan indirip kurun.

  • İşletim sisteminize uygun 5ire MCP istemcisini indirip kurun.

  • 5ire'ı açın. Workspace -> Providers menüsünden kullanmak istediğiniz LLM servisinin API anahtarını girin.

  • Tools menüsüne girin. +Local veya New yazan butona basın.

    • Tool Key: yokatlasmcp

    • Name: YOKATLAS MCP

    • Command:

      uvx --from git+https://github.com/saidsurucu/yokatlas-mcp yokatlas-mcp
    • Save butonuna basarak kaydedin.

  • Şimdi Tools altında YOKATLAS MCP'yi görüyor olmalısınız. Üstüne geldiğinizde sağda çıkan butona tıklayıp etkinleştirin (yeşil ışık yanmalı).

  • Artık YOKATLAS MCP ile konuşabilirsiniz.


⚙️ Claude Desktop Manuel Kurulumu

  1. Ön Gereksinimler: Python, uv, (Windows için) Microsoft Visual C++ Redistributable'ın sisteminizde kurulu olduğundan emin olun. Detaylı bilgi için yukarıdaki "5ire için Kurulum" bölümündeki ilgili adımlara bakabilirsiniz.

  2. Claude Desktop Settings -> Developer -> Edit Config.

  3. Açılan claude_desktop_config.json dosyasına mcpServers altına ekleyin:

    {
      "mcpServers": {
        "YOKATLAS MCP": {
          "command": "uvx",
          "args": [
            "--from", "git+https://github.com/saidsurucu/yokatlas-mcp",
            "yokatlas-mcp"
          ]
        }
      }
    }
  4. Claude Desktop'ı kapatıp yeniden başlatın.


🛠️ Kullanılabilir Araçlar (MCP Tools)

Bu FastMCP sunucusu LLM modelleri için aşağıdaki araçları sunar:

🔍 Arama

  • search_programs: Lisans + önlisans birleşik arama (akıllı fuzzy matching).

    • Parametreler:

      • degree_type: 'bachelor' (lisans) veya 'associate' (önlisans). Boş bırakılırsa ikisi de döner.

      • puan_turu: SAY, SÖZ/SOZ, EA, DİL/DIL, TYT (ASCII varyantlar otomatik normalize edilir).

      • universite, program, il: Smart fuzzy match (örn. "boğaziçi", "bilgisayar", "ankara").

      • universite_turu: DEVLET veya VAKIF.

      • kilavuz_kodu: int — tek programa filtre (eski "atlas detayı" use-case'i için).

      • min_basari_sirasi, max_basari_sirasi: Başarı sırası aralığı.

      • page, size, sort_by, direction: Sayfalama ve sıralama (default: basariSirasi ASC, size=20, max size=500).

    • Döndürülen Veri: Her sonuç 4 yıllık istatistikleri (current + history) içerir: kontenjan, yerleşen, taban puanı, başarı sırası, KPSS skorları, akademik kadro sayıları.

  • search_netler: Net Sihirbazı — son yerleşen kişinin ders bazında net sayıları.

    • Parametreler:

      • universite, program: Smart fuzzy match (tekil değer, liste değil). program çözümlendiğinde, puan_turu açıkça belirtilmemişse eşleşen program grubundan otomatik doldurulur.

      • puan_turu: SAY, SÖZ/SOZ, EA, DİL/DIL, TYT.

      • universite_turu: DEVLET veya VAKIF.

      • yil: Belirli bir yıla filtrele (örn. 2024).

      • katsayi: Puan hesaplamasında kullanılan katsayıya göre filtrele.

      • page, size: Sayfalama (default: size=20, max size=500).

    • Döndürülen Veri: puan_turu'ye göre değişen net alanları (TYT her zaman var; SAY/SÖZ/EA/DİL kendi AYT/YDT alanlarını ekler), ayrıca katsayi, taban_puan, obp.

📚 Lookup Araçları

  • list_universities: YÖKATLAS'taki tüm üniversiteleri (universite_id, universite_adi) listeler.

  • list_program_groups: Tüm program gruplarını (birim_grup_id, birim_grup_adi, puan_turu) listeler — geçerli program filtre değerlerini keşfetmek için kullanın.

  • list_cities: 81 ili (il_kodu, il_adi) listeler.

🔄 v0.5 → v0.6 Migration

Eski API'den geçenler için kısaca:

Eski (v0.5)

Yeni (v0.6)

search_bachelor_degree_programs

search_programs(degree_type='bachelor', ...)

search_associate_degree_programs

search_programs(degree_type='associate', ...)

get_bachelor_degree_atlas_details(yop_kodu, year)

search_programs(kilavuz_kodu=N) (4 yıllık veri search içinde)

get_associate_degree_atlas_details(yop_kodu, year)

search_programs(kilavuz_kodu=N)

score_type

puan_turu (TYT eklendi)

fee_type / education_type / availability

Kaldırıldı (yeni API'de doğrudan karşılığı yok)

yop_kodu (str)

kilavuz_kodu (int)


📜 Lisans

Bu proje MIT Lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakınız.

Available Tools

4 tools
get_associate_degree_atlas_detailsA

Get comprehensive details for a specific associate degree program from YOKATLAS Atlas.

Parameters:

  • yop_kodu (str): Program YÖP code (e.g., '120910060')

  • year (int): Data year (e.g., 2024, 2023)

Returns detailed information including:

  • General program information and statistics

  • Quota, placement, and score data

  • Student demographics and distribution

  • Academic staff and facility information

  • Historical placement trends

ParametersJSON Schema
NameRequiredDescriptionDefault
yop_koduYesProgram YÖP code (e.g., '120910060') - unique identifier for the associate degree program
yearYesData year for statistics (e.g., 2024, 2023)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/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 of behavioral disclosure. It describes what information is returned (comprehensive details including multiple categories) which is helpful, but doesn't mention important behavioral aspects like whether this is a read-only operation, potential rate limits, authentication requirements, or error conditions. The description adds value but doesn't fully compensate for the lack of annotations.

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 well-structured and front-loaded with the core purpose, followed by parameter documentation and return value details. Every sentence earns its place by providing essential information without redundancy. The bulleted list of return categories is efficient and informative.

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?

Given that an output schema exists (though not shown here), the description doesn't need to fully explain return values. It provides a comprehensive overview of what information is returned through the bulleted list. However, for a tool with no annotations, it could benefit from more behavioral context about how the tool operates, potential limitations, or error handling.

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 description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds marginal value by providing examples ('e.g., 2024, 2023') and clarifying that yop_kodu is a 'unique identifier for the associate degree program' - though similar information exists in the schema. The description also provides context about what the parameters enable (getting data for a specific program in a specific year).

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 clearly states the specific action ('Get comprehensive details'), resource ('associate degree program from YOKATLAS Atlas'), and scope ('specific associate degree program'). It distinguishes from sibling tools by specifying associate degree programs (vs. bachelor degree tools) and details retrieval (vs. search 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?

The description provides clear context about when to use this tool (to get comprehensive details for a specific associate degree program when you have the YÖP code and year). However, it doesn't explicitly state when NOT to use it or mention alternatives like the search_associate_degree_programs tool for when you don't have the specific code.

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

get_bachelor_degree_atlas_detailsA

Get comprehensive details for a specific bachelor's degree program from YOKATLAS Atlas.

Parameters:

  • yop_kodu (str): Program YÖP code (e.g., '102210277')

  • year (int): Data year (e.g., 2024, 2023)

Returns detailed information including:

  • General program information and statistics

  • Quota, placement, and score data

  • Student demographics and distribution

  • Academic staff and facility information

  • Historical placement trends

ParametersJSON Schema
NameRequiredDescriptionDefault
yop_koduYesProgram YÖP code (e.g., '102210277') - unique identifier for the bachelor's degree program
yearYesData year for statistics (e.g., 2024, 2023)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/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 indicates this is a read operation ('Get') and lists the types of information returned, but doesn't disclose behavioral traits like rate limits, authentication needs, error conditions, or whether the data is real-time vs. cached. It adds some context about what data is included but lacks operational details.

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 well-structured and front-loaded with the core purpose. It uses bullet points efficiently to detail return information without redundancy. Every sentence earns its place by clarifying scope and outputs.

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

Completeness5/5

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

Given the tool's moderate complexity (2 parameters, read-only), 100% schema coverage, and the presence of an output schema (implied by 'Returns detailed information'), the description is complete enough. It specifies the resource scope, parameters, and return data types, which aligns well with the structured data provided.

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 description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds minimal value by listing parameters and providing examples, but doesn't explain semantics beyond what's in the schema (e.g., what YÖP code format entails). Baseline is 3, but it gets a point for reinforcing parameter importance with the examples.

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 clearly states the verb 'Get comprehensive details' and specifies the resource as 'a specific bachelor's degree program from YOKATLAS Atlas.' It distinguishes from sibling tools by focusing on bachelor's degree programs (vs. associate degree tools) and on retrieving details for a specific program (vs. search 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?

The description implies usage context by specifying it's for retrieving details of a specific bachelor's degree program, which differentiates it from search tools. However, it doesn't explicitly state when to use this tool versus alternatives like 'search_bachelor_degree_programs' or provide exclusions (e.g., not for associate degrees).

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

search_associate_degree_programsA

Search for associate degree (önlisans) programs with smart fuzzy matching and user-friendly parameters.

Smart Features:

  • Fuzzy university name matching (e.g., "anadolu" → "ANADOLU ÜNİVERSİTESİ")

  • Partial program name matching (e.g., "turizm" finds all tourism programs)

  • Intelligent parameter normalization

  • Type-safe validation

Parameters:

  • university: University name (fuzzy matching supported)

  • program: Program/department name (partial matching supported)

  • city: City name

  • university_type: Type of university (Devlet, Vakıf, etc.)

  • fee_type: Fee/scholarship information

  • education_type: Type of education (Örgün, İkinci, etc.)

  • results_limit: Maximum number of results to return

Note: Associate degree programs use TYT scores, not SAY/EA/SOZ/DIL like bachelor programs.

ParametersJSON Schema
NameRequiredDescriptionDefault
universityNoUniversity name with fuzzy matching support (e.g., 'anadolu' → 'ANADOLU ÜNİVERSİTESİ')
programNoProgram name with partial matching (e.g., 'turizm' finds all tourism programs)
cityNoCity name where the university is located
university_typeNoUniversity type: Devlet (State), Vakıf (Foundation), KKTC (TRNC), Yurt Dışı (International)
fee_typeNoFee status: Ücretsiz (Free), Ücretli (Paid), İÖ-Ücretli (Evening-Paid), Burslu (Scholarship), İndirimli (Discounted), AÖ-Ücretli (Open Education-Paid), UÖ-Ücretli (Distance Learning-Paid)
education_typeNoEducation type: Örgün (Regular), İkinci (Evening), Açıköğretim (Open Education), Uzaktan (Distance Learning)
availabilityNoProgram availability: Doldu (Filled), Doldu# (Filled with conditions), Dolmadı (Not filled), Yeni (New program)
results_limitNoMaximum number of results to return
yop_koduNo
uni_adiNo
program_adiNo
sehir_adiNo
universite_turuNo
ucret_bursNo
ogretim_turuNo
dolulukNo
ust_puanNo
alt_puanNo
pageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/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 of behavioral disclosure. It describes smart features like fuzzy matching, partial matching, normalization, and validation, which are useful behavioral traits. However, it doesn't mention performance characteristics (e.g., rate limits), error handling, or what the output looks like (though an output schema exists). It adequately covers search behavior but lacks broader operational context.

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 well-structured with sections for smart features, parameters, and a note, making it easy to scan. It's appropriately sized for a complex tool with 19 parameters. However, some redundancy exists (e.g., parameter explanations partially repeat schema descriptions), and the note about TYT scores could be more integrated.

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?

Given the complexity (19 parameters, low schema coverage, no annotations) and the presence of an output schema, the description is reasonably complete. It explains the tool's purpose, key parameters, and smart features, and the output schema handles return values. However, it doesn't fully address all parameters or provide usage examples, leaving some gaps for such a parameter-rich 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 description coverage is 42% (low), but the description compensates by listing and briefly explaining 7 key parameters (university, program, city, university_type, fee_type, education_type, results_limit) with examples. It adds meaning beyond the schema by grouping them and noting smart features like fuzzy/partial matching. However, it doesn't cover all 19 parameters, leaving some undocumented (e.g., yop_kodu, ust_puan).

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 clearly states the tool's purpose: 'Search for associate degree (önlisans) programs with smart fuzzy matching and user-friendly parameters.' It specifies the verb ('search'), resource ('associate degree programs'), and distinguishes from siblings by focusing on associate degrees versus bachelor degrees in sibling tools like 'search_bachelor_degree_programs'.

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?

The description provides clear context for when to use this tool: for searching associate degree programs, with a note that they use TYT scores, not SAY/EA/SOZ/DIL like bachelor programs. This implicitly distinguishes it from 'search_bachelor_degree_programs', but it doesn't explicitly state when not to use it or mention alternatives like 'get_associate_degree_atlas_details' for detailed information.

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

search_bachelor_degree_programsB

Search for bachelor's degree programs with smart fuzzy matching and user-friendly parameters.

Smart Features:

  • Fuzzy university name matching (e.g., "boğaziçi" → "BOĞAZİÇİ ÜNİVERSİTESİ")

  • Partial program name matching (e.g., "bilgisayar" finds all computer programs)

  • Intelligent parameter normalization

  • Type-safe validation

Parameters:

  • university: University name (fuzzy matching supported)

  • program: Program/department name (partial matching supported)

  • city: City name

  • score_type: Score type (SAY, EA, SOZ, DIL)

  • university_type: Type of university (Devlet, Vakıf, etc.)

  • fee_type: Fee/scholarship information

  • education_type: Type of education (Örgün, İkinci, etc.)

  • results_limit: Maximum number of results to return

ParametersJSON Schema
NameRequiredDescriptionDefault
universityNoUniversity name with fuzzy matching support (e.g., 'boğaziçi' → 'BOĞAZİÇİ ÜNİVERSİTESİ')
programNoProgram/department name with partial matching (e.g., 'bilgisayar' finds all computer programs)
cityNoCity name where the university is located
score_typeNoScore type
university_typeNoUniversity type
fee_typeNoFee status: Ücretsiz (Free), Ücretli (Paid), İÖ-Ücretli (Evening-Paid), Burslu (Scholarship), İndirimli (Discounted), AÖ-Ücretli (Open Education-Paid), UÖ-Ücretli (Distance Learning-Paid)
education_typeNoEducation type: Örgün (Regular), İkinci (Evening), Açıköğretim (Open Education), Uzaktan (Distance Learning)
availabilityNoProgram availability: Doldu (Filled), Doldu# (Filled with conditions), Dolmadı (Not filled), Yeni (New program)
results_limitNoMaximum number of results to return
uni_adiNo
program_adiNo
sehirNo
puan_turuNo
universite_turuNo
ucret_bursNo
ogretim_turuNo
lengthNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It describes smart matching features (fuzzy, partial) and intelligent parameter normalization, which are valuable behavioral insights. However, it doesn't disclose important aspects like rate limits, authentication requirements, error handling, or whether this is a read-only operation (though 'search' implies it likely is).

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 well-structured with clear sections (overview, smart features, parameters). It's appropriately sized for a complex tool with many parameters. Some redundancy exists between the parameter explanations and schema descriptions, but overall it's efficient and front-loaded with the most important 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 complex tool with 17 parameters, 53% schema coverage, and no annotations, the description does a reasonable job explaining the core functionality and primary parameters. However, it doesn't address the many additional parameters in the schema (uni_adi, program_adi, etc.), and while an output schema exists, the description provides no context about result format or structure.

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?

With schema description coverage at only 53%, the description compensates well by listing and briefly explaining all 8 primary parameters with practical examples. It clarifies matching behavior for university, program, and city parameters, and explains the purpose of results_limit. However, it doesn't cover the 9 additional parameters (uni_adi, program_adi, etc.) that appear 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?

The description clearly states the tool searches for bachelor's degree programs with specific smart features. It distinguishes from sibling tools by focusing on bachelor's degrees (vs. associate degrees in siblings), but doesn't explicitly contrast with 'get_bachelor_degree_atlas_details' which appears to be a detail retrieval tool rather than a search tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'get_bachelor_degree_atlas_details' or 'search_associate_degree_programs'. It mentions smart features but doesn't explain when these features are beneficial or when other tools might be more appropriate.

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. Dates show when Glama detected each change.

  1. 4 tool updatesv1.0.0
    • Changedget_associate_degree_atlas_details2 fields changed
      • removedInput schema / properties / year / title
        Removed value: -"Year"
      • removedInput schema / properties / yop_kodu / title
        Removed value: -"Yop Kodu"
    • Changedget_bachelor_degree_atlas_details2 fields changed
      • removedInput schema / properties / year / title
        Removed value: -"Year"
      • removedInput schema / properties / yop_kodu / title
        Removed value: -"Yop Kodu"
    • Changedsearch_associate_degree_programs19 fields changed
      • removedInput schema / properties / alt_puan / title
        Removed value: -"Alt Puan"
      • removedInput schema / properties / availability / title
        Removed value: -"Availability"
      • removedInput schema / properties / city / title
        Removed value: -"City"
      • removedInput schema / properties / doluluk / title
        Removed value: -"Doluluk"
      • removedInput schema / properties / education_type / title
        Removed value: -"Education Type"
      • removedInput schema / properties / fee_type / title
        Removed value: -"Fee Type"
      • removedInput schema / properties / ogretim_turu / title
        Removed value: -"Ogretim Turu"
      • removedInput schema / properties / page / title
        Removed value: -"Page"
      • removedInput schema / properties / program / title
        Removed value: -"Program"
      • removedInput schema / properties / program_adi / title
        Removed value: -"Program Adi"
      • removedInput schema / properties / results_limit / title
        Removed value: -"Results Limit"
      • removedInput schema / properties / sehir_adi / title
        Removed value: -"Sehir Adi"
      • removedInput schema / properties / ucret_burs / title
        Removed value: -"Ucret Burs"
      • removedInput schema / properties / uni_adi / title
        Removed value: -"Uni Adi"
      • removedInput schema / properties / universite_turu / title
        Removed value: -"Universite Turu"
      • removedInput schema / properties / university / title
        Removed value: -"University"
      • removedInput schema / properties / university_type / title
        Removed value: -"University Type"
      • removedInput schema / properties / ust_puan / title
        Removed value: -"Ust Puan"
      • removedInput schema / properties / yop_kodu / title
        Removed value: -"Yop Kodu"
    • Changedsearch_bachelor_degree_programs17 fields changed
      • removedInput schema / properties / availability / title
        Removed value: -"Availability"
      • removedInput schema / properties / city / title
        Removed value: -"City"
      • removedInput schema / properties / education_type / title
        Removed value: -"Education Type"
      • removedInput schema / properties / fee_type / title
        Removed value: -"Fee Type"
      • removedInput schema / properties / length / title
        Removed value: -"Length"
      • removedInput schema / properties / ogretim_turu / title
        Removed value: -"Ogretim Turu"
      • removedInput schema / properties / program / title
        Removed value: -"Program"
      • removedInput schema / properties / program_adi / title
        Removed value: -"Program Adi"
      • removedInput schema / properties / puan_turu / title
        Removed value: -"Puan Turu"
      • removedInput schema / properties / results_limit / title
        Removed value: -"Results Limit"
      • removedInput schema / properties / score_type / title
        Removed value: -"Score Type"
      • removedInput schema / properties / sehir / title
        Removed value: -"Sehir"
      • removedInput schema / properties / ucret_burs / title
        Removed value: -"Ucret Burs"
      • removedInput schema / properties / uni_adi / title
        Removed value: -"Uni Adi"
      • removedInput schema / properties / universite_turu / title
        Removed value: -"Universite Turu"
      • removedInput schema / properties / university / title
        Removed value: -"University"
      • removedInput schema / properties / university_type / title
        Removed value: -"University Type"
  2. 4 tool updates
    • First observedget_associate_degree_atlas_details
    • First observedget_bachelor_degree_atlas_details
    • First observedsearch_associate_degree_programs
    • First observedsearch_bachelor_degree_programs

TDQS

A4.1/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: two tools retrieve detailed information for specific programs (associate vs bachelor degrees), while two tools search for programs (associate vs bachelor degrees). The degree level distinction prevents any ambiguity between tools.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with clear action prefixes (get_ for retrieval, search_ for searching) and descriptive suffixes that indicate the degree type and function. The naming is perfectly uniform across all four tools.

Tool Count5/5

Four tools is ideal for this server's scope of providing YOKATLAS university program data. It covers both associate and bachelor degrees with complementary search and detail retrieval functions, making each tool essential without redundancy.

Completeness5/5

The tool set provides complete coverage for the domain: users can search for programs (both associate and bachelor degrees) and retrieve comprehensive details for specific programs. This covers the core workflow of discovering and examining university programs without any apparent gaps.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables searching the YÖK National Thesis Center and retrieving thesis contents in Markdown format for LLM applications. It allows users to perform detailed searches based on criteria like author, university, and subject while providing programmatic access to thesis metadata and PDF content.
    125
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/saidsurucu/yokatlas-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server