Skip to main content
Glama

@outputty/tasks-mcp

outputty のタスクトラッカーを型付きツールとして公開するローカル MCP サーバーです。依存グラフはリポジトリ内のコミット済みキャッシュに格納され、各タスクは GitHub IssueGitHub Projects ボードに双方向に同期されます。コーディングエージェントは CLI を呼び出す代わりに add_task / list_ready / schedule を呼び出します。

  • キャッシュがグラフを所有します。 依存関係は GitHub Issue には保存できないため、正となるタスクグラフはコミット済みファイル(.claude/tasks.cache.yaml)です。これはリポジトリとともに移動し、新規クローン後も保持されます。

  • バックエンドは同期先です。 GitHub Issues は人向けの記録(タイトル、オープン/クローズ、ボディのミラー)を保持し、GitHub Projects はかんばんビューを提供します。読み取りはキャッシュから行われるため、GitHub を待つことはありません。

  • 既存の認証情報。 GITHUB_TOKEN、または gh auth login がすでに保存しているものを使用します。新しいログインは不要です。

必要条件

必要なもの

用途

bun ≥ 1.1

サーバーを実行する(bunx、ビルド不要)

origin リモートを持つ GitHub リポジトリ

サーバーは呼び出しごとにそれから owner/repo を読み取る

gh にログインしているか、GITHUB_TOKEN が設定されている

Octokit がこれらから認証する(REST + GraphQL)

Related MCP server: mcp-server-tasktracker

インストール

クローンは不要です。プロジェクトの .mcp.json にサーバーを追加すると、Claude Code が必要に応じて bunx で起動します。

{
  "mcpServers": {
    "tasks": { "command": "bunx", "args": ["-y", "@outputty/tasks-mcp"] }
  }
}

上記は stdio トランスポートを実行します。長期稼働する共有インスタンスの場合は、代わりに HTTP サーバーを実行してください。

bunx -y @outputty/tasks-mcp --http        # http://localhost:3917/mcp  (health: /health)
{
  "mcpServers": {
    "tasks": { "type": "http", "url": "http://localhost:3917/mcp" }
  }
}

ツールの機能

すべてのツールは project(操作対象リポジトリの絶対パス)を受け取ります。サーバー自体にはワーキングディレクトリがないためです。未認識のリポジトリへの最初の書き込み時に、outputty ラベルと(有効になっている場合)Projects ボードが自動的にプロビジョニングされます。

// add_task — a typed call, so a multi-line brief needs no shell quoting
{
  "project": "/abs/path/to/repo",
  "id": "api",
  "title": "Build the API",
  "deps": ["schema"],
  "scope": ["src/api"],
  "tier": 2,
  "qa": "inline",
  "brief": "turn the contract into a failing test,\nthen the laziest diff",
}

これにより、タスクがコミット済みキャッシュに記録され、outputty:id:api というラベルの付いた GitHub issue が開かれ、ボードにカードが追加されます。

// list_ready — the graph engine over the cache
{ "project": "/abs/path/to/repo" }
// -> { "ids": ["schema"], "tasks": [ { "id": "schema", "status": "open", "tier": 3, "qa": "subagent" } ] }

schema は準備完了で api は未完了です。apischema を待っているためです。schema をクローズ(close_task)すると、次の呼び出しで api がすぐに準備完了になります。読み取りはキャッシュローカルで行われ、GitHub のインデックス遅延はありません。

ツール

動作

書き込み

list_ready

オープン、確定済み、依存がすべて完了

list_planning

ドラフト中、またはビルドによって差し戻された(再計画)

schedule

依存レイヤーとしての全体計画。循環があるとエラー

get_task

1つのタスクの完全なレコード

add_task

タスクを作成(キャッシュ + issue + ボード)

amend_task

オープンタスクのスコープを広げる、またはブリーフを設定

close_task

完了にする(issue をクローズし、カードを移動)

sync

issue のステータスをキャッシュに取り込み、グラフをターゲットに再プッシュ

