mcpField
M
Mysql Mcp Server For Java

Mysql Mcp Server For Java

ローカル
github.com/6000fishデータベース221 週間前に更新

Mysql Mcp Server For Java について

MCP Java SDK は、Java 開発者向けの MCP サーバー構築 SDK で、実行可能な MySQL・Redis 実装とサンプルを備えています。コードまたはアノテーションでツール、リソース、プロンプトを定義でき、stdio と SSE に対応します。

主な機能

  1. 01Java MCP サーバー SDK
  2. 02コードやアノテーションでツール定義
  3. 03リソースとプロンプトの定義
  4. 04MySQL・Redis サーバー実装
  5. 05サンプルとテンプレート
  6. 06stdio と SSE に対応

活用シーン

  1. 01テンプレートから独自 MCP サーバーを作成
  2. 02Spring Boot プロジェクトへの統合
  3. 03Agent に MySQL 操作を提供
  4. 04Agent に Redis 操作を提供

MCP 対応

ローカル連携用の stdio と HTTP 連携用の SSE に対応した MCP サーバーを構築できます。付属の MySQL・Redis サーバーは、データベースやキャッシュ操作ツールを MCP クライアントに公開します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

英語 | 中国語

MCP Java SDK

Maven Central Release CI Java License

カスタムの Model Context Protocol (MCP) サーバーを素早く構築するための Java SDK です。すぐに実行できる MySQL および Redis サーバーのサンプルも用意しています。

MCP.so の掲載ページ:Java 用 MySQL MCP サーバー · Java 用 Redis MCP サーバー

このプロジェクトを選ぶ理由

  • 小規模な SDK で、Java のカスタム MCP サーバーを構築できます。
  • ローカルのエージェント連携には stdio を、HTTP ベースの連携には SSE を使用できます。
  • Java コードまたはアノテーションでツール、リソース、プロンプトを定義できます。
  • JSON-RPC を手作業で組み立てる代わりに、コピーして使えるサンプルから始められます。
  • MySQL および Redis サーバーを、実際のデータソースですぐに実行できるサンプルとして利用できます。

5 分で始める

目的ここから開始外部サービスが必要
最速の SDK デモを実行するmcp-examples/quick-startいいえ
カスタムサーバーのテンプレートをコピーするmcp-examples/custom-server-templateいいえ
Spring Boot 内で構築するmcp-examples/spring-boot-exampleいいえ
Redis をエージェントに接続するdocs/redis-server.mdRedis
MySQL をエージェントに接続するdocs/mysql-server.mdMySQL

詳しい手順:5 分で始めるクイックスタート。

Maven Central からインストールする

コア SDK:

<dependency>
    <groupId>io.github.6000fish</groupId>
    <artifactId>mcp-sdk</artifactId>
    <version>0.1.1</version>
</dependency>

Spring Boot スターター:

<dependency>
    <groupId>io.github.6000fish</groupId>
    <artifactId>mcp-spring-boot-starter</artifactId>
    <version>0.1.1</version>
</dependency>

最速の SDK デモ

データベースを使用しないクイックスタートサーバーをビルドします。

mvn package -pl mcp-examples/quick-start -am -DskipTests

実行可能な jar を MCP エージェントの設定に追加します。

{
  "mcpServers": {
    "quick-start": {
      "type": "stdio",
      "command": "java",
      "args": [
        "-jar",
        "/absolute/path/to/mcp-java/mcp-examples/quick-start/target/quick-start-0.1.1.jar"
      ]
    }
  }
}

エージェントを再起動して、次のように尋ねます。

Use the quick-start MCP server to greet Alice and get the current time.

このデモでは、greet、current_time、calculate、text_transform の各ツールと、リソース server://info が公開されます。

独自の MCP サーバーを構築する

コピーして使えるアノテーションベースのテンプレートを作成するには:

mvn package -pl mcp-examples/custom-server-template -am -DskipTests

生成された jar を設定します。

{
  "mcpServers": {
    "custom-template": {
      "type": "stdio",
      "command": "java",
      "args": [
        "-jar",
        "/absolute/path/to/mcp-java/mcp-examples/custom-server-template/target/custom-server-template-0.1.1.jar"
      ]
    }
  }
}

次に、CustomMcpServer.java を編集し、独自の @McpTool、@McpResource、または @McpPrompt メソッドを追加します。

最小限の SDK API の例:

McpServer server = DefaultMcpServer.builder()
        .name("my-server")
        .version("1.0.0")
        .build();

server.tool("greet", "Greet someone", arguments -> {
    String name = (String) arguments.getOrDefault("name", "World");
    return ToolCallResult.success("Hello, " + name + "!");
});

server.start(new StdioTransport());

アノテーションの例:

@McpServer(name = "my-server", version = "1.0.0")
public class MyServer {

    @McpTool(name = "hello", description = "Say hello")
    public String hello(@Param(name = "name") String name) {
        return "Hello, " + name + "!";
    }
}

すぐに使えるサーバー

現在公開されている、すぐに使えるサーバーモジュールをビルドします。

mvn package -pl mcp-server-collection/mcp-server-mysql -am -DskipTests
mvn package -pl mcp-server-collection/mcp-server-redis -am -DskipTests

MySQL サーバーの設定:

{
  "mcpServers": {
    "mysql": {
      "type": "stdio",
      "command": "java",
      "args": [
        "-jar",
        "/absolute/path/to/mcp-java/mcp-server-collection/mcp-server-mysql/target/mcp-server-mysql-0.1.1.jar"
      ],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_DATABASE": "mcp_demo",
        "MYSQL_USERNAME": "my_user",
        "MYSQL_PASSWORD": "your_password"
      }
    }
  }
}

Redis サーバーの設定:

{
  "mcpServers": {
    "redis": {
      "type": "stdio",
      "command": "java",
      "args": [
        "-jar",
        "/absolute/path/to/mcp-java/mcp-server-collection/mcp-server-redis/target/mcp-server-redis-0.1.1.jar"
      ],
      "env": {
        "REDIS_HOST": "localhost",
        "REDIS_PORT": "6379",
        "REDIS_PASSWORD": ""
      }
    }
  }
}

実際のデータに接続する前に、セキュリティガイドをお読みください。認証情報は、ローカルのエージェント設定または環境変数のみに保存してください。

利用可能なサーバーツール

サーバー説明ツール
MySQLデータベース操作query, execute, list_databases, list_tables, describe_table, explain_query, get_table_status
Redisキャッシュ操作get, set, del, keys, type, ttl, hget, hset, hgetall, lrange, llen, scard, smembers, info, dbsize

ドキュメント

ユーザー向けドキュメント:

メンテナー向けドキュメント:

互換性

stdio サーバーは、主流の MCP クライアントとエージェント向けに設計されています。

  • Claude Code:MySQL および Redis の stdio サーバーで検証済みです。
  • Codex:tools/list、tools/call、クライアントの _meta フィールドを含め、MySQL の stdio サーバーで検証済みです。
  • opencode、OpenClaw、Gemini 関連のツールなど、その他の MCP クライアント:同じ stdio JSON-RPC フローを使用し、ドキュメントに記載された設定形式を使用する必要があります。

互換性を確保するため、ツールでの inputSchema の必須化、_meta などのクライアント拡張フィールドに対応した寛容なリクエスト解析、stdio レスポンスでの null フィールドの省略、stdout を MCP JSON-RPC メッセージ専用に保つための stderr へのログ出力を行っています。

プロジェクト構成

mcp-java/
├── mcp-sdk/                      # Core SDK
├── mcp-spring-boot-starter/      # Spring Boot integration
├── mcp-server-collection/        # Ready-to-use server implementations
└── mcp-examples/                 # SDK examples and templates

ソースからビルドする

git clone https://github.com/6000fish/mcp-java.git
cd mcp-java
mvn clean install

コミュニティ

メンテナー

リリース手順はdocs/release.mdに記載されています。Maven Central の認証情報、GPG のパスフレーズ、秘密鍵、または settings.xml をコミットしないでください。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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