Java SDK ile MCP Sunucusu Nasıl Kurulur

Ashley Goolam

Ashley Goolam

4 August 2025

Java SDK ile MCP Sunucusu Nasıl Kurulur

Merhaba, Java meraklıları! Yapay zeka projelerinizi özel bir Java MCP Sunucusu ile süper şarj etmek ister misiniz? Model Bağlam Protokolü (MCP), Claude veya Cursor gibi yapay zeka modellerinin verilerinize kolayca erişmesini sağlar ve Java SDK ile bunu gerçekleştirmek için hafif bir sunucu oluşturabilirsiniz. Bu eğitimde, sunum verilerini yapay zeka asistanlarıyla paylaşmak için bir Java MCP Sunucusu oluşturacağız. Kurulum, test etme ve sunucunuzu genişletme konularında size yol göstererek eğlenceli, sohbet tarzında ve yeni başlayanlar için dostane bir dil kullanacağız. Hadi başlayalım!

💡
Harika bir API Test aracı mı istiyorsunuz ki bu araç aynı zamanda güzel API Dokümantasyonu da üretsin?

Geliştirici Ekibinizin maksimum verimlilikle birlikte çalışabileceği entegre, Hepsi Bir Arada bir platform mu istiyorsunuz?

Apidog tüm taleplerinizi karşılar ve Postman'ı çok daha uygun bir fiyata değiştirir!
button

Java MCP Sunucusu Nedir?

Bir Java MCP Sunucusu, verileri yapay zeka modellerine sunmak için Model Bağlam Protokolü (MCP) kullanan şık bir Java uygulamasıdır. Bu, yapay zekanıza uygulamanızın bilgilerine VIP geçiş kartı vermek gibidir; bizimki oyun verilerini paylaşacak, ancak bunu her şey için özelleştirebilirsiniz. Sunucu, yapay zeka asistanlarının çağırabileceği araçlar oluşturmak için MCP Java SDK'sını kullanır; örneğin, bir oyun listesi getirme veya başlığa göre arama yapma gibi. Verilerinizi yapay zeka istemcileriyle entegre etmek için mükemmeldir ve Spring Boot ile Maven ile kurulumu son derece kolaydır.

istemci sunucu mcp bağlantısı

Java MCP Sunucusu Oluşturmak İçin Adım Adım Kılavuz

Önkoşullar

Başlamadan önce şunlara sahip olduğunuzdan emin olun:

Adım 1: Projeyi Oluşturma veya Klonlama

Mevcut bir depoyu klonlayabilir veya sıfırdan bir proje oluşturabilirsiniz.

Seçenek 1: Depoyu Klonlama (Önerilen)

1. Yeni bir terminalde şunu çalıştırın:

git clone https://github.com/danvega/javaone-mcp.git
cd javaone-mcp

2. Projeyi Derleme:

mvn clean package
github deposunu klonla

Seçenek 2: Sıfırdan Oluşturma

1. IntelliJ IDEA'yı açın:

yeni bir proje oluştur

2. Bağımlılıkları Ekleme:

<dependencies>
  <!-- MCP SDK -->
  <dependency>
    <groupId>io.modelcontextprotocol.sdk</groupId>
    <artifactId>mcp</artifactId>
    <version>0.9.0</version>
  </dependency>
  <!-- Logging -->
  <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>2.0.16</version>
  </dependency>
  <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.16</version>
  </dependency>
</dependencies>

Adım 2: Proje Yapısını Anlama

Yeni klonladığımız Java MCP Sunucusu şunları içerir:

proje yapısı

Adım 3: Veri Modelini Tanımlama

Oyun verilerini temsil etmek için Presentation.java'yı oluşturun:

public record Presentation(String title, String url) { }

Bu kayıt, başlık (örneğin, “GTA 6”) ve URL gibi oyun detaylarını tutar.

Adım 4: MCP Araçlarını Uygulama

PresentationTools.java içinde, MCP SDK'sını kullanarak araçları tanımlayın:

import io.modelcontextprotocol.sdk.McpSchema;
import java.util.ArrayList;
import java.util.List;

public class PresentationTools {
    private final List<Presentation> presentations = new ArrayList<>();

    public PresentationTools() {
        presentations.add(new Presentation("GTA 6", "https://example.com/gta6"));
        presentations.add(new Presentation("FC 26", "https://example.com/fc26"));
        presentations.add(new Presentation("Call of Duty: Black Ops 7", "https://example.com/codbo7"));
    }

    @McpSchema.Tool(name = "get_presentations", description = "Returns a list of all available games")
    public List<Presentation> getPresentations() {
        return presentations;
    }

    @McpSchema.Tool(name = "get_game", description = "Returns a specific game by title")
    public Presentation getGame(String title) {
        return presentations.stream()
            .filter(p -> p.title().equalsIgnoreCase(title))
            .findFirst()
            .orElse(null);
    }
}

Bu araçlar, yapay zeka modellerinin tüm oyunları veya başlığa göre belirli bir oyunu getirmesine olanak tanır.

Adım 5: MCP Sunucusunu Yapılandırma ve Başlatma

Application.java içinde, Java MCP Sunucusunu kurun:

import io.modelcontextprotocol.sdk.McpServer;
import io.modelcontextprotocol.sdk.McpSchema;
import io.modelcontextprotocol.sdk.McpSyncServer;

