<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: AtmosAI</title>
    <description>The latest articles on DEV Community by AtmosAI (@atmosai).</description>
    <link>https://dev.to/atmosai</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11576%2F7560d42e-6b7b-4e11-810e-df734eded347.png</url>
      <title>DEV Community: AtmosAI</title>
      <link>https://dev.to/atmosai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/atmosai"/>
    <language>en</language>
    <item>
      <title>Model Context Protocol (MCP)</title>
      <dc:creator>Emre ÇALIŞIR</dc:creator>
      <pubDate>Sun, 14 Sep 2025 11:10:08 +0000</pubDate>
      <link>https://dev.to/atmosai/model-context-protocol-mcp-3l9a</link>
      <guid>https://dev.to/atmosai/model-context-protocol-mcp-3l9a</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Yapay zekâ ve büyük dil modelleri (LLM’ler) giderek daha kritik roller üstleniyor. Ancak bu modelleri gerçek dünyanın dinamik verileriyle güvenli ve sürdürülebilir biçimde entegre etmek çoğu zaman gereksiz karmaşıklık yaratıyor. Bu makale, söz konusu karmaşıklığı sistematik olarak azaltan Model Context Protocol’ü (MCP) ele alıyor; ardından Python ile Transfermarkt verisine erişen bir MCP sunucusunu geliştirerek yaklaşımı uygulamada gösteriyor.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Model Bağlam Protokolü (MCP) Nedir?
&lt;/h2&gt;

&lt;p&gt;En basit tanımıyla MCP, Büyük Dil Modelleri (LLM’ler) ile harici veri kaynakları arasında bir köprü görevi gören standart bir protokoldür. Bu protokol sayesinde, yapay zeka asistanları önceden tanımlanmış ve izin verilmiş bilgilere (dosyalar, e-postalar, veritabanları veya API’ler gibi) güvenli bir şekilde erişebilir.&lt;/p&gt;

&lt;p&gt;Bunu, yapay zeka asistanınıza özel bir kütüphane veya bir “knowledge base” vermek gibi düşünebilirsiniz. Siz hangi kitaplara (veri kaynaklarına) erişebileceğini belirlersiniz, o da ihtiyaç duyduğunda bu kütüphaneden ilgili bilgiyi çekip kullanır. Bizim geliştirdiğim uygulamada olduğu gibi, Transfermarkt’tan bilgileri çeken bir API’yi bu “kütüphaneye” eklediğinizde, model artık futbol dünyası hakkında her zaman güncel ve zengin bir bilgiye sahip olur.&lt;/p&gt;

&lt;h2&gt;
  
  
  MCP Mimarisi
&lt;/h2&gt;

&lt;p&gt;MCP’nin çalışma mantığı oldukça basittir ve üç ana bileşenden oluşur:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;İstemci (Client):&lt;/strong&gt; Bu bileşen, sizin kullandığınız yapay zeka uygulamasıdır. Örneğin, bizim projemdeki Claude Desktop uygulaması bir istemcidir. Kullanıcı, sorgusunu bu arayüz üzerinden yapar.&lt;br&gt;
&lt;strong&gt;MCP Sunucusu (MCP Server):&lt;/strong&gt; Bu bileşen, veri kaynakları ile etkileşim sürecini yönetir. Öncelikle, gelen isteği analiz ederek hangi özel aracın kullanılması gerektiğini belirler. Daha sonrasında bu aracı kullanarak veri kaynağından bilgiyi çeker. Python ile geliştirdiğimiz Transfermarkt MCP sunucusu tam olarak bu görevi üstlenir. Sunucu, kaynaktan aldığı veriyi işleyerek yapay zeka modelinin anlayabileceği bir formata dönüştürür ve modele iletir.&lt;br&gt;
&lt;strong&gt;Veri Kaynağı:&lt;/strong&gt; Bu, yapay zekanın eriştiği her türlü harici bilgi kaynağıdır. Bir API, bir veritabanı, bir dosya sistemi veya herhangi bir web hizmeti olabilir.&lt;/p&gt;


    &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frl9g5thgi081v34glqb8.webp" alt="MCP Architecture"&gt;https://www.descope.com/learn/post/mcp




&lt;p&gt;&lt;strong&gt;Süreç şu şekilde işler:&lt;/strong&gt; Siz istemci üzerinden bir soru sorduğunuzda (“&lt;a href="https://claude.ai/share/d6e773da-9c29-4a83-8ace-8d18d4e25abb" rel="noopener noreferrer"&gt;Lionel Messi’nin güncel piyasa değeri nedir?&lt;/a&gt;”), istek MCP sunucusuna gider. Sunucu, bu isteği işlemek için Transfermarkt API aracını kullanması gerektiğini anlar, API’den veriyi çeker ve bu bilgiyi “bağlam” olarak modele sunar. Model de bu taze ve doğru bilgiyle size net bir cevap verir.&lt;/p&gt;


&lt;h2&gt;
  
  
  Transfermarkt MCP Server Uygulaması
&lt;/h2&gt;

&lt;p&gt;Bu uygulama, Transfermarkt verisini sağlayan mevcut bir API’yi Python ile &lt;strong&gt;MCP sunucusuna&lt;/strong&gt; dönüştürüp Claude Desktop üzerinden doğal dille (oyuncu arama, takım kadrosu ve istatistikler) sorgulamak için oluşturuldu.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Temel Özellikler&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;🔍 Kulüp Arama ve Analizi&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kulüp ismine göre arama yapabilme&lt;/li&gt;
&lt;li&gt;Detaylı kulüp profili bilgilerine erişim&lt;/li&gt;
&lt;li&gt;Kulüp oyuncu kadrosu listeleme&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;⚽ Oyuncu Veritabanı&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Oyuncu ismine göre arama&lt;/li&gt;
&lt;li&gt;Detaylı oyuncu profilleri&lt;/li&gt;
&lt;li&gt;Sezon bazında filtreleme&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🏆 Lig ve Turnuva Bilgileri&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lig ve turnuva arama ve listeleme&lt;/li&gt;
&lt;li&gt;Belirli bir ligde yer alan kulüplerin listesi&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Mimari ve Tasarım
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Server Katmanı:&lt;/strong&gt; FastMCP framework’ü kullanarak MCP protokolünü implement eder&lt;br&gt;
&lt;strong&gt;Client Katmanı:&lt;/strong&gt; Transfermarkt API’si ile iletişimi yönetir&lt;br&gt;
&lt;strong&gt;Tools Katmanı:&lt;/strong&gt; Farklı veri türleri için özelleşmiş araçlar (kulüpler, oyuncular, liglerle turnuvalar)&lt;br&gt;
&lt;strong&gt;Configuration:&lt;/strong&gt; Esnek yapılandırma yönetimi&lt;/p&gt;
&lt;h2&gt;
  
  
  Araç Kategorileri
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Kulüp Araçları&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“search_clubs”: Kulüp arama&lt;/li&gt;
&lt;li&gt;“get_club_profile”: Kulüp detay bilgileri&lt;/li&gt;
&lt;li&gt;“get_club_players”: Kulüp oyuncu kadrosu&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Lig ve Turnuva Araçları&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“search_competitions”: Lig ve turnuva arama&lt;/li&gt;
&lt;li&gt;“get_competition_clubs”: Ligde yer alan kulüpler&lt;/li&gt;
&lt;li&gt;“get_competition_details”: Lig detayları bilgileri&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Oyuncu Araçları&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“search_players”: Oyuncu arama&lt;/li&gt;
&lt;li&gt;“get_player_by_id”: Oyuncu detay bilgileri&lt;/li&gt;
&lt;li&gt;“get_player_by_profile”: Oyuncu detay bilgileri&lt;/li&gt;
&lt;li&gt;“get_player_transfers”: Oyuncu transfer geçmişi&lt;/li&gt;
&lt;li&gt;“get_player_stats”: Oyuncu performans istatistikleri&lt;/li&gt;
&lt;li&gt;“get_player_market_value”: Oyuncu piyasa değeri geçmişi&lt;/li&gt;
&lt;li&gt;“get_player_injuries”: Oyuncu sakatlık geçmişi&lt;/li&gt;
&lt;li&gt;“get_player_jersey_numbers”: Oyuncu forma numarası&lt;/li&gt;
&lt;li&gt;“get_player_achievements”: Oyuncunun başarıları ve ödülleri&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bu makale, Transfermarkt MCP Server projesinin teknik ve kullanım açısından genel bir değerlendirmesini sunmaktadır. Futbol veri analitiği ve Model Context Protocol hakkında daha fazla bilgi için ilgili teknik dokümantasyonları inceleyebilirsiniz.&lt;/p&gt;


&lt;h2&gt;
  
  
  Proje Kaynak Kodu ve Kurulum:
&lt;/h2&gt;

