vibe-coding について
vibe-coding は Claude Code のセッション記録を取得し、レポート、開発ドキュメント、PR の説明文にまとめます。プロンプト、ファイル変更、コマンド、設計判断を検索可能な形で残したい開発者向けで、公開前のデータはローカルに保存されます。
主な機能
- 01Claude Code セッションの取得と検索
- 02スタンドアップや定期レポートの生成
- 03開発ドキュメントと PR 説明文の作成
- 04TypeScript、Python、Go のコード解析
- 05Notion、Obsidian、GitHub Wiki、Confluence、Slack、Discord への公開
活用シーン
- 01最近のコーディングセッションからスタンドアップを準備
- 02過去の設計判断の理由を検索
- 03セッションの文脈を使った PR 説明文の下書き
- 04セッションの設計判断を ADR として公開
MCP 対応
MCP サーバーは、セッションデータの取得、検索、要約、文書作成、公開に使うツール、リソース、プロンプトを提供します。stdio と HTTP に対応し、取得機能は現在 Claude Code のセッション記録を解析します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
15掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| tags | array | いいえ | 任意の分類タグ(言語タグは自動で追加されます) |
| rawText | string | いいえ | 抽出するコードブロックを含む生テキスト(codeBlocks の代替) |
| codeBlocks | array | いいえ | 言語とコード内容を含むコードブロックの配列 |
| includeStats | boolean | いいえ | 出力にコード統計を含めます(デフォルト:true) |
| removeDuplicates | boolean | いいえ | 重複するコードブロックを削除します(デフォルト:true) |
| autoDetectLanguage | boolean | いいえ | プログラミング言語を自動検出します(デフォルト:true) |
| conversationSummary | string | はい | 会話またはコンテキストの要約 |
詳細
vibe-coding-mcp
AI コーディングセッションを自動で記録します。Claude Code のセッションをトランスクリプトから取り込み、プロンプト、変更したファイル、コマンド、設計上の決定事項などを記録します。その後、スタンドアップ、週次レポート、ADR、PR の説明文にまとめ、Notion / Obsidian / GitHub Wiki / Confluence / Slack / Discord に公開します。
vibe-coding が必要な理由
Claude と4時間ペアプログラミングをしたとします。アーキテクチャ上の決定を3つ行い、8つのファイルを書き、2回変更を取り消しました。明日になれば、最初の案ではなく2つ目の案を選んだ理由を思い出せないでしょう。多くの人は、2週間も続かない手動の日記をつけるか、後から git log を調べて解決しようとします。しかし、git log でわかるのは変更の 内容 であり、その 理由 ではありません。
vibe-coding-mcp は、その問題を発生源から解決します。Claude Code は、すべてのセッションの完全なトランスクリプトをすでに ~/.claude/projects/ に書き込んでいます。小さなフック(vibe-coding-mcp hook)が各ターンの後にそのトランスクリプトを解析し、構造化されたセッションをローカルに保存します。そこには、依頼した内容、書き込みまたは編集したファイル(コードを含む)、実行したコマンド、所要時間、ブランチ、会話から検出できる設計上の決定事項が記録されます。そこから17個の MCP ツールを使って、セッションをスタンドアップ、週次レポート、日次ログ、DESIGN / ADR / README / API ドキュメント、PR の説明文にまとめ、任意の場所に公開できます。
記録に API キーは不要です。公開するまで、すべてのデータはディスク上に保存されます。
30秒でインストール
# 1. Register the MCP server with Claude Code (tools, resources, slash-command prompts)
claude mcp add -s user vibe-coding-mcp -- npx -y vibe-coding-mcp
# 2. Install the capture hooks into ~/.claude/settings.json (backup written first)
npx -y vibe-coding-mcp init
# 3. Restart Claude Code. Then import the sessions you already have and check health
npx -y vibe-coding-mcp capture --all
npx -y vibe-coding-mcp doctor
次に、Claude Code 内で以下を実行します。
/standup → Yesterday / Today / Blockers from captured sessions
/weekly-report → Shipped / Decisions / In progress / Next, per project
/daily-vibe-log → today's sessions as one log, offer to publish
@vibe-coding://search/redis → every session that touched redis (titles, prompts, or file paths)
または、次のように依頼するだけです。「先週、セッションではなく JWT を選んだ理由は?」、「昨日のセッションを DESIGN ドキュメントにまとめて、Obsidian の保管庫に入れて」、「このリファクタリングの PR の説明文を書いて」。
v2.14 からアップグレードしますか? 古い README に記載されていたフックの設定例では
claude mcp callを使っていましたが、これは実際の Claude Code コマンドではないため、何も記録されていませんでした。npx vibe-coding-mcp initを実行し、古い設定項目を削除してください。詳細はdocs/AUTO_CAPTURE.mdを参照してください。
v2.15.0 の新機能
- 自動記録が正しく動作します。
vibe-coding-mcp hookは Claude Code のフック JSON を stdin から読み込み、セッションのトランスクリプトを解析し、Claude の各セッションにつき1つのセッションを upsert します(冪等、常に exit 0、stdout には何も出力しません)。 init/doctor/captureCLI。 フックをマージとバックアップ付きでインストールし、診断を実行し、履歴を後から取り込みます。muse_digest。 記録したセッションを日・プロジェクト・タグごとにグループ化し、英語または韓国語でスタンドアップ/週次/月次レポートを作成します。muse_capture_transcript。 チャット内から必要に応じて記録します(「このセッションを保存して」)。- リソース
vibe-coding://sessions/today、vibe-coding://search/{query}と、プロンプト/standup、/weekly-report。 - エージェントスキル。
skills/vibe-coding/は、スキル対応エージェント(Claude Code、Cursor、Codex、…)に、サーバーをいつどのように使うかを指示します。npm run skill:packで zip をビルドします。
実際のユースケース
1. 「スタンドアップを書いて」
/standup は昨日と今日について muse_digest を呼び出し、さらに muse_git status を実行して、3つの箇条書きグループを返します。各項目は記録済みのセッションタイトル、ファイルパス、または決定事項に基づいており、内容を捏造することはありません。
2. 「今週リリースしたものは?」(1対1のミーティング、Slack、Notion 向け)
/weekly-report は muse_digest { period: "week", groupBy: "project" } を呼び出し、合計(セッション数、時間、ファイル数、決定事項数)、主なポイント(根拠を含む決定事項)、プロジェクトごとのセッションと変更したファイル、最も頻繁に変更したファイルを返します。必要に応じて muse_publish_document で Notion / Slack に公開できます。
3. 「なぜオプション B を選んだのですか?」
@vibe-coding://search/<keyword> は、タイトル、概要、タグ および変更されたファイルパス を照合します。セッションを開くと、designDecisions に問題 → 選択 → 根拠が、summary に実際に入力したプロンプトが記録されています。これは、差分だけでは得られないコンテキストです。
4. 「11 個のファイルに影響したリファクタリングの PR の説明」
/refactor-context は、セッション → muse_summarize_design_decisions → muse_analyze_code(AST + Mermaid)→ muse_git diff を連携し、「理由 / 変更内容 / トレードオフ / レビュー方法」にまとめます。
5. 「Obsidian の保管庫に ADR を追加する」
セッションに対して muse_summarize_design_decisions を実行し、muse_generate_dev_document { documentType: "DESIGN" }、muse_publish_document { platform: "obsidian" } の順に実行します。フロントマター、タグ、セッションへのバックリンクも含まれます。
ツール / リソース / プロンプト
| 名前 | 種類 | 機能 |
|---|---|---|
muse_capture_transcript | ツール | (新規) Claude Code のトランスクリプト → 保存済みセッション(capture / preview / list、バックフィルには all) |
muse_digest | ツール | (新規) キャプチャしたセッションを日別 / プロジェクト別 / タグ別にまとめたスタンドアップ / 週次 / 月次レポート |
muse_session_history | ツール | ~/.vibe-coding-mcp/sessions/ に対する save / get / update / delete / list / search / stats |
muse_session_stats | ツール | 生産性ダッシュボード:1 日あたりのセッション数、セッションあたりの決定数、言語別内訳 |
muse_summarize_design_decisions | ツール | 決定事項(問題 → 選択肢 → 選択 → トレードオフ)を抽出。EN/KO に対応し、Claude API は任意 |
muse_analyze_code | ツール | AST 分析(TypeScript / Python / Go)+ Mermaid 図 |
muse_generate_dev_document | ツール | README / DESIGN / TUTORIAL / CHANGELOG / API / ARCHITECTURE ジェネレーター |
muse_create_session_log | ツール | 日次またはセッションごとのログを作成 |
muse_export_session | ツール | セッションを Markdown / JSON / HTML にエクスポート |
muse_normalize_for_platform | ツール | Notion / GitHub Wiki / Obsidian 向けに Markdown の差異を調整 |
muse_publish_document | ツール | Notion / GitHub Wiki / Obsidian / Confluence / Slack / Discord に公開 |
muse_collect_code_context | ツール | 生テキストからコードブロックと概要を抽出 |
muse_git | ツール | status / log / diff / branch / snapshot + コミットから決定事項を抽出 |
muse_auto_tag | ツール | タグ候補の提案(Claude API、任意) |
muse_template | ツール | カスタムドキュメントテンプレート |
muse_project_profile | ツール | プロジェクトごとのデフォルト設定(プラットフォーム、タグ、言語) |
muse_batch | ツール | 1 回の往復で複数のツールを呼び出す |
vibe-coding://sessions/list | リソース | キャプチャしたすべてのセッション |
vibe-coding://sessions/today | リソース | (新規) 今日開始したセッションと、変更されたファイル |
vibe-coding://sessions/{id} | リソース | 1 つのセッションの全内容 |
vibe-coding://search/{query} | リソース | (新規) ファイルパスを含むキーワード検索 |
vibe-coding://config | リソース | 設定済みの公開プラットフォーム |
/daily-vibe-log | プロンプト | 今日のセッション → 1 つの日次ログ |
/standup | プロンプト | (新規) 昨日 / 今日 / ブロッカー |
/weekly-report | プロンプト | (新規) リリース済み / 決定事項 / 進行中 / 次の予定 |
/document-session | プロンプト | セッション → 開発ドキュメント → 公開 |
/refactor-context | プロンプト | セッション → PR の説明 |
スキル
skills/vibe-coding/ は Agent Skill(SKILL.md + references/ + scripts/setup.sh + assets/)です。このスキルはエージェントに、レポート作成前にキャプチャが実行中であることを確認する方法、依頼に応じたツールチェーンの選び方、スタンドアップ / 週次 / PR の出力形式、そして報告するすべての行をキャプチャ済みセッションにたどれるようにするルールを教えます。MCP サーバーと一緒にインストールしてください。
# Claude Code: drop it into your skills directory
cp -r skills/vibe-coding ~/.claude/skills/
# or build a zip for a marketplace (Agensi, etc.)
npm run skill:pack # → dist-skill/vibe-coding-skill-<version>.zip
仕組み
Claude Code ──Stop / SessionEnd hook──▶ vibe-coding-mcp hook ──▶ ~/.vibe-coding-mcp/sessions/*.json
│ (stdin: session_id, │ parse ~/.claude/projects/<slug>/<id>.jsonl
│ transcript_path, cwd) │ prompts · files+code · commands · timing · decisions
│ │ upsert by claudeSessionId
▼
Claude (or any MCP client) ──▶ src/cli.ts ──▶ src/stdio.ts ─┐
src/index.ts (HTTP, POST /mcp) ─┴─▶ src/core/mcpServerFactory.ts
├─ toolRegistry.ts (17 muse_* tools)
├─ resources.ts (5 resources)
└─ prompts.ts (5 prompts)
│
▼
src/tools/*.ts · src/core/{captureEngine,transcriptParser}.ts
src/core/sessionStorage.ts · src/platforms/*.ts
重要な設計上の選択:
- キャプチャではエディターではなく、トランスクリプトを読み取ります。 Claude Code はすでにすべてを記録しているため、後から解析します。フックはネットワーク呼び出しを行わず、stdout に何も書き込まず、失敗しても 0 で終了するため、セッションを遅くしたり中断したりすることはありません。
- Claude のセッションごとに 1 つのセッションを作成します。
Stopフックは各ターンの後に実行されます。キャプチャはclaudeSessionIdをキーにして、既存のデータを更新します。ユーザーが追加したタグは更新後も保持されます。 - ローカルファーストです。
~/.vibe-coding-mcp/sessions/<id>.jsonに保存します。データベースもテレメトリーもありません。お好みの方法でgrep、バックアップ、同期ができます。 - 1 つのレジストリ、2 つのトランスポートです。 HTTP と stdio から、
createMcpServer()を通じて同じ 17 個のツール/5 個のリソース/5 個のプロンプトを利用できます。
CLI リファレンス
vibe-coding-mcp start the MCP server (stdio)
vibe-coding-mcp init install Stop + SessionEnd hooks into ~/.claude/settings.json
--project | --local target .claude/settings.json | .claude/settings.local.json
--dry-run | --print show merged file | print only the hooks block
--remove uninstall
--command "<cmd>" custom hook command
vibe-coding-mcp capture capture the newest transcript for the cwd
--all every transcript for the cwd (backfill)
--transcript <path> --cwd <dir> --dry-run --json
vibe-coding-mcp doctor hooks · transcripts · store · last hook run · platforms
vibe-coding-mcp hook (used by the hooks) stdin JSON → capture
設定
| 環境変数 | 必要な機能 | 用途 |
|---|---|---|
| (なし) | キャプチャ、ダイジェスト、検索、ドキュメント | 設定なしで動作します |
ANTHROPIC_API_KEY | useAI オプション、muse_auto_tag | Claude API を利用した分析 |
NOTION_API_KEY + NOTION_DATABASE_ID | Notion への公開 | |
GITHUB_TOKEN + GITHUB_REPO | GitHub Wiki への公開 | |
OBSIDIAN_VAULT_PATH | Obsidian のデフォルト Vault | または options.vaultPath を渡します |
CONFLUENCE_BASE_URL + CONFLUENCE_USERNAME + CONFLUENCE_API_TOKEN + CONFLUENCE_SPACE_KEY | Confluence | |
SLACK_WEBHOOK_URL / DISCORD_WEBHOOK_URL | Slack / Discord | |
VIBE_CODING_STORAGE_DIR | — | セッションの保存先を変更します |
CLAUDE_CONFIG_DIR | — | Claude Code の設定が ~/.claude にない場合に指定します |
PORT | HTTP モードのみ | デフォルトは 3000 です |
設定されていない連携を必要とするツールは、クラッシュする代わりに、構造化された INTEGRATION_NOT_CONFIGURED エラーを返します。
既知の制限事項
- 現時点では Claude Code のみです。 キャプチャでは Claude Code のトランスクリプト形式を解析します。Cursor / Codex のトランスクリプト対応はロードマップに含まれています。MCP ツール自体は、どの MCP クライアントからでも利用できます。
- 意思決定の抽出はヒューリスティックです。 API キーを設定して
useAI: trueにしない場合、「decided / chose / instead of / because」というパターンを英語と韓国語で探します。 - AST 分析は TS / Python / Go に対応しています。
- 公開は一方向です。 Notion / Wiki で行った編集は取り込みません。
- 保存先は単一ユーザー向けです。 全員のセッションを横断してチーム検索するには、共有ストアが必要です(ロードマップ)。
これは使用しないでください
- 自動 コミットメッセージ → aicommits などを使用してください。このツールはドキュメントを生成します。
- 全員のセッションを横断する チーム全体の検索 → その上に Notion DB を構築するか、共有ストアの提供をお待ちください。
- 手書きのリッチなメモ → Obsidian / Notion を直接使用してください。このツールはキャプチャしてから公開するためのものです。
ロードマップ
- Cursor / Codex CLI のトランスクリプトのキャプチャ。
- 共有セッションストア(S3 / Git / WebDAV)とチームモード。
- 現在のセッションの意思決定に基づく
prepare-commit-msgの提案。 - Rust / Swift / Kotlin の AST と図表。
コントリビューション
git clone https://github.com/MUSE-CODE-SPACE/vibe-coding-mcp
cd vibe-coding-mcp
npm install
npm run typecheck && npm test && npm run build
node dist/cli.js capture --dry-run # try the capture engine on your own transcript
ツールの追加には、src/tools/<name>.ts にファイルを 1 つ作成し、src/core/schemas.ts に Zod スキーマを追加して、src/core/toolRegistry.ts にエントリーを 1 つ追加します。CI では Node 22 および 24 で型チェック、ビルド、テストを実行します。
セキュリティ
パスの検証、ファイル名のサニタイズ、HTTPS と許可リストによる Webhook URL の制限、タイムアウトとバックオフを備えたアウトバウンド HTTP を実装しています。詳しくは src/core/security.ts と SECURITY.md をご覧ください。キャプチャフックが保存するのは、プロンプト、アシスタントの文章、アシスタントが書いたコード、実行したコマンドのみです。ツールの出力、サブエージェントのサイドチェーン、システムからのリマインダーは破棄されます。
脆弱性は GitHub Security Advisory から非公開で報告してください:https://github.com/MUSE-CODE-SPACE/vibe-coding-mcp/security/advisories/new。
ライセンス
MIT — LICENSE をご覧ください。
メンテナー
@yoon-k(MUSE-CODE-SPACE)。問題の報告とサポート:https://github.com/MUSE-CODE-SPACE/vibe-coding-mcp/issues。
한국어 요약
vibe-coding-mcp는 Claude Code 세션을 자동으로 문서화하는 MCP 서버 + 에이전트 스킬입니다. Claude Code가 남기는 트랜스크립트(~/.claude/projects/)를 훅이 매 턴마다 파싱해서 프롬프트 · 수정한 파일과 코드 · 실행한 명령 · 소요 시간 · 브랜치 · 설계 결정을 ~/.vibe-coding-mcp/sessions/에 저장합니다. API 키 없이 동작하고, 발행하기 전까지는 아무것도 외부로 나가지 않습니다.
claude mcp add -s user vibe-coding-mcp -- npx -y vibe-coding-mcp # MCP 등록
npx -y vibe-coding-mcp init # 훅 설치 (settings.json 백업 후 병합)
npx -y vibe-coding-mcp capture --all # 기존 세션 가져오기
npx -y vibe-coding-mcp doctor # 상태 확인
Claude Code 안에서 /standup(어제·오늘·블로커), /weekly-report(주간 보고, language: ko 지원), /daily-vibe-log, @vibe-coding://search/키워드를 바로 쓸 수 있고, "지난주에 왜 JWT를 골랐지?", "어제 세션을 DESIGN 문서로 만들어서 Obsidian에 넣어줘", "이 리팩터링 PR 설명 써줘" 같은 요청에 muse_* 도구 17개가 대응합니다.
v2.14의 훅 레시피(
claude mcp call)는 존재하지 않는 명령이라 실제로 캡처가 되지 않았습니다. v2.15에서init으로 교체하세요.
설치·검증·백필은 docs/AUTO_CAPTURE.md, 변경 이력은 CHANGELOG.md, 스킬 패키지는 skills/vibe-coding/ 참고.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。