Mysql Mcp Server For Java について
MCP Java SDK は、Java 開発者向けの MCP サーバー構築 SDK で、実行可能な MySQL・Redis 実装とサンプルを備えています。コードまたはアノテーションでツール、リソース、プロンプトを定義でき、stdio と SSE に対応します。
主な機能
- 01Java MCP サーバー SDK
- 02コードやアノテーションでツール定義
- 03リソースとプロンプトの定義
- 04MySQL・Redis サーバー実装
- 05サンプルとテンプレート
- 06stdio と SSE に対応
活用シーン
- 01テンプレートから独自 MCP サーバーを作成
- 02Spring Boot プロジェクトへの統合
- 03Agent に MySQL 操作を提供
- 04Agent に Redis 操作を提供
MCP 対応
ローカル連携用の stdio と HTTP 連携用の SSE に対応した MCP サーバーを構築できます。付属の MySQL・Redis サーバーは、データベースやキャッシュ操作ツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Java SDK
カスタムの 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.md | Redis |
| MySQL をエージェントに接続する | docs/mysql-server.md | MySQL |
詳しい手順: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 をコミットしないでください。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。