仕組み

   MCP tools    ── stdio (bunx, for Claude Code)  ·  http (hono, standalone)
        │  each call carries { project, branch? }
        ▼
   CACHE  .claude/tasks.cache.yaml   ── the authoritative task model + DEPENDENCY GRAPH (committed)
        │  the pure graph engine (ready / schedule / planning) runs over this
        ▼
   Sync targets (two-way, per representable field)
        ├── GitHub Issues (REST)      title · status(open/closed) · id(label) · body-mirror   [primary]
        └── GitHub Projects v2 (GraphQL)   each task-issue → a board card; status → a column   [best-effort]

権限の分割。 依存グラフを保持できるのはキャッシュだけです。GitHub は表現できるフィールドを保持します。UI でクローズされた issue は次の sync で優先されます。Issues がプライマリであり(書き込みは必ずそこに到達する必要があります)、Projects はベストエフォートです(ボードの問題は警告になり、タスクが失われることはありません)。

タスク ↔ issue のマッピング:

タスクフィールド

Issue 上の場所

id

ラベル outputty:id:<id>(安定したキー。タイトル編集後も保持)

title / status

issue タイトル / オープン ↔ クローズ

deps scope brief contract tier qa spec stage attempts

issue ボディ内の隠し YAML ブロック(deps は読者向けにミラーリング)

そのブロックの下に人間が書いた文章は、更新をまたいで保持されます。

カンバンボード(GitHub Projects v2)

各タスク issue は Projects v2 ボードに追加され、その Status 列がタスクを追跡します(open → Tododone → Done)。デフォルトでは、サーバーはリポジトリにリンクされた Tasks という名前のボードを検索または作成します。既存のボードを projectNumber で指定するか、完全にオフにすることができます。

Projects v2 ではトークンの project スコープが必要ですが、gh はデフォルトでこれを付与しません。一度 gh auth refresh -s project で追加してください。これがない場合、ボード同期は警告付きでスキップされ、タスクは引き続き issue として作成されます(Projects はベストエフォートです)。

# .claude/tasks-mcp.config.yaml   (all optional)
projects: true # set false to disable the board
projectNumber: 7 # target an existing board instead of find/create "Tasks"
board: Tasks # the title to find/create when projectNumber is absent

MCP トランスポート

ツールのみのサーバーは、サーバー主導のメッセージを送信しません。stdio では改行区切りの JSON-RPC を使用します。HTTP では Streamable HTTP トランスポートが、1つの JSON-RPC メッセージの入力に対して1つの JSON 応答を返す形に集約されます。SSE ストリームやセッション ID はありません。どちらも initializetools/listtools/call(および pinginitialized 通知)を処理します。これが、サーバー全体が単なる hono + octokit で構成されている理由です。

設定

変数

説明

デフォルト

必須

OUTPUTTY_MCP_PORT

HTTP ポート(--http モード)

3917

不要

GITHUB_TOKEN / GH_TOKEN

Octokit 用の GitHub トークン

gh auth token にフォールバック

不要

OUTPUTTY_PROJECT_NUMBER

既存の Projects ボードを指定

「Tasks」を検索/作成

不要

OUTPUTTY_PROJECTS

off でボード同期を無効化

on

不要

制限事項

  • Projects の同期は現時点ではベストエフォートかつ一方向です。 ボード上で移動されたカードはまだキャッシュに読み戻されません。issue の状態が正規のステータスです。ボードからキャッシュへの取り込みは今後の対応です。

  • REST issues エンドポイントは非推奨化の流れにあります(GitHub は2028年までに現在のバージョンを廃止します)。Octokit は通知を出力しますが、今すぐ壊れるものはありません。

開発

bun test            # graph engine · GitHub Issues + Projects targets (mocked) · service · MCP protocol
bun run dev         # hot-reloading HTTP server

すべてのターゲットはインメモリのフェイクに対してテストされるため、テストスイートはネットワークも認証情報も必要としません。

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • An MCP server that gives your AI access to the source code and docs of all public github repos

  • A MCP server built for developers enabling Git based project management with project and personal…

  • MCP server for generating rough-draft project plans from natural-language prompts.

View all MCP Connectors

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/outputty/tasks-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server