Skip to content

feat(v1.0): MCP Tools & Prompts#1

Merged
akihidem merged 1 commit into
mainfrom
feat/mcp-tools-v1
May 11, 2026
Merged

feat(v1.0): MCP Tools & Prompts#1
akihidem merged 1 commit into
mainfrom
feat/mcp-tools-v1

Conversation

@akihidem
Copy link
Copy Markdown
Owner

@akihidem akihidem commented May 9, 2026

なぜ

v0.5 の MCP は Resources(読み取り専用)のみだった。phase set 等の書き込みは CLI 経由でしかできず、Claude Code セッションの中断が必要だった。v1.0 で MCP Tools を追加し、AI セッション内で状態変更も完結させる。

何を

Tools 3 種:

  • set_phase — design/implement/review/break のフェーズ切替
  • get_recommended_action — advise() ルールベースで推奨アクション判定
  • create_handoff — 構造化ハンドオフ・プロンプト生成

Prompts 4 種:

  • handoff/standard — 標準ハンドオフテンプレ
  • handoff/cross-model — モデル間引継ぎテンプレ
  • coach/phase-design-start — 設計フェーズ開始ガイド
  • coach/before-take-break — ブレイク前チェックリスト

設計判断

  • Tools は src/mcp/tools.ts、Prompts は src/mcp/prompts.ts に分離し、server.ts は初期化と登録呼び出しに専念
  • get_recommended_action は watch.ts の tick() と同じ advise() を使うが、MCP はスナップショット取得なので watch 側の dedup/cooldown/通知は不要。buildAdviseInput() ヘルパーで状態を集約
  • timer 系 Tool (start_timer/cancel_timer) は見送り — ポモドーロの対話的フォアグラウンドループと MCP の stateless tool の相性が悪い。v1.1 で背景プロセス管理を検討
  • consume_handoff は永続化ストア(ID 管理)が未実装のため見送り

スコープ外

  • start_timer / cancel_timer(v1.1)
  • consume_handoff(ハンドオフ永続化が前提)
  • report_token_usage(ccusage が既にカバー)
  • 履歴 Resources(cogsync://history/*)
  • ログ由来テキストのサニタイザ

検証方法

  • tsc --noEmit 型チェック通過
  • cogsync mcp で stdio 起動、クラッシュなし
  • Claude Code /mcp reconnect で 3 Tools が認識される
  • set_phase: design → implement 切替成功
  • get_recommended_action: snowball 233k/150k 検出 → create_handoff 推奨(confidence 0.9)
  • create_handoff: 構造化ハンドオフ + Markdown テキスト生成成功
  • 既存 Resources 4 種は変更なし

依存

  • @modelcontextprotocol/sdk ^1.29.0(既存依存、変更なし)
  • zod(MCP SDK のトランジティブ依存)

🤖 Generated with Claude Code

v0.5 の読み取り専用 Resources に加え、書き込み系 Tools 3 種と Prompts 4 種を追加。
CLI を叩かずに Claude Code セッション内で cogsync の状態変更が完結するようになる。

Tools:
- set_phase: design/implement/review/break のフェーズ切替
- get_recommended_action: advise() ルールベースで推奨アクションを返す
- create_handoff: 構造化ハンドオフ・プロンプト生成

Prompts:
- handoff/standard: 標準ハンドオフテンプレ
- handoff/cross-model: モデル間引継ぎテンプレ
- coach/phase-design-start: 設計フェーズ開始ガイド
- coach/before-take-break: ブレイク前チェックリスト

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@akihidem akihidem merged commit fb8cb0b into main May 11, 2026
@akihidem akihidem deleted the feat/mcp-tools-v1 branch May 11, 2026 00:30
akihidem added a commit that referenced this pull request May 11, 2026
なぜ:
- v1.0 機能 (MCP Tools/Prompts) が main 取り込み済みになり、配布できる段階に入った。
- これまで private 前提だった metadata と CLI エントリを公開向けに揃え、npm + GitHub public へ昇格できる状態を作る。

何を:
- package.json: `private` 解除、`repository`/`bugs`/`homepage`/`keywords`/`author`/`license`/`files`/`prepublishOnly` 追加。
- bin/cogsync.js: `tsx/esm` の tsImport で src/index.ts を直接起動するラッパー (`#!/usr/bin/env node`)。tsx を runtime 依存へ昇格。
- README: 公開向けに再構成(Install / Quickstart / MCP 登録 / Commands / 開発手順)。private 表記削除。
- CHANGELOG.md: Keep a Changelog 形式で v0.1〜v1.0 を記録。
- .github/workflows/ci.yml: Node 20/22 で typecheck + test。
- src/index.ts: `--version` を 1.0.0-alpha.0 に同期。

設計判断:
- ビルドステップ追加は α 中は避け、`tsx/esm` の tsImport API で `.ts` を直接実行する形を採用。配布物に src/ を含めて size 45.8kB に収まる。
- 公開直後は `--tag alpha` での publish を想定(npm install -g cogsync-cli@alpha)。stable は実利用フィードバック後。

スコープ外:
- 安定版(1.0.0)昇格・stable npm publish。
- repo public 化・GitHub Release(PR マージ後の別作業)。

検証方法:
- npm run typecheck: pass
- npm test: 10/10 pass
- node bin/cogsync.js --help / --version: 正常起動
- npm pack --dry-run: 32 files / 45.8kB、bin・src・LICENSE 同梱を確認

依存:
- 既存 main (PR #1 マージ済み)

Co-authored-by: akihidem <akihidem@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant