Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Load & create VibeMap product specs from your coding agent; sync build progress.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
VIBEMAP_API_KEY, VIBEMAP_BASE_URLค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"vibemap": {
"command": "npx",
"args": [
"-y",
"@vibemap.ai/mcp-server"
],
"env": {
"VIBEMAP_API_KEY": "ใส่ค่าของคุณ",
"VIBEMAP_BASE_URL": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add vibemap --env VIBEMAP_API_KEY='ใส่ค่าของคุณ' --env VIBEMAP_BASE_URL='ใส่ค่าของคุณ' -- npx -y @vibemap.ai/mcp-serverเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"vibemap": {
"command": "npx",
"args": [
"-y",
"@vibemap.ai/mcp-server"
],
"env": {
"VIBEMAP_API_KEY": "ใส่ค่าของคุณ",
"VIBEMAP_BASE_URL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"vibemap": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@vibemap.ai/mcp-server"
],
"env": {
"VIBEMAP_API_KEY": "ใส่ค่าของคุณ",
"VIBEMAP_BASE_URL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
VIBEMAP_BASE_URL envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub AshMet ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: VIBEMAP_API_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (2.8.1) เข้า registry 3 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Signoff
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Five gates that make an agent's 'done' provable: run them, read the verdict, audit the record.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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.
{
"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.
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.
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.
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" } } }
Same format as Cursor. Add to your Windsurf MCP settings file and restart.
| Variable | Description | Default |
|---|---|---|
VIBEMAP_API_KEY | Your Personal Access Token (vm_...) | Required |
VIBEMAP_BASE_URL | VibeMap instance URL | http://localhost:3000 |
The server exposes 55 tools via the vibemap_ prefix.
Projects & context
| Tool | Description |
|---|---|
vibemap_list_projects | List all your projects |
vibemap_create_project | Create a new project (use before analyze_codebase) |
vibemap_get_project_context | Load full project specs into agent context |
vibemap_get_atomic_blueprint | Get the code-shaped blueprint of the whole project (large; for scaffolds and audits, not for building a single ticket: use vibemap_get_criterion_context there) |
vibemap_list_access_rules | List table- and page-level access rules (with op_conditions) for RLS + auth |
vibemap_get_page_source | Retrieve a page and its section source code |
Personas & pages (spec authoring)
| Tool | Description |
|---|---|
vibemap_create_persona | Create a rich user persona (demographics, goals, pain points, …) |
vibemap_create_page | Create a page/screen in the project's page inventory |
vibemap_create_schema | Persist the database schema (tables → columns → relationships) in one call |
Conversational agent (hosted, metered)
| Tool | Description |
|---|---|
vibemap_agent | Drive 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
| Tool | Description |
|---|---|
vibemap_list_features | List features with filtering |
vibemap_create_feature | Create a new feature |
vibemap_update_feature | Update feature fields or status (validates transitions). For spec authoring only: while building, use vibemap_propose_spec_change |
User stories
| Tool | Description |
|---|---|
vibemap_list_user_stories | List stories by project or feature |
vibemap_create_user_story | Create a user story |
vibemap_update_user_story | Update story fields or status (validates transitions). For spec authoring only: while building, use vibemap_propose_spec_change |
Acceptance criteria
| Tool | Description |
|---|---|
vibemap_list_acceptance_criteria | Fetch BDD criteria |
vibemap_create_acceptance_criterion | Create a BDD acceptance criterion |
vibemap_update_acceptance_criterion | Update a criterion's content (Given/When/Then, description). Status is not writable here: use the lifecycle tools below. For spec authoring only: while building, use vibemap_propose_spec_change |
Kanban — board & agentic lifecycle
| Tool | Description |
|---|---|
vibemap_get_kanban_board | Get a real-time board view |
vibemap_get_execution_plan | The build order: criteria grouped by sprint in dependency order, with state |
vibemap_get_next_ready_criterion | Get the next criterion to work on, its story bundle, and a reason when nothing is claimable |
vibemap_claim_story | Claim every claimable criterion of a story at once; returns a context pack for each |
vibemap_claim_criterion | Claim a criterion (ready → in_progress) |
vibemap_get_criterion_context | Everything needed to build one criterion in a few thousand tokens (use instead of the whole blueprint) |
vibemap_report_progress | Heartbeat with the current phase, plus optional plan, files and test counts |
vibemap_submit_for_review | Submit a criterion for review with the changed files and the named tests that prove it (→ in_review) |
vibemap_get_criterion_evidence | Submission history of a criterion: files, tests and verdict per attempt |
vibemap_rework_criterion | Send a criterion that failed review back to ready to build it again |
vibemap_resolve_review | Resolve a review (passed / failed); needs a CI-review token or a signed-in user |
vibemap_block_criterion | Block a criterion with a category and reason |
vibemap_ask_user | Ask the project owner a question when the spec is unclear (blocks the criterion until answered) |
vibemap_get_answers | Collect the answers to your questions |
vibemap_unblock_criterion | Unblock a criterion with a resolution |
vibemap_propose_spec_change | Propose a spec change for the owner to review when the code must differ; never edits the spec |
vibemap_list_kanban_events | Kanban transition history (for incremental sync) |
vibemap_update_kanban_status | ⚠️ Deprecated — use the lifecycle tools above |
Version control
| Tool | Description |
|---|---|
vibemap_list_changesets | List changesets (your writes + history) with op counts; includeOps for diffs, sinceSeq as a cursor |
vibemap_get_spec_delta | What changed in the spec since a sequence number, and which criteria that affects |
vibemap_get_release_work_list | A release's work grouped as new, modified and removed (with the code paths to delete) |
vibemap_get_release_diff | A release's raw diff against its baseline |
vibemap_sync_changes | Report changed paths since the last sync so VibeMap can flag spec drift |
Codebase
| Tool | Description |
|---|---|
vibemap_scan_codebase | Walk a local directory |
vibemap_analyze_codebase | Reverse-engineer a codebase into VibeMap assets |
vibemap_submit_code_map | Submit a structural code map (nodes/edges) rendered on the project's Codebase tab |
vibemap_get_code_map | Fetch the project's current code map (status, nodes/edges, sync anchor + drift) |
vibemap_get_generation_status | Poll AI generation task status |
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.
| Tool | Description |
|---|---|
vibemap_extract_repo_facts | Read the repository's tables, policies, routes and file clusters locally; sends nothing |
vibemap_import_facts | Send the facts: VibeMap creates the schema, access rules and a page per route, each linked to its file |
vibemap_import_semantic | Send the features, stories and criteria your agent wrote, each citing its source files |
vibemap_finalize_import | Pass the imported criteria (unverified), lock MVP1 and open MVP2 |
vibemap_resync | Apply the structural changes at your current commit and flag the specs the changed files touch |
vibemap_resolve_drift | Clear handled files, map units or criteria from the drift report |
vibemap_resolve_code_drift_proposal | Apply or dismiss one staged code-drift proposal |
The server also exposes prompts — invocable workflows your IDE surfaces as slash commands (in Claude Code: /mcp__vibemap__ ). 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.
| Prompt | Args | Description |
|---|---|---|
new_project | — | Guided interview that creates a new VibeMap project. Start here |
author_spec | projectId, localPath? | Author the full spec graph from your local codebase (bring-your-own-agent, code-first) |
author_idea | projectId | Author the full spec graph from the project idea (bring-your-own-agent, idea-first) |
author_personas | projectId | Stage 1 of 5 — author just the personas |
author_features | projectId | Stage 2 of 5 — author just the features |
author_stories | projectId | Stage 3 of 5 — author just the user stories |
author_criteria | projectId | Stage 4 of 5 — author just the acceptance criteria |
author_pages | projectId | Stage 5 of 5 — author just the pages |
author_schema | projectId, localPath? | Author the database schema — tables, columns, relationships |
sync_changes | projectId, localPath? | Detect and reconcile spec drift since the last sync |
code_map | projectId, localPath? | Build and submit a structural code map |
load_context | projectId | Load the project's spec context into your agent |
kanban | projectId | Show the project's kanban board |
import | projectId, localPath? | Import an existing codebase as a locked MVP1: extract locally, import the facts, write the spec per cluster, finalize |
resync | projectId, localPath? | Bring an imported project up to date and stage drift proposals for review |
build_sprint | projectId | Build the ready work test first while the board follows live; CI verifies, the agent never marks anything done |
release_next | projectId | Build the next release: new and modified items, and delete what was removed |
gen_* — run VibeMap's own generatorsThe 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).
| Prompt | Args | Description |
|---|---|---|
gen_personas | projectId | Generate personas — who you're building for |
gen_features | projectId | Generate features — the set every story, page and table hangs off |
gen_stories | projectId | Generate user stories from your features |
| gen_criteria | projectId | Derive acceptance
ตัดมาแค่ช่วงต้น อ่านต่อใน repo