Task MCP Server
Enables GitHub Copilot in VS Code to manage tasks through the MCP server, allowing AI-assisted task creation, listing, and organization within the development workflow.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Task MCP Serveradd a task to call the dentist tomorrow"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Task MCP Server — MCP 学習用サンプル
このサンプルの目的
MCP (Model Context Protocol) の基本要素である Resources / Tools / Prompts を、 シンプルな ToDo 管理サーバーを通じて一通り体験するための学習用サンプルです。
何が学べるか
Resources: AI クライアントがサーバーからデータを読み取る仕組み
Tools: AI クライアントがサーバーに対して操作を実行する仕組み
Prompts: AI に特定の視点や文脈を与えるテンプレートの仕組み
MCP サーバーの基本的な構成と STDIO transport での通信
MCP の仕組み
MCP は、AI アプリケーション(ホスト)が外部のデータやツールに統一的にアクセスするためのプロトコルです。
全体像
graph TB
subgraph host[" "]
HostLabel["🖥️ ホスト(Claude Desktop / VS Code など)"]
LLM["LLM"]
ClientA["MCP クライアント"]
ClientB["MCP クライアント"]
ClientC["MCP クライアント"]
HostLabel ~~~ LLM
LLM --- ClientA
LLM --- ClientB
LLM --- ClientC
end
ClientA -- "STDIO" --> ServerA["MCP サーバー A\n(本サンプル)"]
ClientB -- "STDIO" --> ServerB["MCP サーバー B\n(別のサーバー)"]
ClientC -- "SSE/HTTP" --> ServerC["MCP サーバー C\n(リモート)"]
style host fill:#1a1a2e,stroke:#e0e0e0,stroke-width:2px,color:#ffffff
style HostLabel fill:none,stroke:none,font-weight:bold,color:#ffffff
style LLM fill:#ffffff,stroke:#333333,color:#000000
style ClientA fill:#ffffff,stroke:#333333,color:#000000
style ClientB fill:#ffffff,stroke:#333333,color:#000000
style ClientC fill:#ffffff,stroke:#333333,color:#000000ホスト: AI アプリケーション本体。ユーザーとの対話や LLM の呼び出しを行う
MCP クライアント: ホストに組み込まれ、各 MCP サーバーと 1:1 で通信する
MCP サーバー: Resources / Tools / Prompts を提供する。本サンプルがこれにあたる
MCP サーバーが提供する 3 つの要素
block-beta
columns 1
block:server["MCP サーバー"]
R["📖 Resources(データ参照)\nタスク一覧 ・ 統計情報"]
T["🔧 Tools(操作の実行)\nタスク追加 ・ タスク完了 ・ 検索"]
P["💬 Prompts(テンプレート)\nデイリーレビュー ・ タスク分解"]
end要素 | 方向 | 役割 | 例(本サンプル) |
Resources | サーバー → クライアント | データの読み取り。URI を指定して取得する |
|
Tools | クライアント → サーバー | 操作の実行。引数を渡して処理を呼び出す |
|
Prompts | サーバー → クライアント | AI への指示テンプレート。動的にデータを埋め込める |
|
通信の流れ(本サンプルの場合)
sequenceDiagram
participant U as ユーザー
participant H as ホスト / LLM
participant C as MCP クライアント
participant S as MCP サーバー
participant F as tasks.json
U->>H: 「タスクを追加して」
H->>C: add_task 呼び出し
C->>S: JSON-RPC request
S->>F: ファイル書き込み
F-->>S: OK
S-->>C: JSON-RPC response
C-->>H: 結果を返す
H-->>U: 「追加しました」ユーザーが自然言語で依頼する
ホストの LLM が適切なツールを選び、MCP クライアント経由で呼び出す
MCP サーバーが処理を実行し(本サンプルでは tasks.json を読み書き)、結果を返す
LLM が結果をもとにユーザーへ応答する
ポイント: MCP クライアントとサーバーの間は JSON-RPC 2.0 で通信します。本サンプルでは transport に STDIO(標準入出力)を使っているため、サーバーの
stdoutは MCP 通信専用です。ログ出力にはstderrを使います。
ファイル構成
├── server.py # MCP サーバー本体(Resources / Tools / Prompts を登録)
├── task_store.py # Task モデルと JSON 永続化
├── requirements.txt # 依存パッケージ
├── tasks_sample.json # サンプルデータ(動作確認用)
├── README.md
└── tests/
└── test_task_store.py # ストレージ層のテスト前提条件
Python 3.10 以上
セットアップ
# 仮想環境の作成(推奨)
python -m venv .venv
source .venv/bin/activate
# 依存パッケージのインストール
pip install -r requirements.txt
# テスト用パッケージ(テストを実行する場合)
pip install pytest# 仮想環境の作成(推奨)
python -m venv .venv
.venv\Scripts\Activate.ps1
# 依存パッケージのインストール
pip install -r requirements.txt
# テスト用パッケージ(テストを実行する場合)
pip install pytest起動方法
# サンプルデータを使う場合はコピー
cp tasks_sample.json tasks.json
# サーバー起動(STDIO transport)
python server.py# サンプルデータを使う場合はコピー
Copy-Item tasks_sample.json tasks.json
# サーバー起動(STDIO transport)
python server.pyサーバーは標準入出力で MCP プロトコルを話します。 直接実行しても人が読める出力は出ません。MCP クライアントから接続して使います。
MCP クライアントからの使い方
Claude Desktop の場合
Claude Desktop のメニューから Settings を開く
左メニューの Developer を選択
Edit Config ボタンをクリックすると設定ファイルが開く
設定ファイルに以下の内容を追加する(
cwdはこのリポジトリを配置したディレクトリの絶対パスに置き換えてください)ファイルを保存し、Claude Desktop を再起動する
チャット画面の入力欄にハンマーアイコンが表示されれば接続成功
注意: Claude Desktop の再起動は、ウィンドウ右上の × ボタンではアプリが終了しません(バックグラウンドに残ります)。メニューバーの File > Exit(macOS では Claude > Quit Claude)から完全に終了したうえで、再度起動してください。
設定ファイルの場所:
OS | パス |
macOS |
|
Windows |
|
設定内容(パスは環境に合わせて書き換えてください):
{
"mcpServers": {
"task-server": {
"command": "python",
"args": ["/path/to/mcp-sample/server.py"],
"cwd": "/path/to/mcp-sample"
}
}
}注意:
argsのserver.pyは絶対パスで指定してください。相対パスにするとcwdが反映されず、意図しないディレクトリで実行される場合があります。
使用例 — チャット欄に以下のように入力します:
add_task で「買い物リストを作る」というタスクを追加して
→ add_task ツールが呼ばれ、タスクが追加される
list_tasks でタスク一覧を表示して
→ list_tasks ツールが呼ばれ、一覧が表示される
daily_review プロンプトを使って、今日やることを整理して
→ daily_review Prompt をもとに提案が返るヒント: MCP ツールは曖昧な自然言語では呼び出されないことがあります。ツール名やプロンプト名を含めて指示すると確実です。
Claude Code (CLI) の場合
プロジェクトのルートディレクトリに .mcp.json を作成します:
# mcp-sample ディレクトリ内で実行
claude mcp add task-server -- python server.pyまたは、手動で .mcp.json を作成しても構いません:
{
"mcpServers": {
"task-server": {
"command": "python",
"args": ["server.py"]
}
}
}接続確認:
# Claude Code を起動して /mcp コマンドで確認
claude
> /mcpツール一覧に add_task や list_tasks が表示されれば接続成功です。
使用例 — Claude Code のプロンプトに直接入力します:
> add_task で「レポート作成」というタスクを優先度 high で追加して
> list_tasks で高優先度のタスクだけ表示して
> search_tasks で「レポート」を検索して
> complete_task でタスク a1b2c3d4 を完了にして
> weekly_summary プロンプトを使って今週の振り返りをしてVS Code (GitHub Copilot) の場合
VS Code では .vscode/mcp.json に設定を置きます:
{
"servers": {
"task-server": {
"command": "python",
"args": ["server.py"],
"cwd": "${workspaceFolder}"
}
}
}.vscode/mcp.jsonを保存すると、ファイル上部に Start ボタンが表示されるStart をクリックしてサーバーを起動
Copilot Chat(Agent モード)からツールが利用可能になる
使用例 — Copilot Chat を Agent モードに切り替えてから入力します:
add_task で期限 2026-04-10 の「設計レビュー」タスクを追加して
list_tasks で status が doing のタスクを表示して
break_down_task プロンプトでタスク a1b2c3d4 を小さく分解してManus の場合
Manus は、ユーザーの指示をもとに自律的にタスクを遂行する AI エージェントプラットフォームです。MCP クライアントとしても動作し、外部の MCP サーバーに接続してツールやデータを利用できます。
Manus の設定画面から MCP サーバーを追加します:
Manus の Settings(設定)を開く
MCP Servers セクションで Add Server をクリック
以下の内容を設定する:
項目 | 値 |
Name |
|
Transport |
|
Command |
|
Arguments |
|
注意: Manus はクラウド上で動作するため、ローカルの MCP サーバーに接続するにはサーバーをリモートからアクセス可能にするか、Manus が提供するローカル接続機能を利用する必要があります。詳しくは Manus の公式ドキュメントを参照してください。
設定を保存すると、Manus のエージェントがタスク実行時に本サーバーのツールを自動的に選択・呼び出しできるようになります。
使用例 — Manus に以下のように指示します:
タスク一覧を確認して、期限が近いものを優先度順に整理して
→ list_tasks ツールで一覧を取得し、整理した結果を返す
「企画書を書く」というタスクを追加して、さらに小さなステップに分解して
→ add_task でタスクを追加し、break_down_task で分解まで自動実行ヒント: Manus は自律的にツールを組み合わせて実行するため、複数のステップにまたがる指示もまとめて処理できます。
提供している MCP 機能一覧
Resources(データ読み取り)
URI | 説明 |
| 全タスク一覧 |
| 未完了タスク一覧(open / doing) |
| 統計情報(total, open, doing, done, overdue) |
| 特定タスクの詳細 |
Tools(操作)
ツール名 | 説明 |
| タスクを追加 |
| タスク一覧(status / priority / tag / limit でフィルタ可) |
| タスクを更新(変更したいフィールドだけ指定) |
| タスクを完了にする |
| タスクを削除 |
| title / notes を部分一致検索 |
Prompts(AI 向けテンプレート)
Prompt 名 | 説明 | 引数 |
| 今日やるべきことを整理するデイリーレビュー | なし |
| 大きなタスクを小さく分解する |
|
| 週次の振り返りと来週の計画 | なし |
データ保存先
tasks.json(サーバーと同じディレクトリに自動作成)JSON 形式で全タスクを保存
テスト
python -m pytest tests/ -vテストの実行コマンドは Bash / PowerShell 共通です。
制約事項
単一ユーザー向け: 同時アクセスやユーザー管理は非対応
ローカル専用: ネットワーク公開は想定していない
学習用: 本番運用向けの堅牢性・セキュリティは考慮していない
DB 未使用: データは JSON ファイルに保存
認証なし: 認証・認可の仕組みは含まない
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/m-higuchi/mcp-sample'
If you have feedback or need assistance with the MCP directory API, please join our Discord server