MCP Server Demo について
Kafkaのタスクキューを基盤とするMCPタスク管理デモで、AIエージェントによるタスクや通知の操作を想定しています。タスク管理、通知処理、Kafkaメッセージのバックグラウンド処理を備えています。
主な機能
- 01タスクの作成・更新・完了
- 02タスク優先度の変更
- 03タスク状態と詳細の確認
- 04通知と既読状態の管理
- 05Kafkaによるイベント処理
活用シーン
- 01AIエージェントによる未処理タスクの確認と対応
- 02優先度の変更と進捗の追跡
- 03通知の確認と既読化
MCP 対応
AIエージェント向けに、キュー取得、タスク状態の操作、通知確認などのツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP サーバーのデモ
MCP(Model Control Protocol)と Kafka を使用した、本番環境対応のタスク管理システムです。
概要
このプロジェクトでは、MCP を使用して AI エージェントが Kafka ベースのタスクキューとやり取りできる、堅牢なタスク管理システムを紹介します。このシステムでは、次のことができます。
- タスク管理(タスクの作成、更新、完了)
- 通知の処理
- Kafka によるリアルタイムイベント処理
機能
- タスク管理:本番タスクの作成、更新、優先順位付け、完了
- 通知システム:優先度レベルに対応したリアルタイム通知
- Kafka 連携:信頼性の高いメッセージキューイングとイベントストリーミング
- MCP ツール:タスクおよび通知の操作に対応した AI 向けインターフェース
- コンシューマーサービス:Kafka メッセージのバックグラウンド処理
要件
- Python 3.13+
- Kafka クラスター(ローカルまたは AWS MSK)
- Confluent Kafka Python クライアント
インストール
# Clone the repository
git clone https://github.com/yourusername/mcp-server-demo.git
cd mcp-server-demo
# Install dependencies
pip install -e .
設定
kafka_config.py の Kafka 設定を、実際の Kafka クラスターの詳細に合わせて更新してください。
KAFKA_CONFIG = {
'bootstrap.servers': 'your-kafka-bootstrap-servers',
'security.protocol': 'SASL_SSL',
'sasl.mechanisms': 'SCRAM-SHA-512',
'sasl.username': 'your-username',
'sasl.password': 'your-password',
}
使用方法
サーバーの起動
python main.py
テストデータの読み込み
サンプルのタスクと通知をシステムに登録するには、次の手順を実行します。
python kafka_test_data.py
MCP ツール
このシステムは、AI エージェント向けに次の MCP ツールを公開します。
タスク管理
fetch_queue:保留中のタスク一覧を取得しますchange_task_priority:タスクの優先度を更新しますpickup_task:タスクを進行中としてマークしますcomplete_task:タスクを完了としてマークしますget_task_details:タスクの詳細情報を取得しますcheck_task_status:タスクの現在の状態を確認します
通知管理
check_notification_count:未読通知の件数を取得しますget_notification_list:フィルターされた通知一覧を取得しますmark_notification_as_read:通知を既読としてマークします
アーキテクチャ
このシステムは、複数のコンポーネントで構成されています。
- MCP サーバー:AI エージェントがシステムとやり取りするためのツールを公開します
- Kafka プロデューサー:Kafka トピックにメッセージを送信します
- Kafka コンシューマー:Kafka トピックからメッセージを処理します
- タスクサービス:タスク管理のビジネスロジックを担います
- 通知サービス:通知処理のビジネスロジックを担います
開発
プロジェクト構成
mcp-server-demo/
├── main.py # MCP server initialization
├── kafka_config.py # Kafka configuration
├── consumer_service.py # Kafka consumer services
├── task_service.py # Task management logic
├── notification_service.py # Notification handling logic
└── kafka_test_data.py # Test data generator
ライセンス
コントリビューション
コントリビューションを歓迎します。お気軽にプルリクエストを送信してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。