Checklist MCP Server について
Checklist MCP Serverは、長期タスクを扱うAIエージェント向けに、階層型チェックリストとセッションをまたぐタスク状態管理を提供します。名前空間で環境ごとのデータを分離できます。
主な機能
- 01ネストしたチェックリストの作成と管理
- 02セッション単位のタスク状態管理
- 03タスクの完了設定
- 04タスクリスト全体の取得
- 05名前空間によるデータ分離
活用シーン
- 01長期作業を階層的なタスクに分割
- 02セッションをまたいだエージェントの進捗管理
- 03ユーザーやプロジェクト別のリスト分離
MCP 対応
MCPサーバーはHTTP/SSE経由でチェックリスト用ツールを公開します。クライアントはセッションの初期化、タスク更新、完了設定、リスト取得を行えます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Checklist MCP サーバー
階層型チェックリストの管理と作業コンテキストの追跡を行う MCP(Model Context Protocol)サーバーです。AI エージェントが長期間にわたるタスクを管理し、セッションをまたいで状態を維持できるよう設計されています。
機能
- 階層型タスク管理:入れ子になったチェックリストを作成、管理できます。
- マルチテナント対応:名前空間を使用して、複数の分離された環境を標準でサポートします。
- HTTP/SSE トランスポート:Server-Sent Events(SSE)を使用する標準の MCP HTTP トランスポートを使用します。
ツール
| ツール名 | 説明 |
|---|---|
init_tasks | 新しいチェックリストセッションを初期化します。sessionId が存在しないことが必要です。存在する場合は、使用可能な sessionId の推奨値を含む誘導を返します。 |
update_tasks | 既存のセッションについて、指定した階層パスに新しいタスクを作成するか、既存のタスクを上書きします。 |
mark_task_as_done | 既存のセッションの指定したタスクを完了としてマークします。 |
get_all_tasks | 既存のセッションの階層型タスクリスト全体を取得します。 |
セッションのライフサイクルと誘導
- セッションの初期化:一意の
sessionIdを指定して、最初にinit_tasksを呼び出し、チェックリストセッションを作成します。 - セッションの分離:存在しない
sessionIdを指定してupdate_tasks、mark_task_as_done、またはget_all_tasksを呼び出すと、まずセッションを初期化するよう促す、エラーではない誘導が返されます。 - 競合の防止:すでに存在する
sessionIdを指定してinit_tasksを呼び出すと、代わりに使用できるsessionId(例:my-session_1)を提案する、エラーではない誘導が返されます。
クイックスタート
ローカルでの実行(Node.js)
npx または npm を使って、サーバーを直接実行できます。
npx を使用:
npx checklist-mcp-server
npm を使用:
git clone https://github.com/chene/checklist-mcp-server.git
cd checklist-mcp-server
npm install
npm run build
npm run start:http
サーバーはデフォルトでポート 8585 で起動します。
Docker での実行
docker run -d -p 8585:8585 --name checklist-mcp-server checklist-mcp-server:latest
Docker の詳しい手順については、DOCKER.md を参照してください。
設定
MCP クライアントの設定
HTTP エンドポイントに接続するよう、MCP クライアント(Claude Desktop やカスタムエージェントなど)を設定します。
{
"mcpServers": {
"checklist": {
"transport": "http",
"url": "http://localhost:8585/mcp"
}
}
}
マルチテナント(名前空間)
このサーバーは、namespace クエリパラメーターを使ったマルチテナントに対応しています。これにより、複数のエージェントやユーザーが同じサーバーインスタンス内に、それぞれ異なるデータを保存できます。
特定の名前空間を使用するには、サーバー URL に ?namespace=<your_namespace> を追加します。
特定の名前空間を使用するクライアント設定の例:
{
"mcpServers": {
"project-alpha": {
"transport": "http",
"url": "http://localhost:8585/mcp?namespace=project-alpha"
},
"project-beta": {
"transport": "http",
"url": "http://localhost:8585/mcp?namespace=project-beta"
}
}
}
名前空間が指定されていない場合、サーバーはデフォルトで default 名前空間を使用します。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。