mcpField
S
Spring MCP Server

Spring MCP Server

ローカル
github.com/deepanshu-rawat6開発ツール079 週間前に更新

Spring MCP Server について

Spring MCP Serverは、Java開発者向けのSpring Boot製MCPサーバーの基本例です。サービス情報をツールとして公開し、Claude Desktopから接続する設定を示します。

主な機能

  1. 01Spring BootでのMCPサーバー設定
  2. 02ツールによるサービスデータの公開
  3. 03ツールコールバックの設定
  4. 04Mavenでのビルド手順

活用シーン

  1. 01Java製MCPサーバーの試作
  2. 02Claude Desktopへのアプリ情報の提供

MCP 対応

サービス情報をツールとしてMCPクライアントに公開するMCPサーバーを実装します。READMEではClaude Desktopとの接続方法を示しています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Spring MCP サーバー

Model Context Protocol は、開発者がデータソースと AI 搭載ツールの間に安全な双方向接続を構築できるようにするオープン標準です。 アーキテクチャはシンプルです。開発者は MCP サーバーを通じてデータを公開するか、これらのサーバーに接続する AI アプリケーション(MCP クライアント)を構築できます。

前提条件

  • Java 21
  • Maven 3.9.9
  • Spring Boot 3.4.4
  • Spring AI 0.4.0
  • Spring Model Context Protocol Server
  • Claude Desktop Application

はじめに

この例では、MCP サーバーとして動作するシンプルな Spring Boot アプリケーションを作成します。

1. Spring Boot アプリケーションを作成する

Spring Initializr またはお好みの方法で、新しい Spring Boot アプリケーションを作成します。 以下の依存関係を使用できます。

  • Spring Model Context Protocol Server
レコードの作成

MCP サーバーを通じて公開する情報を表すレコードクラスを作成します。

package org.sehn.spring_mcp;

public record Info(String title, String url) {
}
サービスの作成

MCP サーバーを通じて公開する情報を提供するサービスクラスを作成します。

package org.sehn.spring_mcp;

import jakarta.annotation.PostConstruct;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.ai.tool.annotation.Tool;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

@Service
public class InfoService {

    private static final Logger logger = LoggerFactory.getLogger(InfoService.class);

    private List<Info> information = new ArrayList<>();

    @Tool(name = "dr_get_information", description = "Get a list of information about Deepanshu Rawat")
    public List<Info> getInformation() {
        return information;
    }

    @Tool(name = "dr_get_info", description = "Get a specific information about Deepanshu Rawat")
    public Info getInfo(String title) {
        return information.stream().filter(info -> info.title().equals(title)).findFirst().orElse(null);
    }

    @PostConstruct
    public void init() {
        information.addAll(List.of(
                new Info("Portfolio", "https://bento.me/deepanshu-rawat6"),
                new Info("GitHub", "https://github.com/deepanshu-rawat6"),
                new Info("LinkedIn", "https://www.linkedin.com/in/deepanshu-rawat6/"),
                new Info("Twitter", "https://twitter.com/deepanshuurawat")
        ));


    }
}
ツールコールバックの作成

SpringMCPApplication またはメインアプリケーションクラスに、MCP サーバーからのリクエストを処理するツールコールバックを作成します。

    @Bean
    public List<ToolCallback> deepanshuTools(InfoService infoService) {
        return List.of(ToolCallbacks.from(infoService));
    }
設定の追加

MCP サーバーを設定する構成クラスを作成します。

spring.application.name=spring_mcp
spring.main.web-application-type=none
spring.ai.mcp.server.name=spring_mcp
spring.ai.mcp.server.version=0.0.1


spring.main.banner-mode=off
logging.pattern.console=
2. アプリケーションをビルドする

以下のコマンドを実行するだけで、アプリケーションをビルドできます。

mvn clean package -DskipTests
3. 追加設定

MCP サーバーを使用するには、claude_desktop_config.json に以下の設定を追加する必要があります。

{
    "mcpServers": {
        "<name_of_the_mcp_server>": {
            "command": "java",
            "args": [
                "-jar",
                "<Path_of_the_jar_file_created_after_building>"
            ]
        }
    }
}

<name_of_the_mcp_server> を MCP サーバーの名前に、<Path_of_the_jar_file_created_after_building> をアプリケーションのビルド後に作成された jar ファイルのパスに置き換えてください。

たとえば、私の MCP サーバーの名前は spring_mcp です。

4. MCP サーバーをテストする

Claude Desktop を起動すると、プロンプト領域の下にいくつかの新しい項目が表示されます。

インストール済みの MCP サーバー

Claude とコンテキストを共有

利用可能な MCP ツール

利用可能な MCP ツール

たとえば Get me the information about Deepanshu Rawat のようなプロンプトを送信すると、third-party ツールが使用されることを知らせるアラートが表示されます。現在のチャットでアラートを承認してください。 すると、次のような応答が返されます。

サーバーからの応答

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。