&lt;p&gt;Tüm kaynak kodlarına, detaylı kurulum adımlarına aşağıdaki GitHub linki üzerinden ulaşabilirsiniz.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/emreclsr" rel="noopener noreferrer"&gt;
        emreclsr
      &lt;/a&gt; / &lt;a href="https://github.com/emreclsr/transfermarkt-mcp" rel="noopener noreferrer"&gt;
        transfermarkt-mcp
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      MCP Server for Transfermarkt API
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Transfermarkt MCP Server&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;A Model Context Protocol (MCP) server for accessing Transfermarkt football data.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;🔍 Search football clubs by name&lt;/li&gt;
&lt;li&gt;📊 Get detailed club profiles&lt;/li&gt;
&lt;li&gt;👥 Retrieve club player rosters&lt;/li&gt;
&lt;li&gt;🏆 Search and get competition information&lt;/li&gt;
&lt;li&gt;⚽ Search for individual players&lt;/li&gt;
&lt;li&gt;📄 Pagination support for search results&lt;/li&gt;
&lt;li&gt;🔧 Season-based filtering for players&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Installation&lt;/h2&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Clone the repository:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;git clone https://github.com/emreclsr/transfermarkt-mcp.git
&lt;span class="pl-c1"&gt;cd&lt;/span&gt; transfermarkt-mcp&lt;/pre&gt;

&lt;/div&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Install dependencies:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;pip install -r requirements.txt&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;or&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;poetry install&lt;/pre&gt;

&lt;/div&gt;
&lt;ol start="3"&gt;
&lt;li&gt;Set up environment variables:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;cp .env.example .env
&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Edit .env with your API configuration&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Configuration&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Create a &lt;code&gt;.env&lt;/code&gt; file with:&lt;/p&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;TRANSFERMARKT_API_BASE_URL=https://transfermarkt-api.fly.dev
LOG_LEVEL=INFO
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Usage&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Running the MCP Server&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;python -m src.transfermarkt_mcp.main&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Available Tools&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h4 class="heading-element"&gt;Club Tools&lt;/h4&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;search_clubs(club_name, page_number=1)&lt;/code&gt; - Search for clubs&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;get_club_profile(club_id)&lt;/code&gt; - Get club details&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;get_club_players(club_id, season_id=None)&lt;/code&gt; - Get club players&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h4 class="heading-element"&gt;Competition Tools&lt;/h4&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;search_competitions(competition_name, page_number=1)&lt;/code&gt; - Search for competitions by name&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;get_competition_clubs(competition_id)&lt;/code&gt; - Get all clubs participating in a specific competition&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h4 class="heading-element"&gt;Player Tools&lt;/h4&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;search_players(player_name, page_number=1)&lt;/code&gt; - Search for players…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/emreclsr/transfermarkt-mcp" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  Örnek Kullanım Senaryoları:
&lt;/h2&gt;

&lt;p&gt;1- “&lt;a href="https://claude.ai/share/cc1c1d28-9287-46e9-95c4-3652d6ab3285" rel="noopener noreferrer"&gt;Messi’nin transfer olduğu takımlar neler ?&lt;/a&gt; ”&lt;/p&gt;

&lt;p&gt;2- “&lt;a href="https://claude.ai/share/ba0626a1-9140-48ab-8d33-52a5936fb325" rel="noopener noreferrer"&gt;Yarın oynanacak olan Fenerbahçe Trabzonspor maçında hangi oyuncular sakatlık nedeniyle oynayamayacak&lt;/a&gt;”&lt;/p&gt;

&lt;p&gt;3- “&lt;a href="https://claude.ai/share/2296f215-bd97-4204-be38-f298bc36c211" rel="noopener noreferrer"&gt;Alex de Souza’nın futbol başarıları nelerdir ?&lt;/a&gt; ”&lt;/p&gt;

&lt;p&gt;4- “&lt;a href="https://claude.ai/share/52a7e732-c87f-4cbc-aac5-9e0dceebce24" rel="noopener noreferrer"&gt;Beşiktaş sol kanat oyuncularının 2024–2025 sezonu gol asist sayıları nelerdir ?&lt;/a&gt; ”&lt;/p&gt;

&lt;h3&gt;
  
  
  Yazarlar
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a class="mentioned-user" href="https://dev.to/ezell"&gt;@ezell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a class="mentioned-user" href="https://dev.to/clsr_emre"&gt;@clsr_emre&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>llm</category>
      <category>api</category>
    </item>
  </channel>
</rss>
