YAML Task Management MCP Server
March 14, 2025 · View on GitHub
YAMLベースのタスク管理システムを提供するModel Context Protocol (MCP) サーバーです。標準的なYAML形式でタスクを管理できます。
機能
- 標準YAML形式を使用したタスク管理
- シンプルで直感的なタスク構造のサポート
- タスクの詳細情報(説明、優先度、タグ、依存関係など)
- 進捗状況の追跡と表示
- MCPを通じたタスク管理機能の提供
インストール
方法1: NPMからリポジトリを直接インストール(推奨)
# グローバルインストール(どこからでもコマンドとして使用可能)
npm install -g git+https://github.com/sososha/task_yaml.git
# または特定のプロジェクト内にインストール
npm install git+https://github.com/sososha/task_yaml.git
インストール後、yaml-task-mcpコマンドが使用可能になります。また、自動的にCursor用の設定ファイルが生成されます。
方法2: リポジトリをクローンしてセットアップ
# リポジトリのクローン
git clone https://github.com/sososha/task_yaml.git
cd task_yaml
# 依存パッケージのインストールとビルド
cd mcp-server/yaml-task-mcp
npm install
npm run build
cd ../..
使い方
サーバーの起動
NPMインストール済みの場合
# コマンド一つで起動
yaml-task-mcp
# または環境変数で設定を変更して起動
PORT=4000 PROJECT_ROOT=/path/to/your/project TASK_PATH=/path/to/your/tasks yaml-task-mcp
リポジトリをクローンした場合
# 起動スクリプトを使用
./start-yaml-task-mcp.sh
# または環境変数で設定を変更して起動
PORT=4000 PROJECT_ROOT=/path/to/your/project TASK_PATH=/path/to/your/tasks ./start-yaml-task-mcp.sh
デフォルトでは、サーバーはポート3999で起動します。
環境設定
.env.yaml-task-mcp ファイルで以下の設定ができます:
PROJECT_ROOT=/Users/yourusername/path/to/project
TASK_PATH=/Users/yourusername/path/to/project/tasks
PORT=3999
DEBUG=true
Cursorエディタでの使用
-
Cursorエディタをインストールします(https://cursor.sh/)
-
以下のいずれかの方法でMCP設定を行います:
方法A: NPMでインストールした場合(自動設定)
NPMでインストールした場合、プロジェクトのルートにmcp.jsonが自動生成されます。もし生成されない場合は、手動で作成してください。
方法B: .cursor/mcp.jsonを使用する場合
プロジェクト内に.cursorディレクトリを作成し、その中にmcp.jsonファイルを作成します:
{
"mcpServers": {
"yaml-task": {
"command": "yaml-task-mcp",
"env": {
"PROJECT_ROOT": "${workspaceRoot}",
"TASK_PATH": "${workspaceRoot}/tasks",
"PORT": "3999",
"DEBUG": "false"
}
}
}
}
方法C: リポジトリをクローンした場合
プロジェクトルートにmcp.jsonファイルを作成します:
{
"mcpServers": {
"yaml-task": {
"command": "/bin/sh",
"args": ["start-yaml-task-mcp.sh"],
"cwd": "/path/to/task_yaml",
"env": {
"PROJECT_ROOT": "${workspaceRoot}",
"TASK_PATH": "${workspaceRoot}/tasks"
}
}
}
}
-
Cursorエディタを再起動します
-
以下のプロンプトでYAMLタスク管理を使用できます:
@mcp yaml-task create-task {"title": "新しいタスク", "status": "not_started", "file": "tasks/main.yaml"}
タスク形式
タスクは標準YAML形式で管理され、次のような構造を持ちます:
tasks:
- id: "d24e84e7-eb37-4b64-b5a4-d64f710c9c5d"
title: "タスクの例"
status: "not_started"
details:
description: "タスクの説明をここに記述"
priority: "HIGH"
tags:
- "例"
- "タスク"
- id: "b07e5860-5ff2-4d75-be9c-be8599cc7392"
title: "別のタスク"
status: "in_progress"
dependencies:
- "d24e84e7-eb37-4b64-b5a4-d64f710c9c5d"
details:
description: "別のタスクの説明"
priority: "MEDIUM"
tags:
- "例"
- "別"
MCPツール
-
create-task: 新しいタスクを作成- パラメータ: title, status, file, parentId, details
-
update-task: 既存のタスクを更新- パラメータ: id, title, status, file, parentId, details
Cursorでの使用例
# 新しいタスクを作成
@mcp yaml-task create-task {
"title": "設計書を作成する",
"status": "not_started",
"file": "tasks/main.yaml",
"details": {
"description": "プロジェクトの設計書を作成する",
"priority": "HIGH",
"tags": ["設計", "ドキュメント"]
}
}
# タスクを更新
@mcp yaml-task update-task {
"id": "d24e84e7-eb37-4b64-b5a4-d64f710c9c5d",
"status": "in_progress",
"file": "tasks/main.yaml"
}
対応タスクステータス
not_started: 未着手in_progress: 進行中review: レビュー中done: 完了completed: 完全に完了blocked: ブロック中cancelled: キャンセル
ライセンス
MIT