spring-ai-mcp-server-demo について
spring-ai-mcp-server-demo は、AI エージェントと業務システムの連携を試す開発者向けデモプラットフォームです。注文、決済、インシデントのサービスを組み合わせ、AI アシスタントが自然言語で照会や操作を行えます。
主な機能
- 01注文とそのライフサイクルの管理
- 02決済と取引の処理
- 03インシデントと対応状況の追跡
- 04Docker Compose による複数サービスの起動
- 05注文管理とインシデント管理の MCP サーバー
活用シーン
- 01処理待ちの注文を検索
- 02注文に対する決済の作成
- 03未解決の高優先度インシデントを抽出
- 04注文を次の段階へ進行
MCP 対応
Claude や GitHub Copilot などのクライアントから業務操作を呼び出せる、注文管理とインシデント管理の MCP サーバーを提供します。サーバーは stdio で接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🚀 エージェント型 AI デモ - スマートビジネスプラットフォーム
AI を活用した自動化で、ビジネス業務を変革しましょう!
AI エージェントが実際のビジネスアプリケーションとシームレスに連携する方法を紹介する、最先端のデモへようこそ。このプラットフォームでは、Claude や GitHub Copilot などの AI アシスタントが、自然な会話を通じて注文の管理、決済処理、インシデント対応を直接行える、完全なマイクロサービスエコシステムを紹介します。
✨ このプラットフォームの特長
🤖 ビジネスシステムと会話:自然言語を使って、注文、決済、インシデントを管理できます
⚡ リアルタイムの業務処理:AI エージェントは、モックデータを扱うだけでなく、実際のビジネス業務を実行します
🔧 本番環境にも対応:エンタープライズグレードのテクノロジーとベストプラクティスを採用しています
🎯 すぐに利用可能:Docker で簡単にセットアップでき、数分で起動できます
🌐 モダンな技術スタック:Vue.js フロントエンド、Spring Boot API、インテリジェントな MCP サーバーを採用しています
📋 概要
| サービス | 機能 | フロントエンド | API |
|---|---|---|---|
| 📦 注文 | 顧客の注文とライフサイクルを管理 | localhost:5173 | localhost:8081 |
| 💳 決済 | 決済と取引を処理 | localhost:5174 | localhost:8082 |
| 🚨 インシデント | 問題と解決状況を追跡 | localhost:5175 | localhost:8083 |
| 🧠 AI アシスタント | スマートな自動化レイヤー | - | localhost:8085 |
🏗️ システムアーキテクチャ
🖥️ Frontend Apps (Vue.js + TypeScript)
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Orders │ │ Payments │ │ Incidents │
│ :5173 │ │ :5174 │ │ :5175 │
└─────────────┘ └─────────────┘ └─────────────┘
│ │ │
⚡ REST APIs (Spring Boot + Java)
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Order API │ │Payment API │ │Incident API │
│ :8081 │ │ :8082 │ │ :8083 │
└─────────────┘ └─────────────┘ └─────────────┘
│ │ │
└────────────────┼───────────────┘
│
🤖 AI Integration Layer
┌─────────────────────────┐
│ MCP Servers │
│ (AI ↔ Business) │
│ :8085 │
└─────────────────────────┘
│
💾 Data Layer
┌─────────────────────────┐
│ MongoDB │
│ (Document Store) │
│ :27017 │
└─────────────────────────┘
🚀 3 分で始めましょう!
前提条件 ✅
- Docker Desktop がインストールされ、起動していること
- 使用可能なポート:
5173-5175、8081-8083、8085、27017
1️⃣ すべてを起動
# Navigate to project directory
cd agentic-ai-demo
# 🚀 Start all services (this might take 2-3 minutes first time)
docker-compose up --build -d
# ✅ Check everything is running
docker-compose ps
2️⃣ 動作を確認
以下のリンクを開いて、サービスが起動していることを確認します:
- 🌐 注文管理 UI - 顧客の注文を管理します
- 💳 決済ポータル - 取引を処理します
- 🎯 インシデントダッシュボード - 問題を追跡します
- 📊 注文 API のヘルスチェック -
{"status":"UP"}と表示されるはずです
3️⃣ サンプルデータを確認
このプラットフォームには、現実的なビジネスデータがあらかじめ用意されています:
- サンプル注文 8 件(新規 → 処理中 → 発送済み → 配達済みなど、さまざまな段階)
- 決済レコード 4 件(さまざまなステータス)
- インシデントチケット 5 件(さまざまな優先度)
🎉 準備完了です! ビジネスプラットフォーム全体が起動しました!
🛠️ 管理コマンド
基本的な操作
# 🛑 Stop everything
docker-compose down
# 🔄 Restart a specific service
docker-compose restart order-backend
# 📜 View logs for debugging
docker-compose logs -f [service-name]
# 🧹 Clean slate (removes all data)
docker-compose down --volumes
# 🗑️ Complete cleanup (removes images too)
docker-compose down --volumes --rmi all
ヘルスモニタリング
すべてのサービスにスマートなヘルスチェックが備わっています:
- ✅ 自動修復:異常なコンテナは自動的に再起動します
- ⏱️ 迅速な検出:問題を 30 秒以内に検出します
- 🔄 再試行ロジック:失敗と判定する前に 3 回試行します
ヘルスステータスを確認:docker-compose ps
🧰 技術スタック
🖥️ フロントエンド技術
- Vue.js 3 - Composition API を備えたモダンなリアクティブフレームワーク
- TypeScript - 優れた IDE サポートによる型安全な開発
- Vite - 高速なビルドツールとホットリロード
- CSS3 - レスポンシブデザインに対応したモダンなスタイリング
⚙️ バックエンド技術
- Spring Boot - 自動設定機能を備えたエンタープライズ向け Java フレームワーク
- H2 Database - 迅速な開発に適した組み込み SQL データベース
- MongoDB - 柔軟なデータ構造に対応したドキュメントデータベース
- Gradle - 高度なビルド自動化と依存関係管理
🚀 インフラストラクチャと DevOps
- Docker - 一貫性のある環境を実現するコンテナ化
- Docker Compose - 複数コンテナのオーケストレーション
- Health Checks - 監視と自動復旧を標準搭載
- Multi-stage Builds - 最適化されたコンテナイメージ
🤖 AI 統合
- Model Context Protocol (MCP) - AI アプリ連携の標準
- REST APIs - HTTP ベースのサービス通信
- Spring Boot Actuator - 本番環境向けの監視エンドポイント
🤖 AI アシスタントを接続する
AI アシスタントを接続すると、会話を通じてビジネス業務を操作できるようになります!
🔧 VS Code のクイックセットアップ
- MCP サーバーをビルドします(初回のみ):
# Build both MCP server JAR files
./gradlew :mcp-servers:oms-mcp-server:build
./gradlew :mcp-servers:incident-mcp-server:build
- VS Code を設定します -
settings.jsonに追加します:
{
"mcp": {
"servers": {
"oms-mcp-server": {
"type": "stdio",
"command": "java",
"args": ["-jar", "YOUR_PROJECT_PATH/mcp-servers/oms-mcp-server/build/libs/oms-mcp-server-0.0.1-SNAPSHOT.jar"]
},
"incident-mcp-server": {
"type": "stdio",
"command": "java",
"args": ["-jar", "YOUR_PROJECT_PATH/mcp-servers/incident-mcp-server/build/libs/incident-mcp-server-0.0.1-SNAPSHOT.jar"]
}
}
},
"chat.mcp.discovery.enabled": true
}
YOUR_PROJECT_PATHを実際のプロジェクトパスに置き換えます。
💬 ビジネスシステムと会話する
接続したら、次のような自然言語のコマンドを試してみてください。
| 指示する内容 | 実行される処理 |
|---|---|
| 「処理待ちの注文をすべて表示して」 | 📋 処理待ちの注文を一覧表示します |
| 「注文 #1001 の支払いを $150 で作成して」 | 💳 新しい支払い取引を処理します |
| 「未解決の高優先度インシデントは何?」 | 🚨 対応が必要な重大な問題を絞り込みます |
| 「注文 #1001 を次の段階に進めて」 | ⚡ ワークフロー内で注文を次の段階へ進めます |
| 「失敗した支払いをすべて表示して」 | 💸 再試行が必要な取引を表示します |
💡 ヒント:AI はビジネスのコンテキスト全体を把握し、操作を検証するため、複雑なビジネスワークフローについても自然に会話できます!
❓ トラブルシューティング
🚨 サービスが起動しない
問題:docker-compose up が失敗する、またはサービスが異常状態と表示される
解決策:
# Check if ports are already in use
lsof -i :5173 -i :8081 -i :8082 -i :8083 -i :8085 -i :27017
# Clean up any existing containers
docker-compose down --volumes
docker system prune -f
# Restart Docker Desktop and try again
docker-compose up --build -d
🔌 AI アシスタントに接続できない
問題:VS Code または Claude が MCP サーバーを認識しない
解決策:
-
JAR ファイルが存在することを確認します:
ls -la mcp-servers/*/build/libs/*.jar -
ファイルがない場合は再ビルドします:
./gradlew :mcp-servers:oms-mcp-server:build ./gradlew :mcp-servers:incident-mcp-server:build -
VS Code の設定パスを確認します - settings.json では絶対パスを使用してください
-
設定を変更した後、VS Code を再起動します
💾 データが保持されない
問題:再起動後にサンプルデータが消える
解決策:これは想定された動作です。H2 データベースはデモ用にメモリ内で動作します。MongoDB のデータは Docker ボリュームに保持されます。
🎯 次のステップ
このプラットフォームを拡張する準備はできましたか?次のアイデアを参考にしてください。
- 🔐 認証を追加する - ユーザーログインとロールベースのアクセス制御を実装します
- 📧 メール通知 - 注文ステータスの変更時にアラートを送信します
- 📊 分析ダッシュボード - ビジネスインテリジェンスとレポート機能を追加します
- 🔄 イベントストリーミング - リアルタイムイベント用に Apache Kafka を実装します
- 🧪 テストスイート - 包括的な統合テストを追加します
- 🌍 マルチテナント - 複数の組織をサポートします
📞 サポートとコントリビューション
- 🐛 バグを見つけましたか? 再現手順を詳しく記載して、Issue を作成してください
- 💡 アイデアがありますか? ご提案をぜひお聞かせください
- 🤝 コントリビューションしたいですか? コントリビューションガイドラインをご確認ください
- 📚 サポートが必要ですか? コミュニティのディスカッションにご参加ください
🌟 役に立ったと思ったら、このリポジトリにスターを付けてください!
AI 開発コミュニティのために ❤️ を込めて作りました
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。