vibemap-mcp について
vibemap-mcp は IDE のコーディングエージェントを VibeMap のプロジェクト仕様や進捗管理に接続します。構造化された仕様をエージェントに渡せるほか、既存コードベースを分析して VibeMap のアセットを作成できます。
主な機能
- 01IDEエージェントへの仕様読み込み
- 02仕様とプロジェクトアセットの作成・管理
- 03カンバンでの作業追跡
- 04受け入れ条件の取得と進捗報告
- 05既存コードベースの分析とマッピング
- 06仕様のずれ検出と変更同期
活用シーン
- 01実装前にコーディングエージェントへ要件を渡す
- 02条件単位の開発作業とレビューを追跡
- 03既存リポジトリをVibeMapに取り込む
- 04コード変更後にプロジェクト仕様を調整
MCP 対応
MCP サーバーは、互換性のあるコーディングエージェントに VibeMap のプロジェクト、仕様、コードベース、カンバン用ツールとワークフロープロンプトを公開します。利用には VibeMap API キーが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
35掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
@vibemap.ai/mcp-server
Model Context Protocolを介して、IDE エージェントをVibeMapに接続します。プロジェクト仕様をMCP対応のAIコーディングエージェントに読み込ませたり、既存のコードベースをリバースエンジニアリングして、構造化されたVibeMapアセットに変換したりできます。
クイックスタート
{
"mcpServers": {
"vibemap": {
"command": "npx",
"args": ["-y", "@vibemap.ai/mcp-server"],
"env": {
"VIBEMAP_API_KEY": "vm_your_token_here",
"VIBEMAP_BASE_URL": "https://vibemap.ai"
}
}
}
}
APIキーは、vibemap.ai → Account → Developer → API Keysで生成してください。
機能
送信(VibeMap → IDE): 機能、ユーザーストーリー、受け入れ条件、ペルソナ、ページ、DBスキーマなど、プロジェクトの全コンテキストをIDEエージェントに読み込ませます。エージェントは仕様に沿って構築し、作業中にVibeMapのカンバンをリアルタイムで更新します。
受信(IDE → VibeMap): 既存のコードベースをサーバーに指定すると、VibeMapのAIがリバースエンジニアリングを行い、構造化された機能、ユーザーストーリー、受け入れ条件に変換します。
必要条件
- Node.js ≥ 18
- VibeMapアカウント
IDE のセットアップ
Claude Desktop
設定ファイル:~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)
{
"mcpServers": {
"vibemap": {
"command": "npx",
"args": ["-y", "@vibemap.ai/mcp-server"],
"env": {
"VIBEMAP_API_KEY": "vm_your_token_here",
"VIBEMAP_BASE_URL": "https://vibemap.ai"
}
}
}
}
保存後、Claude Desktopを完全に再起動してください。メッセージボックスに🔨ハンマーアイコンが表示されることを確認してください。
Cursor
Settings → MCPを開き、次を追加します。
{
"vibemap": {
"command": "npx",
"args": ["-y", "@vibemap.ai/mcp-server"],
"env": {
"VIBEMAP_API_KEY": "vm_your_token_here",
"VIBEMAP_BASE_URL": "https://vibemap.ai"
}
}
}
Windsurf
Cursorと同じ形式です。WindsurfのMCP設定ファイルに追加して、再起動してください。
環境変数
| 変数 | 説明 | デフォルト |
|---|---|---|
VIBEMAP_API_KEY | 個人アクセストークン(vm_...) | 必須 |
VIBEMAP_BASE_URL | VibeMapインスタンスのURL | http://localhost:3000 |
ツール
このサーバーは、vibemap_プレフィックスを使用して55個のツールを公開します。
プロジェクトとコンテキスト
| ツール | 説明 |
|---|---|
vibemap_list_projects | すべてのプロジェクトを一覧表示します |
vibemap_create_project | 新しいプロジェクトを作成します(analyze_codebaseの前に使用) |
vibemap_get_project_context | プロジェクトの全仕様をエージェントのコンテキストに読み込みます |
vibemap_get_atomic_blueprint | プロジェクト全体のコード構造に沿った設計図を取得します(大規模です。足場作りや監査に使用し、単一チケットの実装には使用しないでください。その場合はvibemap_get_criterion_contextを使用してください) |
vibemap_list_access_rules | RLSと認証のための、テーブル単位およびページ単位のアクセスルール(op_conditionsを含む)を一覧表示します |
vibemap_get_page_source | ページとそのセクションのソースコードを取得します |
ペルソナとページ(仕様の作成)
| ツール | 説明 |
|---|---|
vibemap_create_persona | 詳細なユーザーペルソナを作成します(属性、目標、課題など) |
vibemap_create_page | プロジェクトのページ一覧にページ/画面を作成します |
vibemap_create_schema | 1回の呼び出しでデータベーススキーマ(テーブル → 列 → リレーションシップ)を保存します |
対話型エージェント(ホスト型、従量課金)
| ツール | 説明 |
|---|---|
vibemap_agent | VibeMapの対話型エージェントを1ターン実行します(アプリ内チャットと同じ頭脳を使用)。従量課金で、VibeMapのトークンを使用します。破壊的な操作を伴うターンでは、2回目の呼び出しで承認するためのプランとoperationIdが返されます。長時間の生成はバックグラウンドで実行されます(get_generation_statusをポーリングしてください) |
機能
| ツール | 説明 |
|---|---|
vibemap_list_features | フィルタリングして機能を一覧表示します |
vibemap_create_feature | 新しい機能を作成します |
vibemap_update_feature | 機能のフィールドまたはステータスを更新します(遷移を検証します)。仕様作成の場合のみ使用してください。構築中はvibemap_propose_spec_changeを使用してください |
ユーザーストーリー
| ツール | 説明 |
|---|---|
vibemap_list_user_stories | プロジェクトまたは機能ごとにストーリーを一覧表示します |
vibemap_create_user_story | ユーザーストーリーを作成します |
vibemap_update_user_story | ストーリーのフィールドまたはステータスを更新します(遷移を検証します)。仕様作成の場合のみ使用してください。構築中はvibemap_propose_spec_changeを使用してください |
受け入れ条件
| ツール | 説明 |
|---|---|
vibemap_list_acceptance_criteria | BDD の受け入れ条件を取得します |
vibemap_create_acceptance_criterion | BDD の受け入れ条件を作成します |
vibemap_update_acceptance_criterion | 条件の内容(Given/When/Then、説明)を更新します。ここではステータスを変更できません。以下のライフサイクルツールを使用してください。仕様の作成時のみ、構築中に vibemap_propose_spec_change を使用してください |
カンバン — ボードとエージェントのライフサイクル
| ツール | 説明 |
|---|---|
vibemap_get_kanban_board | リアルタイムのボード表示を取得します |
vibemap_get_execution_plan | 構築順序を取得します。条件を依存関係順にスプリントごとにグループ化し、状態も表示します |
vibemap_get_next_ready_criterion | 次に作業する条件、そのストーリーバンドル、および取得可能な条件がない場合の reason を取得します |
vibemap_claim_story | ストーリーの取得可能な条件をすべて一度に取得し、それぞれのコンテキストパックを返します |
vibemap_claim_criterion | 条件を取得します(ready → in_progress) |
vibemap_get_criterion_context | 1つの条件の構築に必要な情報を数千トークンで取得します(ブループリント全体の代わりに使用してください) |
vibemap_report_progress | 現在の phase を含むハートビートを送信します。計画、ファイル、テスト件数も任意で指定できます |
vibemap_submit_for_review | 変更したファイルと、その変更を証明する名前付きテストを添えて、条件をレビューに提出します(→ in_review) |
vibemap_get_criterion_evidence | 条件の提出履歴を取得します。各試行のファイル、テスト、判定が含まれます |
vibemap_rework_criterion | レビューに失敗した条件を ready に戻し、再構築できるようにします |
vibemap_resolve_review | レビューの判定を確定します(passed/failed)。CI レビュートークンまたはサインイン済みユーザーが必要です |
vibemap_block_criterion | カテゴリと理由を指定して条件をブロックします |
vibemap_ask_user | 仕様が不明確な場合にプロジェクトオーナーへ質問します(回答があるまで条件をブロックします) |
vibemap_get_answers | 質問への回答を収集します |
vibemap_unblock_criterion | 解決内容を指定して条件のブロックを解除します |
vibemap_propose_spec_change | コードを変更する必要がある場合に、オーナーのレビュー用として仕様変更を提案します。仕様自体は変更しません |
vibemap_list_kanban_events | カンバンの状態遷移履歴を取得します(差分同期用) |
vibemap_update_kanban_status | ⚠️ 非推奨 — 上記のライフサイクルツールを使用してください |
バージョン管理
| ツール | 説明 |
|---|---|
vibemap_list_changesets | 操作数とともに変更セット(自身の書き込みと履歴)を一覧表示します。差分には includeOps、カーソルには sinceSeq を使用します |
vibemap_get_spec_delta | シーケンス番号以降に仕様で変更された内容と、影響を受ける条件を取得します |
vibemap_get_release_work_list | リリースの作業を新規、変更済み、削除済みに分類して取得します(削除するコードパスを含みます) |
vibemap_get_release_diff | リリースのベースラインとの差分をそのまま取得します |
vibemap_sync_changes | 前回の同期以降に変更されたパスを報告し、VibeMap が仕様とのずれを検出できるようにします |
コードベース
| ツール | 説明 |
|---|---|
vibemap_scan_codebase | ローカルディレクトリを走査します |
vibemap_analyze_codebase | コードベースをリバースエンジニアリングし、VibeMap のアセットに変換します |
vibemap_submit_code_map | プロジェクトの Codebase タブに表示される構造コードマップ(ノード/エッジ)を提出します |
vibemap_get_code_map | プロジェクトの現在のコードマップ(ステータス、ノード/エッジ、同期アンカーとずれ)を取得します |
vibemap_get_generation_status | AI 生成タスクのステータスをポーリングします |
既存のコードベースをインポートする
構造の読み取りは、モデルもネットワーク呼び出しも使わずに、お使いのマシン上で行われます。VibeMap に送られるのは、構造に関する事実(ファイルパスを含むテーブル、列、ポリシー、ルートの定義)と、エージェントが作成する仕様テキストです。ファイルの内容がお使いのマシンから送信されることはありません。
| ツール | 説明 |
|---|---|
vibemap_extract_repo_facts | リポジトリのテーブル、ポリシー、ルート、ファイルクラスターをローカルで読み取ります。何も送信しません |
vibemap_import_facts | 事実情報を送信します。VibeMap がスキーマとアクセスルールを作成し、ルートごとに、そのファイルへリンクされたページを作成します |
vibemap_import_semantic | エージェントが作成した機能、ストーリー、受け入れ基準を、それぞれの出典ファイルを示して送信します |
vibemap_finalize_import | インポートした(未検証の)受け入れ基準を渡し、MVP1 をロックして MVP2 を開始します |
vibemap_resync | 現在のコミットに構造上の変更を適用し、変更されたファイルが影響する仕様にフラグを付けます |
vibemap_resolve_drift | ドリフトレポートから、対応済みのファイル、マップユニット、または受け入れ基準をクリアします |
vibemap_resolve_code_drift_proposal | ステージされたコードドリフトの提案を 1 件適用または却下します |
プロンプト(スラッシュコマンド)
サーバーはプロンプトも公開します。これは、IDE にスラッシュコマンドとして表示される、呼び出し可能なワークフローです(Claude Code では /mcp__vibemap__<name>)。各プロンプトの本文は呼び出し時に VibeMap サーバーから展開されるため、長い指示を貼り付ける代わりにワークフローを呼び出せます。new_project はプロジェクトを作成する唯一のプロンプトで、それ以外はすべて projectId を受け取ります。コード関連のプロンプトは、オプションで localPath も受け取ります。
| プロンプト | 引数 | 説明 |
|---|---|---|
new_project | — | 新しい VibeMap プロジェクトを作成するためのガイド付きインタビューです。ここから始めてください |
author_spec | projectId、localPath? | ローカルコードベースから仕様グラフ全体を作成します(エージェント持ち込み方式、コード優先) |
author_idea | projectId | プロジェクトのアイデアから仕様グラフ全体を作成します(エージェント持ち込み方式、アイデア優先) |
author_personas | projectId | ステージ 1/5 — ペルソナのみを作成します |
author_features | projectId | ステージ 2/5 — 機能のみを作成します |
author_stories | projectId | ステージ 3/5 — ユーザーストーリーのみを作成します |
author_criteria | projectId | ステージ 4/5 — 受け入れ基準のみを作成します |
author_pages | projectId | ステージ 5/5 — ページのみを作成します |
author_schema | projectId、localPath? | データベーススキーマ(テーブル、列、リレーションシップ)を作成します |
sync_changes | projectId、localPath? | 前回の同期以降の仕様のドリフトを検出して調整します |
code_map | projectId、localPath? | 構造的なコードマップを作成して送信します |
load_context | projectId | プロジェクトの仕様コンテキストをエージェントに読み込みます |
kanban | projectId | プロジェクトのカンバンボードを表示します |
import | projectId、localPath? | 既存のコードベースをロック済みの MVP1 としてインポートします。ローカルで抽出し、事実情報をインポートし、クラスターごとに仕様を作成して、確定します |
resync | projectId、localPath? | インポート済みプロジェクトを最新の状態にし、レビュー用にドリフトの提案をステージします |
build_sprint | projectId | 準備できた作業をテストファーストで構築しながら、ボードをリアルタイムで更新します。CI が検証し、エージェントが完了済みにすることはありません |
release_next | projectId | 次のリリースを構築します。新規および変更された項目を追加し、削除された項目を削除します |
gen_* — VibeMap 独自のジェネレーターを実行する
上記の author_* プロンプトはお使いのモデルで実行されます。エージェントが考え、VibeMap は結果を保存するだけです。gen_* プロンプトはそのもう一方で、アプリの /gen-… スラッシュコマンドと同じ、VibeMap がホストする生成パイプラインを実行します。これらは従量制(プロジェクト所有者の VibeMap トークン残高を消費します)で、非同期です(sessionId が返されるので、vibemap_get_generation_status をポーリングします)。
| プロンプト | 引数 | 説明 |
|---|---|---|
gen_personas | projectId | ペルソナを生成します — 誰のために構築するか |
gen_features | projectId | フィーチャーを生成します — すべてのストーリー、ページ、テーブルの基盤となるセット |
gen_stories | projectId | フィーチャーからユーザーストーリーを生成します |
gen_criteria | projectId | フィーチャーとストーリーから受け入れ基準を導き出します |
gen_pages | projectId | フィーチャーとストーリーからページ構成を生成します |
gen_schema | projectId | データベーススキーマ(テーブルとリレーションシップ)を生成します |
gen_sync_criteria_from_pages | projectId | ページレイアウトと受け入れ基準を相互に確認します |
CI からテスト結果を報告する
ci-report はテスト実行の結果をレビュー結果に変換します。各テスト名に、そのテストが立証する受け入れ基準のタグを付けます。例:[AC-042] rejects an empty title。実行後、レポートを送信します。
VIBEMAP_CI_TOKEN=... npx @vibemap.ai/mcp-server ci-report \
--junit junit.xml --project <project-id>
レビュー中で、レポートに記載された各基準は、それぞれのテスト結果に基づいて解決されます。すべてのテストが成功した場合は合格、いずれかのテストが失敗した場合は不合格となります(失敗したテスト名はエージェントに返されます)。レビュー中でない基準や不明な基準は一覧に表示されますが、変更されません。
- フォーマット:
--junit(JUnit XML)、--vitest、--playwright(各ツールの JSON レポーター)。複数指定して結果をまとめられます。 VIBEMAP_CI_TOKENには CI レビュー用トークン(Account、Developer、スコープ「CI review」)が必要です。エージェントトークンは拒否されます。- GitHub Actions では実行 URL とコミットが自動的に取得されます。それ以外の場合は
--run-urlと--shaを指定してください。 - 終了コード:
0は報告済み、1はサーバーがレポートを拒否したか、接続できなかった場合、2は使い方が誤っている場合、3は--strictを指定していてタグ付きテストがない場合です。 --dry-runはリクエストを送信せずに表示します。
ドキュメント
詳細なドキュメントは vibemap.ai/docs/developer-docs/mcp-server/introduction をご覧ください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。