Odel
vibemap mcp

vibemap mcp

Local
@ashmetTypeScriptUpdated Yesterday

Load & create VibeMap product specs from your coding agent; sync build progress.

@vibemap.ai/mcp-server

Connect your IDE agent to VibeMap via the Model Context Protocol. Load project specs into any MCP-compatible AI coding agent, or reverse-engineer an existing codebase back into structured VibeMap assets.

Quick Start

{
  "mcpServers": {
    "vibemap": {
      "command": "npx",
      "args": ["-y", "@vibemap.ai/mcp-server"],
      "env": {
        "VIBEMAP_API_KEY": "vm_your_token_here",
        "VIBEMAP_BASE_URL": "https://vibemap.ai"
      }
    }
  }
}

Generate your API key at vibemap.ai → Account → Developer → API Keys.

What It Does

Outbound (VibeMap → IDE): Load your full project context — features, user stories, acceptance criteria, personas, pages, and DB schema — into your IDE agent. The agent builds to spec and updates your VibeMap kanban in real time as it works.

Inbound (IDE → VibeMap): Point the server at an existing codebase and VibeMap's AI will reverse-engineer it into a structured set of features, user stories, and acceptance criteria.

Requirements

IDE Setup

Claude Desktop

Config file: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %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"
      }
    }
  }
}

Fully restart Claude Desktop after saving. Confirm the 🔨 hammer icon appears in the chat input.

Cursor

Open Settings → MCP and add:

{
  "vibemap": {
    "command": "npx",
    "args": ["-y", "@vibemap.ai/mcp-server"],
    "env": {
      "VIBEMAP_API_KEY": "vm_your_token_here",
      "VIBEMAP_BASE_URL": "https://vibemap.ai"
    }
  }
}

Windsurf

Same format as Cursor. Add to your Windsurf MCP settings file and restart.

Environment Variables

VariableDescriptionDefault
VIBEMAP_API_KEYYour Personal Access Token (vm_...)Required
VIBEMAP_BASE_URLVibeMap instance URLhttp://localhost:3000

Tools

The server exposes 36 tools via the vibemap_ prefix.

Projects & context

ToolDescription
vibemap_list_projectsList all your projects
vibemap_create_projectCreate a new project (use before analyze_codebase)
vibemap_get_project_contextLoad full project specs into agent context
vibemap_get_atomic_blueprintGet the code-shaped atomic blueprint for LLM generation
vibemap_list_access_rulesList table- and page-level access rules (with op_conditions) for RLS + auth
vibemap_get_page_sourceRetrieve a page and its section source code

Personas & pages (spec authoring)

ToolDescription
vibemap_create_personaCreate a rich user persona (demographics, goals, pain points, …)
vibemap_create_pageCreate a page/screen in the project's page inventory
vibemap_create_schemaPersist the database schema (tables → columns → relationships) in one call

Conversational agent (Engine B — hosted, metered)

ToolDescription
vibemap_agentDrive VibeMap's full conversational agent for one turn (same brain as the in-app chat). Metered — uses VibeMap tokens. Destructive turns return a plan + operationId to approve in a second call; long generations run in the background (poll get_generation_status)

Features

ToolDescription
vibemap_list_featuresList features with filtering
vibemap_create_featureCreate a new feature
vibemap_update_featureUpdate feature fields or status (validates transitions)

User stories

ToolDescription
vibemap_list_user_storiesList stories by project or feature
vibemap_create_user_storyCreate a user story
vibemap_update_user_storyUpdate story fields or status (validates transitions)

Acceptance criteria

ToolDescription
vibemap_list_acceptance_criteriaFetch BDD criteria
vibemap_create_acceptance_criterionCreate a BDD acceptance criterion
vibemap_update_acceptance_criterionUpdate or mark criteria passed/failed (validates transitions)

Kanban — board & agentic lifecycle

ToolDescription
vibemap_get_kanban_boardGet a real-time board view
vibemap_get_next_ready_criterionGet the highest-priority criterion ready to work on
vibemap_claim_criterionClaim a criterion (readyin_progress)
vibemap_report_progressAppend a progress event to a criterion
vibemap_submit_for_reviewSubmit a criterion for review (→ review_pending)
vibemap_resolve_reviewResolve a review (passed / failed)
vibemap_block_criterionBlock a criterion with a category and reason
vibemap_unblock_criterionUnblock a criterion with a resolution
vibemap_list_kanban_eventsKanban transition history (for incremental sync)
vibemap_update_kanban_status⚠️ Deprecated — use the lifecycle tools above

Version control

ToolDescription
vibemap_list_changesetsList changesets (your writes + history) with op counts; includeOps for diffs
vibemap_sync_changesReport changed paths since the last sync so VibeMap can flag spec drift

Codebase

ToolDescription
vibemap_scan_codebaseWalk a local directory
vibemap_analyze_codebaseReverse-engineer a codebase into VibeMap assets
vibemap_submit_code_mapSubmit a structural code map (nodes/edges) rendered on the project's Codebase tab
vibemap_get_code_mapFetch the project's current code map (status, nodes/edges, sync anchor + drift)
vibemap_get_generation_statusPoll AI generation task status

Prompts (slash commands)

The server also exposes prompts — invocable workflows your IDE surfaces as slash commands (in Claude Code: /mcp__vibemap__<name>). The body of each prompt is expanded from VibeMap's server at call time, so you invoke a workflow rather than paste a long instruction. Every prompt takes a projectId except new_project, which is the one that creates a project; the code-oriented ones also accept an optional localPath.

PromptArgsDescription
new_projectGuided interview that creates a new VibeMap project. Start here
author_specprojectId, localPath?Author the full spec graph from your local codebase (bring-your-own-agent, code-first)
author_ideaprojectIdAuthor the full spec graph from the project idea (bring-your-own-agent, idea-first)
author_personasprojectIdStage 1 of 5 — author just the personas
author_featuresprojectIdStage 2 of 5 — author just the features
author_storiesprojectIdStage 3 of 5 — author just the user stories
author_criteriaprojectIdStage 4 of 5 — author just the acceptance criteria
author_pagesprojectIdStage 5 of 5 — author just the pages
author_schemaprojectId, localPath?Author the database schema — tables, columns, relationships
sync_changesprojectId, localPath?Detect and reconcile spec drift since the last sync
code_mapprojectId, localPath?Build and submit a structural code map
load_contextprojectIdLoad the project's spec context into your agent
kanbanprojectIdShow the project's kanban board

gen_* — run VibeMap's own generators

The author_* prompts above run on your model: your agent does the thinking and VibeMap just stores the result. The gen_* prompts are the other half — they run VibeMap's hosted generation pipelines, the same ones behind the app's /gen-… slash commands. They are metered (they draw down the project owner's VibeMap token budget) and asynchronous (you get a sessionId back and poll vibemap_get_generation_status).

PromptArgsDescription
gen_personasprojectIdGenerate personas — who you're building for
gen_featuresprojectIdGenerate features — the set every story, page and table hangs off
gen_storiesprojectIdGenerate user stories from your features
gen_criteriaprojectIdDerive acceptance criteria from features and stories
gen_pagesprojectIdGenerate the page architecture from features and stories
gen_schemaprojectIdGenerate the database schema — tables and relationships
gen_sync_criteria_from_pagesprojectIdCross-check acceptance criteria against your page layouts

Documentation

Full docs at vibemap.ai/docs/developer-docs/mcp-server/introduction

License

MIT