@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
- Node.js ≥ 18
- A VibeMap account
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 message box.
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
Tools
The server exposes 55 tools via the vibemap_ prefix.
Projects & context
Personas & pages (spec authoring)
Conversational agent (hosted, metered)
Features
User stories
Acceptance criteria
Kanban — board & agentic lifecycle
Version control
Codebase
Import an existing codebase
The structure is read on your machine with no model and no network call. What reaches VibeMap is the structural facts (table, column, policy and route definitions with their file paths) and the spec text your agent writes. File contents never leave your machine.
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.
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).
Reporting test results from CI
ci-report turns a test run into review results. Tag each test name with the acceptance criterion it proves, for example [AC-042] rejects an empty title. After the run, post the report:
VIBEMAP_CI_TOKEN=... npx @vibemap.ai/mcp-server ci-report \
--junit junit.xml --project <project-id>
Every criterion that is in review and mentioned by the report is resolved from its own tests: passed when all of them passed, failed when any failed (the failing test names go back to the agent). Criteria that are not in review, or are unknown, are listed and left alone.
- Formats:
--junit(JUnit XML),--vitestand--playwright(each tool's JSON reporter). Pass several to combine them. VIBEMAP_CI_TOKENmust be a CI-review token (Account, Developer, scope "CI review"). An agent token is refused.- The run URL and commit are picked up automatically on GitHub Actions; otherwise pass
--run-urland--sha. - Exit codes:
0reported,1the server rejected the report or could not be reached,2bad usage,3no tagged tests with--strict. --dry-runprints the request without sending it.
Documentation
Full docs at vibemap.ai/docs/developer-docs/mcp-server/introduction
License
MIT