public class Application {
    public static void main(String[] args) {
        PresentationTools tools = new PresentationTools();
        var syncToolSpecification = new McpServerFeatures.SyncToolSpecification(
            new McpSchema.Tool("get_presentations", "Returns a list of all available games", null),
            (exchange, arguments) -> tools.getPresentations()
        );

        McpSyncServer syncServer = McpServer.sync(new StdioTransportProvider())
            .serverInfo("javaone-mcp-server", "0.0.1")
            .capabilities(McpSchema.ServerCapabilities.builder()
                .tools(true)
                .logging()
                .build())
            .tools(syncToolSpecification)
            .build();

        syncServer.start();
    }
}

Bu, sunucuyu STDIO taşımasını kullanacak şekilde yapılandırır ve get_presentations aracını kaydeder.

Adım 6: Java MCP Sunucusunu Çalıştırma

1. Projeyi Derleme:

mvn clean package
sunucuyu çalıştır

2. Sunucuyu Başlatma:

java -jar target/javaone-mcp-0.0.2.jar

Adım 7: MCP Inspector ile Test Etme

Java MCP Sunucusunuzda hata ayıklamak için MCP Inspector'ı kullanın:

Node.js Kurulumu: Gerekirse nodejs.org adresinden indirin.

JAR Yolunu Alın:

FULL_PATH=$(pwd)/target/javaone-mcp-0.0.2.jar
echo $FULL_PATH
$FULL_PATH="$(Get-Location)\target\javaone-mcp-0.0.2.jar"
echo $FULL_PATH

MCP Inspector'ı Çalıştırın:

npx @modelcontextprotocol/inspector java -jar $FULL_PATH

Adım 8: Claude Desktop veya Cursor ile Entegrasyon

Java MCP Sunucusunuzu bir yapay zeka istemcisine bağlayın:

JAR Yolunu Alın: Yukarıdaki komutu kullanın.

a. Claude Desktop'ı Yapılandırma:

{
  "mcpServers": {
    "javaone-mcp": {
      "command": "java",
      "args": ["-jar", "FULL_PATH"]
    }
  }
}

b. Cursor'ı Yapılandırma:

İstemciyi Yeniden Başlatın: Claude veya Cursor'ı kapatıp yeniden açın.

Adım 9: Java MCP Sunucusunu Test Etme

Claude Desktop veya Cursor ile test edin:

Sunucuyu Başlatma:

java -jar target/javaone-mcp-0.0.2.jar

Bir Komut Verin:

MCP sunucusunu kullanarak, mevcut tüm oyunları alın.
Mevcut oyunlar GTA 6, FC 26 ve Call of Duty: Black Ops 7'dir.
mcp sunucumdaki mevcut oyunlar

Adım 10: Java MCP Sunucusunu Genişletme

Sunucunuzu daha da havalı hale getirin:

1. Daha Fazla Sunum Ekleme:

presentations.add(new Presentation("Spring Boot 3.5 Deep Dive", "https://example.com/spring-boot", 2025));

2. Bir Arama Aracı Oluşturma:

@McpSchema.Tool(name = "search_presentations", description = "Search presentations by title")
public List<Presentation> searchPresentations(String query) {
    return presentations.stream()
        .filter(p -> p.title().toLowerCase().contains(query.toLowerCase()))
        .collect(Collectors.toList());
}
var searchToolSpec = new McpServerFeatures.SyncToolSpecification(
    new McpSchema.Tool("search_presentations", "Search presentations by title", null),
    (exchange, arguments) -> {
        String query = arguments.get("query").asText();
        return tools.searchPresentations(query);
    }
);
McpSyncServer syncServer = McpServer.sync(new StdioTransportProvider())
    .serverInfo("javaone-mcp-server", "0.0.1")
    .capabilities(McpSchema.ServerCapabilities.builder().tools(true).logging().build())
    .tools(syncToolSpecification, searchToolSpec)
    .build();

MCP sunucumu oyun verileriyle çalışacak şekilde özelleştirdim. İşte sonuçlarım:

java mcp sunucusuna yeni araç eklendi

Bir Arama Deneyin:

Başlığı "FC" olan bir oyun arayın.
FC 26 başlıklı bir oyununuz var.
yeni araç sonuçları

3. Gelişmiş Özellikler:

Sorun Giderme İpuçları

Neden Java MCP Sunucusu Kullanmalı?

Java MCP Sunucusu, Java uygulamanızı yapay zeka modellerine bağlamak için harika bir yoldur ve verilerinize gerçek zamanlı erişmelerini sağlar. Oyun temalı sunucumuz, “GTA 6” veya “FC 26” gibi verileri Claude veya Cursor ile paylaşmanın ne kadar kolay olduğunu gösterdi. MCP Java SDK, araçları tanımlamayı basit hale getirir ve STDIO taşıması işleri hafif tutar. İster oyunlar, ister kurslar veya başka bir şey için geliştiriyor olun, bu sunucu yapay zeka entegrasyonuna biletinizdir.

Sonuç

Artık bir Java MCP Sunucusu uzmanısınız! Sıfırdan bir sunucu oluşturdunuz, oyun verileriyle test ettiniz ve yeni araçlarla nasıl genişleteceğinizi öğrendiniz. MCP Java SDK, uygulamanızı yapay zeka asistanlarına bağlamayı çocuk oyuncağı haline getirir ve testimiz bunun işe yaradığını gösterdi. Sunucunuzu daha da güçlü hale getirmek için daha fazla veri veya araç eklemeyi deneyin.

💡
Harika bir API Test aracı mı istiyorsunuz ki bu araç aynı zamanda güzel API Dokümantasyonu da üretsin?

Geliştirici Ekibinizin maksimum verimlilikle birlikte çalışabileceği entegre, Hepsi Bir Arada bir platform mu istiyorsunuz?

Apidog tüm taleplerinizi karşılar ve Postman'ı çok daha uygun bir fiyata değiştirir!
button

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin