java-sdk-mcp-server について
java-sdk-mcp-server は、Java SDK のみで MCP サーバーを実装する例です。基本的なサーバー実装を学ぶ開発者向けに、STDIO と JSON を使った計算、挨拶、サーバー情報のツールを示します。
主な機能
- 01Java SDK によるサーバー例
- 02基本的な式計算ツール
- 03名前入りの挨拶
- 04サーバー情報ツール
- 05STDIO と JSON のメッセージ処理
活用シーン
- 01基本的な Java MCP サーバーの学習
- 02MCP Inspector によるツールのテスト
- 03Claude Desktop との接続の試行
MCP 対応
MCP サーバーとして、STDIO 経由で calculator、greeter、get_info ツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Java SDK MCP サーバー
このプロジェクトでは、Java SDK のみを使用して Model Context Protocol (MCP) サーバーを作成する方法を紹介します。MCP は、AI ツールが外部システムと標準化された方法で通信できるようにするプロトコルです。
📋 前提条件
- Java 24 以降
- Maven 3.6+
- Git
🚀 プロジェクトの実行方法
1. リポジトリをクローンする
git clone https://github.com/moises-paschoalick/java-sdk-mcp-server.git
cd java-sdk-mcp-server
2. MCP プロジェクトのディレクトリに移動する
cd java-mcp
3. プロジェクトをコンパイルする
mvn clean compile
4. プロジェクトを実行する
mvn exec:java
または、実行可能な JAR を作成して実行します。
mvn clean package
java -jar target/java-mcp-1.0-SNAPSHOT.jar
🏗️ プロジェクト構成
java-sdk-mcp-server/
├── java-mcp/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── org/example/
│ │ │ │ └── Main.java
│ │ │ └── resources/
│ │ └── test/
│ ├── pom.xml
│ └── .gitignore
├── README.md
├── test-examples.md
└── .gitignore
🔧 実装されている機能
MCP サーバーには、次のツールが実装されています。
1. calculator
基本的な数式を評価するシンプルな計算機です。
パラメーター:
expression:数式(例:「2 + 3」、「10 * 5」)
使用例:
{
"expression": "15 + 25"
}
2. greeter
名前を指定して挨拶します。
パラメーター:
name:挨拶する相手の名前
使用例:
{
"name": "João"
}
3. get_info
MCP サーバーに関する情報を取得します。
パラメーター: なし
🧪 MCP Inspector でのテスト
MCP Inspector を使用してサーバーをテストするには、次の手順に従います。
1. MCP Inspector をインストールする
npm install -g @modelcontextprotocol/inspector
2. サーバーを実行する
cd java-mcp
mvn clean package
3. MCP Inspector を実行する
# Obtenha o caminho completo do JAR
FULL_PATH=$(pwd)/target/java-mcp-1.0-SNAPSHOT.jar
echo $FULL_PATH
# Execute o inspector
npx @modelcontextprotocol/inspector java -jar $FULL_PATH
4. Inspector での操作:
- 接続パネルでサーバーの接続を確認します
- 「Tools」タブに移動して、利用可能なツールを確認します
- 各ツールをクリックして応答を確認し、テストします
- 通知パネルでログを監視します
🔌 Claude Desktop との統合
この MCP サーバーを Claude Desktop で使用するには、次の手順に従います。
1. JAR の完全パスを取得する
cd java-mcp
FULL_PATH=$(pwd)/target/java-mcp-1.0-SNAPSHOT.jar
echo $FULL_PATH
2. Claude Desktop を設定する
- Claude Desktop の設定を開きます
- 「MCP Servers」セクションに移動します
- 次の設定で新しいサーバーを追加します。
{
"java-mcp-example": {
"command": "java",
"args": [
"-jar",
"$FULL_PATH"
]
}
}
📚 主な依存関係
- Jackson:JSON の処理に使用
- SLF4J:ロギングに使用
🔍 実装例
このサーバーは、STDIO と JSON を使用して MCP の動作をシミュレートする簡略化された方法で実装されています。
// Configurar entrada e saída
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));
// Enviar handshake inicial
sendHandshake(writer);
// Loop principal para processar mensagens
String line;
while ((line = reader.readLine()) != null) {
JsonNode request = mapper.readTree(line);
processRequest(request, writer);
}
🎯 次のステップ
- ツールを追加する:ファイル操作、データベースクエリなどを行うツールを実装します
- リソースを実装する:MCP のリソース(Resources)のサポートを追加します
- 認証を追加する:セキュリティメカニズムを実装します
- ロギングを改善する:構造化ロギングとメトリクスを追加します
- 自動テスト:単体テストと統合テストを実装します
- CI/CD:ビルドとデプロイのパイプラインを設定します
📖 追加リソース
🤝 貢献
- プロジェクトをフォークします
- 機能用のブランチを作成します(
git checkout -b feature/AmazingFeature) - 変更をコミットします(
git commit -m 'Add some AmazingFeature') - ブランチにプッシュします(
git push origin feature/AmazingFeature) - Pull Request を作成します
📄 ライセンス
このプロジェクトは MIT ライセンスの下で公開されています。詳細については、LICENSE ファイルを参照してください。
🆘 サポート
問題が発生した場合や質問がある場合は、リポジトリで issue を作成してください。
📝 概要
このプロジェクトでは、Java SDK のみを使用して MCP サーバーを実装しています。Spring ベースの実装については、spring-ai-mcp-server リポジトリを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。