MCP Task Manager Server について
MCP Task Manager Serverは、AIアシスタントと開発者向けのMCPサーバー兼タスク管理の実装例です。stdioまたはHTTP APIでタスクツールを利用でき、メモリ内ストレージと拡張可能なツール構成を備えています。
主な機能
- 01タスクの作成・一覧表示・完了
- 02ステータスによる絞り込み
- 03MCP stdioとHTTPインターフェース
- 04メモリ内タスクストレージ
- 05拡張可能なツール登録構成
活用シーン
- 01MCP対応アシスタントでのタスク管理
- 02Webアプリへのタスク操作の提供
- 03MCPツール追加のテンプレート
MCP 対応
stdio経由で、タスクの作成・一覧表示・完了ツールをMCPクライアントに提供します。同じタスク操作はHTTP APIからも利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🔌 MCP ツールサーバー - AI エージェントツールキット
AI エージェントが外部のツールやサービスを操作できる、パワフルで拡張性の高い Model Context Protocol(MCP)サーバーです。この実装では、AI アシスタント向けの MCP 対応ツールを構築してデプロイする方法を示すタスク管理システムを提供します。
🌟 MCP とは?
Model Context Protocol(MCP)は、AI モデルが外部のツール、データソース、サービスを操作するための標準規格です。このサーバーは MCP 仕様を実装しており、Claude や GPT などの AI アシスタントが標準化されたインターフェースを通じて現実世界のアクションを実行できます。
✨ 特徴
- MCP 対応ツール:AI アシスタントですぐに使えるツール
- タスク管理システム:タスクの作成、一覧表示、完了
- デュアルインターフェース:MCP の stdio モードと HTTP API の両方に対応
- 拡張性の高いアーキテクチャ:新しいツールや機能を簡単に追加
- 開発者に優しい:わかりやすいドキュメントとサンプル
- 軽量:すばやくセットアップしてテストできるインメモリストレージ
🛠️ 利用可能なツール
1. create-task
タイトルと説明を指定して新しいタスクを作成します。
パラメーター:
title:String(必須)- タスクのタイトルdescription:String(必須)- タスクの説明
2. list-tasks
現在メモリに保存されているすべてのタスクを一覧表示します。
パラメーター:
status:String(任意)- ステータスでフィルターします。「all」、「pending」、「completed」のいずれかを指定します
3. pending-tasks
保留中のタスクをすべて一覧表示します。
パラメーター: なし
4. complete-task
指定したタスクを完了済みにします。
パラメーター:
id:String(必須)- 完了済みにするタスクの ID
🚀 はじめに
前提条件
- Node.js(v18 以降)
- npm または yarn
インストール
- リポジトリをクローンします:
git clone https://github.com/yourusername/mcp-server.git
cd mcp-server
- 依存関係をインストールします:
npm install
- TypeScript コードをビルドします:
npm run build
🏃♂️ サーバーの起動
MCP モード(AI アシスタント向け)
npm start
これにより、サーバーが stdio モードで起動し、Claude for Desktop などの MCP クライアントと互換性を持ちます。
HTTP モード(Web アプリケーション向け)
npm run http
HTTP サーバーはデフォルトでポート 3000 で起動します。http://localhost:3000 からアクセスできます。
PORT 環境変数を使ってポートを変更できます:
PORT=8080 npm run http
🌐 HTTP API エンドポイント
タスクの作成
POST /api/tasks
リクエストボディ:
{
"title": "Task title",
"description": "Task description"
}
すべてのタスクの一覧表示
GET /api/tasks?status=[all|pending|completed]
保留中のタスクの一覧表示
GET /api/tasks/pending
タスクの完了
PATCH /api/tasks/:id/complete
MCP ツールを直接実行
POST /api/mcp/execute
リクエストボディ:
{
"tool": "tool-name",
"params": {
"param1": "value1",
"param2": "value2"
}
}
🔮 独自の MCP ツールを構築する
このサーバーは、独自の MCP 対応ツールを作成するためのテンプレートを提供します。新しいツールを追加するには:
src/toolsディレクトリにツールを定義します- ツールレジストリに登録します
- 必要なロジックを実装します
- 必要に応じて HTTP API を更新します
実装の構成方法については、既存のツールを参考にしてください。
🧪 AI アシスタントでテストする
- MCP モードでサーバーを起動します:
npm start - MCP 対応の AI アシスタントを使ってサーバーに接続します
- AI が利用可能なツールを使ってタスクを管理できるようになります:
- タスクを作成:タイトルと説明を指定して
create-taskを実行 - すべてのタスクを一覧表示:
list-tasks - タスクを完了:タスク ID を指定して
complete-taskを実行
- タスクを作成:タイトルと説明を指定して
🔄 Web クライアントとの統合
このサーバーは、AI アシスタントや MCP ツールを操作する Web インターフェースを提供する agent-client-example プロジェクトとの連携に最適です。
📋 今後の機能強化
- 永続ストレージの選択肢(MongoDB、PostgreSQL)
- 認証と認可
- ツールカテゴリの追加(ファイル管理、Web 検索など)
- リアルタイム更新のための WebSocket サポート
- ツール実行のメトリクスとログ記録
📄 ライセンス
MIT
AI エージェントに現実世界で活用できる能力を 🤖✨
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。