io.github.AshMet/vibemap-mcp
NPM · @VIBEMAP.AI/MCP-SERVER · SCANNED AUG 3
Load & create VibeMap product specs from your coding agent; sync build progress.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security87
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (100 of 104), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (100 of 104), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 3 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability80
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 3820 tokens (~109/item across 35 items; 35 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage81
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 43% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @vibemap.ai/mcp-server
claude mcp add ashmet-vibemap-mcp -- npx -y @vibemap.ai/mcp-server
codex mcp add ashmet-vibemap-mcp -- npx -y @vibemap.ai/mcp-server
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ashmet-vibemap-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@vibemap.ai/mcp-server"
],
"enabled": true
}
}
} openclaw mcp add ashmet-vibemap-mcp --command npx --arg -y --arg @vibemap.ai/mcp-server
mcp_servers:
ashmet-vibemap-mcp:
command: "npx"
args: ["-y", "@vibemap.ai/mcp-server"] {
"mcpServers": {
"ashmet-vibemap-mcp": {
"command": "npx",
"args": [
"-y",
"@vibemap.ai/mcp-server"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +32
- Malware scan: unverified → pass ▲ security
- Known CVEs: unverified → partial ▲ security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- Dependency health: unverified → partial ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Schema quality: unverified → good ▲ functional
- 1 Aug 26 +3
- Provenance: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
- Capabilities: pass → unverified ▼ functional
- License: unverified → pass ▲ functional
- Maintenance: unverified → pass ▲ functional
- Licence: MIT functional
- 31 Jul 26 +23
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 6
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/@vibemap.ai/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Dependencies 100 packages
100 packages in the resolved dependency tree · 100 deprecated · 32 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
vibemap_analyze_codebase ~146
Scan a local codebase and submit it to VibeMap for AI-powered reverse engineering. The server-side generation persists FEATURES from the code digest. It does NOT persist user stories or acceptance criteria — after the features task completes (poll vibemap_get_generation_status), create those yourself with vibemap_create_user_story and vibemap_create_acceptance_criterion, using your full codebase access for accuracy. Returns a sessionId to poll.
| Name | Type | Req | Description |
|---|---|---|---|
| depth | number | — | — |
| localPath | string | yes | Absolute path to the local project directory |
| projectId | string | yes | The VibeMap project to populate with discovered specs |
| taskTitle | string | — | — |
No output schema declared.
No examples provided.
vibemap_block_criterion ~70
Mark a criterion as blocked. Transitions any-active-status → blocked. Use this when external dependency, ambiguity, or environmental issue prevents progress.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | yes | — |
| criterionId | string | yes | — |
| reason | string | yes | Human-readable explanation (1-2000 chars) |
No output schema declared.
No examples provided.
vibemap_claim_criterion ~51
Atomically claim an acceptance criterion for implementation. Transitions ready → in_progress. Returns 409 (race) if another agent already claimed it.
| Name | Type | Req | Description |
|---|---|---|---|
| criterionId | string | yes | Acceptance criterion UUID |
No output schema declared.
No examples provided.
vibemap_create_acceptance_criterion ~160
Create a new acceptance criterion for a user story in BDD format (Given/When/Then). Use this to flesh out what 'done' means for a story before or during implementation. You can call this multiple times to add multiple scenarios (happy path, error cases, edge cases) to the same story.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Optional plain-text summary |
| givenCondition | string | yes | Precondition / context ('Given …') |
| scenarioCategory | string | — | — |
| status | string | — | — |
| storyId | string | yes | ID of the user story this criterion belongs to |
| thenOutcome | string | yes | Expected result ('Then …') |
| whenAction | string | yes | Action performed ('When …') |
No output schema declared.
No examples provided.
vibemap_create_feature ~93
Create a new feature in a VibeMap project. Use this when reverse-engineering a codebase to register discovered capabilities.
| Name | Type | Req | Description |
|---|---|---|---|
| business_value | string | — | — |
| category | string | — | — |
| complexity | string | — | — |
| description | string | — | — |
| effort | string | — | — |
| name | string | yes | — |
| priority | string | — | — |
| projectId | string | yes | — |
No output schema declared.
No examples provided.
vibemap_create_page ~115
Create a page/screen in a VibeMap project's page inventory. Author pages after features, stories, and criteria to capture the app's screens and routes. Existing pages are visible via vibemap_get_project_context — enrich, don't duplicate.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | What this page is for |
| name | string | yes | Page name (e.g. 'Dashboard') |
| path | string | — | Route path (e.g. '/dashboard') |
| projectId | string | yes | — |
| status | string | — | — |
No output schema declared.
No examples provided.
vibemap_create_persona ~261
Create a user persona in a VibeMap project. Personas are the cast of users the spec is written for — author them FIRST, then reference each persona's role (userRole) when writing user stories. Match the depth VibeMap's own generator produces: fill the structured blocks so the persona is rich and semantically searchable, not just a name. Existing personas are visible via vibemap_get_project_context — enrich, don't duplicate. All params are camelCase.
| Name | Type | Req | Description |
|---|---|---|---|
| avatarDescription | string | — | Brief visual description |
| communicationPreferences | object | — | How to reach them |
| demographics | object | — | Who they are |
| goalsAndNeeds | object | — | What they are trying to achieve |
| name | string | yes | Persona's first name |
| narrative | object | — | Their voice |
| painPoints | object | — | What frustrates or blocks them |
| productSpecific | object | — | How they relate to this product |
| projectId | string | yes | — |
| psychographics | object | — | What drives them |
| tagline | string | — | Brief one-line descriptor |
| userRole | string | — | Canonical role this persona represents (e.g. 'admin', 'diver'). User stories reference this role. |
No output schema declared.
No examples provided.
vibemap_create_project ~85
Create a new VibeMap project. Use this when starting from an existing codebase — create the project first, then call vibemap_analyze_codebase with the returned project ID.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | yes | Detailed project description (50+ characters). The more detail, the better the AI analysis. |
| name | string | yes | Project name (3-100 characters) |
No output schema declared.
No examples provided.
vibemap_create_schema ~240
Persist a VibeMap project's database schema — tables, columns, and relationships — in one call. Author this LAST, after the rest of the spec exists, grounded on the spec (idea-first) or the codebase's models/migrations (code-first). One table per domain entity; give every table an `id` primary key and created_at/updated_at; set real Postgres column types + constraints; express foreign keys via each column's `foreignKey` (relationships auto-derive from these, so `relationships` is optional); add junction tables for many-to-many. All params are camelCase (this IS VibeMap's SchemaJSON). Existing schema is visible via vibemap_get_project_context (dbSchema) — the server keyed-reconciles, so re-running is safe. Table/page access rules are handled by the separate access-rules flow, not here.
| Name | Type | Req | Description |
|---|---|---|---|
| projectId | string | yes | — |
| relationships | array | — | Optional — foreign keys on columns auto-derive relationships. Provide only for relationships not expressed by a column FK. |
| tables | array | yes | One entry per table (snake_case, plural names). |
No output schema declared.
No examples provided.
vibemap_create_user_story ~118
Create a new user story inside a VibeMap feature. Provide the user role, action, and expected outcome.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | yes | — |
| estimatedEffort | number | — | — |
| featureId | string | yes | — |
| iWantTo | string | — | What the user wants to do |
| priority | string | — | — |
| soThat | string | — | The benefit / outcome |
| title | string | yes | — |
| userRole | string | — | e.g., 'admin', 'developer', 'guest' |
No output schema declared.
No examples provided.
vibemap_get_atomic_blueprint ~95
Retrieve a code-shaped atomic blueprint of a VibeMap project — relationships hydrated, Kanban metadata stripped, with synthesized interactions and entity state machines. Designed for LLM coders building the application end-to-end. Prefer this over vibemap_get_project_context when generating code; the blueprint omits PM narrative and process metadata to maximise signal-per-token.
| Name | Type | Req | Description |
|---|---|---|---|
| projectId | string | yes | The VibeMap project ID |
No output schema declared.
No examples provided.
vibemap_get_code_map ~59
Fetch the project's current code map (status draft|confirmed, nodes/edges, sync anchor incl. any drift report). Use before re-submitting to preserve the user's hidden-node curation where possible.
| Name | Type | Req | Description |
|---|---|---|---|
| projectId | string | yes | — |
No output schema declared.
No examples provided.
vibemap_get_generation_status ~62
Poll the status of a VibeMap AI generation task (e.g., reverse engineering or spec generation). Use the sessionId returned by vibemap_analyze_codebase.
| Name | Type | Req | Description |
|---|---|---|---|
| sessionId | string | yes | Session ID from vibemap_analyze_codebase |
No output schema declared.
No examples provided.
vibemap_get_kanban_board ~75
Get a real-time kanban board view of a project grouped by status columns. Shows features with their stories nested underneath. Ideal for an IDE agent to understand what's planned, in progress, and done.
| Name | Type | Req | Description |
|---|---|---|---|
| includeCriteria | boolean | — | Include acceptance criteria counts per story |
| projectId | string | yes | — |
No output schema declared.
No examples provided.
vibemap_get_next_ready_criterion ~55
Get the highest-priority acceptance criterion in `ready` status for the given project. Returns the criterion to work on next, or null if nothing is ready.
| Name | Type | Req | Description |
|---|---|---|---|
| projectId | string | yes | Project UUID |
No output schema declared.
No examples provided.
vibemap_get_page_source ~92
Retrieve a VibeMap page's generated source code so you can pull it straight into a repo. Returns the page's own source_code plus the source_code of each of its sections. Use this to export a generated page into your codebase instead of copy-pasting.
| Name | Type | Req | Description |
|---|---|---|---|
| pageId | string | yes | The page ID to export |
| projectId | string | yes | The VibeMap project ID |
No output schema declared.
No examples provided.
vibemap_get_project_context ~102
Retrieve the full context of a VibeMap project including features, user stories, personas, pages, and database schema. Use this before building a feature to understand all the specs.
| Name | Type | Req | Description |
|---|---|---|---|
| includeFeatures | boolean | — | — |
| includePages | boolean | — | — |
| includePersonas | boolean | — | — |
| includeSchema | boolean | — | — |
| includeStories | boolean | — | — |
| projectId | string | yes | The VibeMap project ID |
No output schema declared.
No examples provided.
vibemap_list_acceptance_criteria ~86
List acceptance criteria for a story, feature, or project. Returns BDD-formatted criteria (Given/When/Then) with status.
| Name | Type | Req | Description |
|---|---|---|---|
| featureId | string | — | — |
| limit | number | — | — |
| offset | number | — | — |
| projectId | string | — | — |
| status | string | — | — |
| storyId | string | — | — |
No output schema declared.
No examples provided.
vibemap_list_access_rules ~124
List a VibeMap project's access-control rules: table-level rules (per persona/role, with can_select/insert/update/delete and structured op_conditions predicates like "own rows only") and page-level rules (can_view/create_content/edit/delete with predicates), plus an advisory reconciliation summary flagging page↔table drift. Use this to generate correct RLS policies and route/UI authorization — the atomic blueprint only carries page-level conditions, so call this for table-level (RLS) access control.
| Name | Type | Req | Description |
|---|---|---|---|
| projectId | string | yes | The VibeMap project ID |
No output schema declared.
No examples provided.
vibemap_list_changesets ~151
List a VibeMap project's version-control changesets (most recent first) with a per-changeset op count. Every write you make through this server is wrapped in a changeset, so use this to see the changesets your own edits produced, audit who/what changed the project, or review recent edit history. Pass includeOps=true to inline each changeset's individual operations (entity_type, op, diff).
| Name | Type | Req | Description |
|---|---|---|---|
| includeOps | boolean | — | Inline each changeset's individual ops + diffs (default false) |
| limit | number | — | Max changesets to return (1-200, default 50) |
| projectId | string | yes | The VibeMap project ID |
No output schema declared.
No examples provided.
vibemap_list_features ~86
List features for a VibeMap project. Supports filtering by status, priority, category, and search. Returns paginated results.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | — | — |
| limit | number | — | — |
| offset | number | — | — |
| priority | string | — | — |
| projectId | string | yes | — |
| search | string | — | — |
| status | string | — | — |
No output schema declared.
No examples provided.
vibemap_list_kanban_events ~87
List kanban transition events for a project, newest first. Use `since` to fetch only events after a timestamp (for reconnect-backfill).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | — | Max events to return (default 200, max 1000) |
| projectId | string | yes | — |
| since | string | — | ISO timestamp; only events strictly after this are returned |
No output schema declared.
No examples provided.
vibemap_list_projects ~32
List all VibeMap projects for the authenticated user. Returns project IDs, names, descriptions, and status.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
vibemap_list_user_stories ~102
List user stories for a project or feature. Filter by status, priority. Returns paginated results with full story detail.
| Name | Type | Req | Description |
|---|---|---|---|
| featureId | string | — | Filter by specific feature |
| limit | number | — | — |
| offset | number | — | — |
| priority | string | — | — |
| projectId | string | — | Filter by project (use featureId for more specific results) |
| search | string | — | — |
| status | string | — | — |
No output schema declared.
No examples provided.
vibemap_report_progress ~55
Append a progress event to the criterion timeline without changing its status. Used to surface intermediate work for visibility.
| Name | Type | Req | Description |
|---|---|---|---|
| criterionId | string | yes | — |
| summary | string | yes | Short progress note (1-2000 chars) |
No output schema declared.
No examples provided.
vibemap_resolve_review ~93
Resolve a criterion in review. Transitions in_review → passed | failed. NOTE: agents (env_token:agent) cannot self-resolve their own work — this tool requires a CI-scoped token (env_token:ci) or a session user.
| Name | Type | Req | Description |
|---|---|---|---|
| criterionId | string | yes | — |
| notes | string | — | — |
| outcome | string | yes | — |
| testRunUrl | string | — | — |
No output schema declared.
No examples provided.
vibemap_scan_codebase ~69
Scan a local directory and return a formatted tree view plus file statistics. Use this to explore and understand an existing codebase before syncing to VibeMap.
| Name | Type | Req | Description |
|---|---|---|---|
| depth | number | — | Max directory depth to traverse |
| localPath | string | yes | Absolute path to the local project directory |
No output schema declared.
No examples provided.
vibemap_submit_code_map ~234
Submit a structural code map of the user's codebase to VibeMap (rendered on the project's Codebase tab). Build it yourself from your codebase access: one node per meaningful unit (page/route, API endpoint, data model, service, module, config), edges for imports/routes/reads/writes. Node kinds: page|api|model|service|module|config. Layers: ui|api|data|services|shared. Edge kinds: imports|routes|reads|writes. Use repo-relative paths as node ids. Max 500 nodes — aggregate small files into their module. Re-submitting replaces the project's map and resets it to draft for the user to re-confirm.
| Name | Type | Req | Description |
|---|---|---|---|
| anchor | object | — | Optional sync anchor: { commitSha?, scannedAt? } (git rev-parse HEAD) |
| map | object | yes | { nodes: [{id,label,kind,path,layer,summary?}], edges: [{source,target,kind}], stats?: {totalFiles,scannedAt} } |
| projectId | string | yes | VibeMap project to attach the map to |
No output schema declared.
No examples provided.
vibemap_submit_for_review ~95
Submit completed work for review. Transitions in_progress → in_review. Requires a git SHA and a diff URL as evidence.
| Name | Type | Req | Description |
|---|---|---|---|
| criterionId | string | yes | — |
| diffUrl | string | yes | URL to view the diff (PR link or compare URL) |
| gitSha | string | yes | 7+ char commit SHA |
| notes | string | — | Optional notes for the reviewer (max 2000 chars) |
No output schema declared.
No examples provided.
vibemap_sync_changes ~200
Report codebase changes since the last sync so VibeMap can flag spec drift. Workflow: 1) call vibemap_get_code_map and read anchor.commitSha; 2) run `git diff --name-only <commitSha>..HEAD` (plus untracked files from `git status --porcelain`); 3) call this tool with the changed paths and your current HEAD sha. The response lists affected map units and features — update the stale specs with vibemap_update_feature / vibemap_update_user_story / vibemap_update_acceptance_criterion (all changeset-audited), then re-submit the code map with vibemap_submit_code_map to clear the drift.
| Name | Type | Req | Description |
|---|---|---|---|
| changedFiles | array | yes | Repo-relative paths changed since anchor.commitSha (max 2000) |
| headSha | string | — | Current HEAD commit sha (git rev-parse HEAD) |
| projectId | string | yes | VibeMap project id |
No output schema declared.
No examples provided.
vibemap_unblock_criterion ~61
Unblock a criterion. Transitions blocked → prior_status (recorded when block was set; defaults to ready).
| Name | Type | Req | Description |
|---|---|---|---|
| criterionId | string | yes | — |
| resolution | string | yes | How the blocker was resolved (1-2000 chars) |
No output schema declared.
No examples provided.
vibemap_update_acceptance_criterion ~96
Update an acceptance criterion's status or content. Use status 'passed' when your code satisfies the criterion, 'failed' when it does not.
| Name | Type | Req | Description |
|---|---|---|---|
| criterionId | string | yes | — |
| description | string | — | — |
| givenCondition | string | — | — |
| scenarioCategory | string | — | — |
| status | string | — | — |
| thenOutcome | string | — | — |
| whenAction | string | — | — |
No output schema declared.
No examples provided.
vibemap_update_feature ~88
Update an existing feature's fields or status in VibeMap.
| Name | Type | Req | Description |
|---|---|---|---|
| business_value | string | — | — |
| category | string | — | — |
| complexity | string | — | — |
| description | string | — | — |
| effort | string | — | — |
| featureId | string | yes | — |
| name | string | — | — |
| priority | string | — | — |
| status | string | — | — |
No output schema declared.
No examples provided.
vibemap_update_kanban_status ~187
[DEPRECATED — use the typed transition tools (claim, report_progress, submit_for_review, resolve_review, block, unblock) instead. This tool will be removed in a future release.] Atomically advance or update the kanban status of a feature, user story, or acceptance criterion. Validates allowed state transitions and prevents invalid moves. Call this when you start or finish implementing something. Feature stages: draft → open → in_progress → completed Story stages: draft → has_criteria → open → in_progress → completed Criterion stages: draft → pending → passed | failed
| Name | Type | Req | Description |
|---|---|---|---|
| entityId | string | yes | ID of the feature, story, or criterion |
| entityType | string | yes | Type of item to update |
| newStatus | string | yes | Target kanban status |
| notes | string | — | Optional context about why this transition was made |
No output schema declared.
No examples provided.
vibemap_update_user_story ~95
Update an existing user story's fields or status in VibeMap.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | — |
| estimatedEffort | number | — | — |
| iWantTo | string | — | — |
| priority | string | — | — |
| soThat | string | — | — |
| status | string | — | — |
| storyId | string | yes | — |
| title | string | — | — |
| userRole | string | — | — |
No output schema declared.
No examples provided.