Skip to main content
Glama

VibeWise MCP

Universal MCP port of VibeWise, a Claude Code plugin that puts learning and design first.

One gate for every MCP-capable coding agent: Claude Code, Cursor, Codex CLI, Antigravity, and others:

  • The agent asks your approach before building; you shape the design.

  • Your decisions and the project map are recorded locally in .vibe-wise/.

  • Code is written only after you approve an implementation checkpoint (vibe_confirm).

  • No account, backend, or telemetry. Notes are local Markdown.

How the gate works

you describe the task
        │
        ▼
Build checkpoint ── agent asks how YOU would approach it ── your reasoning recorded
        │
        ▼
Design checkpoint ── proposal + tradeoffs ── "Confirm and continue" records it (no code)
        │
        ▼
Implementation checkpoint ── exact code changes ── "Implement this step" authorizes code
        │
        ▼
agent writes code, runs checks, gives an Implementation report

The three checkpoints are not mandatory stops; when the design is already clear the Implementation checkpoint confirms it too. The pending decision lives in .vibe-wise/progress.md, survives restarts and compaction, and is the ledger the tools read and write: restarting a session is never approval.

Related MCP server: AgentMesh MCP

Tools

Tool

Purpose

vibe_status

Check the gate: active, stage, pending decision, what to do next

vibe_start

Activate learning mode; create .vibe-wise/; onboard or resume

vibe_onboard_answer

Record one onboarding answer; get the next question

vibe_checkpoint

Open build / design / implement checkpoint

vibe_confirm

Record the user's decision: confirm / discuss / approach

vibe_report

Record the implementation report after approved coding

vibe_map_update

Update the evidence-based project map

vibe_pause

Pause / resume the gate ("Learning mode: paused")

vibe_reset

Preview + token-confirmed reset with automatic backup

vibe_read_notes

Read all notes + parsed gate state (session restoration)

State (.vibe-wise/ in your project)

.vibe-wise/
  profile.md        learner profile, preferences, "Learning mode: active/paused"
  progress.md       learning events + "## Pending decision" (the gate ledger)
  project-map.md    evidence-based system map, confirmed designs, approved work
  backups/          automatic backups created by vibe_reset

Add .vibe-wise/ to .gitignore if you don't want the notes in Git; the server never edits .gitignore silently.

Install

Requires Node.js 20+. Build once:

npm install && npm run build

Claude Code

claude mcp add vibe-wise -- node /absolute/path/to/vibe-wise-mcp/dist/server.js

Cursor

~/.cursor/mcp.json:

{
  "mcpServers": {
    "vibe-wise": { "command": "node", "args": ["/absolute/path/to/vibe-wise-mcp/dist/server.js"] }
  }
}

Codex CLI

~/.codex/config.toml:

[mcp_servers.vibe-wise]
command = "node"
args = ["/absolute/path/to/vibe-wise-mcp/dist/server.js"]

Antigravity (agy)

~/.gemini/settings.json (or the Antigravity MCP settings file):

{
  "mcpServers": {
    "vibe-wise": { "command": "node", "args": ["/absolute/path/to/vibe-wise-mcp/dist/server.js"] }
  }
}

Generic MCP client

Command: node <repo>/dist/server.js, stdio transport, no env vars needed.

Usage

In any agent, after installing the server:

  1. Please run vibe_status, then vibe_start for this project (one-time setup).

  2. Then just ask for what you want built. The agent opens a Build checkpoint and asks for your approach before writing anything.

  3. Say "pause learning" anytime; resume with vibe_start (action=resume).

  4. "Reset learning" restarts onboarding; the previous notes are backed up first.

The server exposes its behavior guide as an MCP resource (vibewise://guides/behavior); agents that read resources get the full teaching contract, others get it through tool guidance.

Development

npm run build   # tsc -> dist/
npm test        # node:test unit/behavior tests (dist/test/*.test.js)
node src/test/smoke.mjs   # end-to-end MCP protocol smoke test over stdio

Port of VibeWise by nykooi1 (MIT). State format and teaching behavior follow the original plugin; enforcement moved from prompts to the tool layer.

License

MIT, see LICENSE.

Available Tools

10 tools
vibe_checkpointA

VibeWise: open a checkpoint BEFORE doing the work. kind=build: ask how the USER would approach the problem (their reasoning first, never your design). kind=design: present the agreed design + tradeoffs for confirmation. kind=implement: present the exact code changes for approval - the only gate that authorizes writing code.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
nameYesShort checkpoint title, e.g. 'Folder membership'.
proposalNodesign/implement: the proposal or exact code scope.
projectPathNo
consequencesNoWhy it matters; consequences the user accepts.
proposedAdditionsNoAgent-suggested details, clearly separated from user decisions.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose the key gating trait ('the only gate that authorizes writing code') and the pre-work ordering requirement. It omits critical behavior: whether the call blocks until the user responds, what a checkpoint returns, and what happens on sequential calls.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded, leading with the core instruction ('BEFORE doing the work') and then enumerating the kinds compactly. Every clause carries information; no filler. Slightly run-on in the kind definitions, which slightly hurts scanability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-param tool with no annotations and no output schema, the description covers the mode semantics but not the response behavior or the remaining parameters. An agent can invoke it, but doesn't know what to expect back or how consequences/proposedAdditions are used.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%, and the description richly explains the 'kind' enum values well beyond the bare enum. However, it adds nothing for name, proposal, consequences, proposedAdditions, or projectPath, leaving the partially-covered parameters undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('open a checkpoint') and then defines the three kinds (build/design/implement) with what each entails. An agent knows exactly what this tool creates. It does not, however, differentiate itself from the sibling vibe_confirm, which appears to cover overlapping confirmation semantics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit per-kind usage conditions: build asks the user's reasoning first, design presents the agreed design, implement is 'the only gate that authorizes writing code.' This tells the agent when each mode applies. It stops short of naming which sibling tool (e.g. vibe_confirm) to use instead in overlapping situations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vibe_confirmA

VibeWise: resolve the open checkpoint with the USER's decision. option=confirm for 'Confirm and continue' (design) or 'Implement this step' (implement); option=discuss when they asked questions; option=approach + userText to record the user's own build-stage reasoning. Without this tool's record, code must not be written.

ParametersJSON Schema
NameRequiredDescriptionDefault
optionYes
userTextNoThe user's exact words (required for option=approach).
projectPathNo

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does disclose one important trait: this tool is a gate whose record is required before code may be written. Beyond that it is silent on whether an open checkpoint must exist, what happens if the call is repeated or the option mismatches the open checkpoint's stage, and what the call returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is dense and front-loaded, leading with the tool's purpose before enumerating options, with no filler sentences. The telegraphic parentheticals make it slightly hard to parse on first read, but every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter, no-output-schema workflow gate with no annotations, the description covers the option semantics and the pre-write gating rule, which is what an agent most needs. The remaining gaps (projectPath, open-checkpoint prerequisite, failure behavior) are real but minor relative to its size.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33%, but the description compensates well for the most important parameter by explaining the semantics of each enum value (confirm/discuss/approach) and clarifying that userText is required with option=approach, which the schema also states. projectPath is left entirely unexplained in both places.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'resolve the open checkpoint with the USER's decision,' which is concrete enough to distinguish it from the creation-oriented sibling vibe_checkpoint. It does not explicitly name a sibling as an alternative, so it lands at clear-but-not-differentiating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit condition for each enum value: confirm when the user chose 'Confirm and continue' or 'Implement this step', discuss when they asked questions, approach when recording their own build-stage reasoning. It also states a hard precondition ('Without this tool's record, code must not be written'), though it never states when NOT to call it or what to do if no checkpoint is open.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vibe_map_updateC

VibeWise: update the evidence-based project map (purpose, components, flow, boundaries, unknowns). Mark unknowns as unknown.

ParametersJSON Schema
NameRequiredDescriptionDefault
purposeNo
mainFlowNo
unknownsNo
componentsNo
projectPathNo
requirementsNo
dataBoundariesNo
buildDeploymentNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden for a mutation tool. It never states whether the update replaces or merges the existing map, what happens to omitted sections, whether changes are persisted/versioned, or whether confirmation is required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence naming the tool family, the action, and the affected fields with no filler. The trailing 'Mark unknowns as unknown' is terse but earns its place as an instruction.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an eight-parameter mutation tool with no annotations, no output schema, and 0% schema description coverage, the description is far too thin. It leaves the agent unable to know what a successful call returns or how partial updates are handled.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It names five of the eight parameters by concept (purpose, components, flow, boundaries, unknowns) but omits projectPath, requirements, and buildDeployment, and gives no format or merge semantics for any of them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('update') and resource ('project map') and enumerates the sections it covers (purpose, components, flow, boundaries, unknowns). It does not distinguish itself from siblings like vibe_checkpoint or vibe_report, but the verb+resource pairing is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to call this versus other map/notes tools such as vibe_read_notes or vibe_checkpoint, nor any prerequisites or ordering. The only instruction present ('Mark unknowns as unknown') is a data convention, not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vibe_onboard_answerB

VibeWise: record one onboarding answer from the user and get the next question. Never answer these yourself.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldYes
valueYesThe user's answer.
projectPathNo
questionStyleNo
checkpointFrequencyNo
implementationStyleNo

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the full burden of behavioral disclosure. It mentions the tool returns 'the next question', but omits critical conversational behavior: whether answers are validated, if errors reset state, or how state persists between calls. For a stateful onboarding tool, this is a notable gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—two short sentences that front-load the core action and include a critical negative constraint ('Never answer these yourself'). Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (stateful, multi-turn onboarding with 6 parameters and no annotations), the description is incomplete. It lacks information on error handling, state progression, or how optional parameters influence behavior, making it insufficient for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is very low at 17%, meaning the schema provides almost no semantic help. The description mentions recording an 'answer' but does not explain the purpose of optional parameters like projectPath, questionStyle, checkpointFrequency, or implementationStyle, failing to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb+resource ('record one onboarding answer') and clarifies its function in the stateful flow ('get the next question'). It distinguishes itself from passive sibling tools like vibe_status or vibe_report, though it doesn't explicitly contrast with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The instruction 'Never answer these yourself' implies usage context (agent must fetch user input), which is helpful. However, the description provides no explicit guidance on when to call this versus vibe_start or vibe_confirm, leaving the agent to infer the sequence from tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vibe_pauseB

VibeWise: pause learning mode (gate off) at the user's request, or resume it.

ParametersJSON Schema
NameRequiredDescriptionDefault
resumeNotrue to resume instead of pausing.
projectPathNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full behavioral burden. It states the mode is (gate off) but doesn't explain what pausing actually affects, whether it is reversible, or what side effects occur. For a state-changing toggle with zero annotation coverage, this is a notable gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence with no waste. Front-loads the tool name and the core action. Could be slightly more informative but is appropriately sized for a simple toggle.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a state-changing tool with no annotations, no output schema, and one undocumented parameter out of two, the description is too thin. It doesn't say what pausing disables, whether it's scoped per project, or what the response looks like.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: the 'resume' boolean is documented in the schema, but 'projectPath' has no description in either schema or tool description. The description adds the pause-vs-resume semantics but does not compensate for the undocumented projectPath parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: pausing/resuming learning mode. The 'at the user's request' framing clarifies it is a gating toggle. It is clear enough but does not explicitly differentiate from siblings like vibe_start or vibe_status, though 'pause' vs those names is reasonably distinguishable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage as a toggle to pause or resume, but provides no explicit when-to-use guidance relative to vibe_start, vibe_reset, or other siblings. An agent has to infer that this is the appropriate tool when it wants to disable learning mode.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vibe_read_notesB

VibeWise: read all learning notes (.vibe-wise/*.md) plus the parsed gate state. Use for session restoration and compaction recovery; search ALL of progress.md for pending decisions.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does disclose the data sources (all notes plus parsed gate state) and that it searches ALL of progress.md. It omits behavior when .vibe-wise is absent, whether the read is side-effect free, and what the return shape looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with the read scope front-loaded and the use case following. No filler, though the phrasing is dense with tool-internal jargon.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no annotations, so the description must do more than it does. It covers what is read and when, but leaves parameter meaning and return/error behavior unexplained for a tool an agent must invoke blind.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single projectPath parameter, and the description never mentions it. The agent gets no guidance on what projectPath should be, whether it is optional, or what the default scope is.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: reads all learning notes (.vibe-wise/*.md) plus parsed gate state. The scope is concrete and identifiable. It does not, however, distinguish itself from siblings like vibe_status or vibe_checkpoint, which also plausibly surface state.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names two use cases (session restoration and compaction recovery) and a specific search behavior for pending decisions in progress.md. No exclusions or named alternatives are given, so it stops short of distinguishing from sibling state-read tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vibe_reportA

VibeWise: record the implementation report after approved coding: what changed, how it works, why it fits the design, and real verification results.

ParametersJSON Schema
NameRequiredDescriptionDefault
summaryYes
projectPathNo
verificationNoChecks actually run and their results; state plainly if none were run.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, and it does disclose useful expectations about content fidelity ('real verification results'). However, it never states whether this persists/writes state, what side effects it has, or any permission requirements, which a report-recording tool should clarify.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single front-loaded sentence with no filler, and the essential trigger ('after approved coding') appears early. Slightly dense with enumerated clauses, but every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter tool with no output schema and no annotations, the description covers the report's substance well but omits the fate of projectPath, whether the report is persisted or returned, and any workflow consequences. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33%: 'verification' is documented, while 'summary' and 'projectPath' have no schema descriptions. The description partially compensates by defining what the summary should contain, but says nothing about projectPath or how paths are interpreted, leaving a real gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ('record') and resource ('the implementation report'), then enumerates the report's content: what changed, how it works, why it fits the design, and verification results. That is far more specific than the name alone, though it never explicitly contrasts itself with siblings like vibe_checkpoint or vibe_confirm.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'after approved coding' establishes a clear workflow trigger for when to call this tool, which is genuine context in a pipeline of vibe_ tools. It falls short of a 5 because no alternative tool is named and no when-not condition is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vibe_resetA

VibeWise: restart learning from scratch. Call without confirm for a preview token; back up + reset only after the user explicitly confirms, passing the token back.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNoFingerprint token from the preview; only after the user confirmed.
projectPathNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does disclose the key traits: it is destructive ('back up + reset'), gated behind a preview/confirm token flow, and requires explicit user confirmation. It does not state permissions, what exactly is reset/backed up, or whether the reset is reversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with the action and followed by the gating protocol. No filler, though the 'VibeWise:' prefix adds little.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-param destructive tool with no annotations and no output schema, the description covers the confirmation protocol well but omits what 'learning' data is affected, whether the backup is recoverable, and any meaning for projectPath.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: confirm is documented in the schema and the description reinforces its role (fingerprint token passed back after confirmation). projectPath is undocumented in both the schema and the description, so the description only partially compensates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource: 'restart learning from scratch' via a reset. It is clear what the tool does, though it does not explicitly distinguish itself from siblings like vibe_start or vibe_pause.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit sequencing: call without confirm for a preview token, and only reset after the user explicitly confirms with the token. This is strong when-to-use guidance for a destructive action, but it names no alternative sibling tools for comparison.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vibe_startB

VibeWise: activate learning-first mode (creates .vibe-wise/, runs onboarding one question at a time, or resumes a paused/pending state). Call before the first build task.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNostart: begin or continue onboarding. resume: explicitly resume paused learning.
projectPathNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden. It does add real value — it creates a .vibe-wise/ directory and drives onboarding one question at a time, which tells the agent this is interactive and stateful. It omits side effects on repeat calls, what happens if onboarding is already complete, and any idempotency or error behavior, which is a notable gap for a no-annotation mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence with the core action front-loaded and the behavioral detail in a parenthetical. Every clause carries information; no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the what and the when reasonably well, but for a stateful, no-annotation tool with an incomplete schema it leaves out projectPath semantics, repeat-call behavior, and how it relates to vibe_status/vibe_pause. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%: 'action' is documented in the schema, but 'projectPath' has no description anywhere. The description never mentions projectPath or explains how the path affects activation, so it fails to compensate for the uncovered parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('activate learning-first mode') and clarifies the scope with concrete behaviors (creates .vibe-wise/, one-question-at-a-time onboarding, resuming a paused state). It does not, however, distinguish itself from any of the nine siblings (e.g., vibe_status, vibe_pause, vibe_confirm), leaving an agent to infer the boundaries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Call before the first build task' gives a clear triggering context for the tool. There are no exclusions or alternative-routing statements, so an agent that is mid-onboarding or already active gets no explicit guidance about whether to call vibe_status instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vibe_statusA

VibeWise: check the learning gate for this project - active mode, current checkpoint stage, pending decision, and what you must do next. Call this before starting any coding work and whenever unsure whether coding is allowed.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathNoAbsolute path of the user's project. Defaults to the server's working directory.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. 'Check' and 'learning gate' strongly imply a read-only status query, and the enumerated return fields give real insight into what state is reported. However, it never explicitly states that the call is side-effect free, nor does it cover auth, initialization prerequisites, or error behavior when no project session exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, both front-loaded: the state listing comes before the call-timing guidance. The 'VibeWise:' branding prefix is minor noise, but otherwise every clause carries information and there is no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-annotation, no-output-schema status tool with one optional parameter, the description does the heavy lifting by naming the fields the agent will receive instead of relying on an output schema. The remaining gap is the absence of any note about behavior when the project is uninitialized or the session is inactive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the single projectPath parameter is fully documented in the schema, so the baseline is 3. The description's phrase 'for this project' only loosely gestures at the parameter and adds no path semantics, defaults, or format guidance beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a clear verb ('check') and a specific resource ('the learning gate for this project'), then enumerates the exact state it surfaces: active mode, checkpoint stage, pending decision, and next required action. This distinguishes it from action siblings like vibe_start, vibe_checkpoint, and vibe_confirm. It stops short of explicitly naming a sibling alternative, so it is clear but not maximally differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states a concrete trigger: 'Call this before starting any coding work and whenever unsure whether coding is allowed.' That is an unusually explicit when-to-use cue. It does not, however, say when NOT to call it or contrast it with siblings such as vibe_read_notes, so it lacks the exclusion/alternative half of a top score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updatesv0.1.0
    • First observedvibe_checkpoint
    • First observedvibe_confirm
    • First observedvibe_map_update
    • First observedvibe_onboard_answer
    • First observedvibe_pause
    • First observedvibe_read_notes
    • First observedvibe_report
    • First observedvibe_reset
    • First observedvibe_start
    • First observedvibe_status

TDQS

A3.6/5.0

Scored across 10 tools

Disambiguation4/5

Most tools map to distinct lifecycle stages (start, checkpoint, confirm, report, reset), but vibe_status and vibe_read_notes both surface gate/state info, and vibe_pause's 'resume' overlaps with vibe_start's 'resumes a paused/pending state'. Descriptions mostly disambiguate these, so confusion risk is low.

Naming Consistency5/5

Every tool uses the same vibe_ prefix with a consistent snake_case noun/verb (vibe_status, vibe_start, vibe_checkpoint, vibe_map_update). No camelCase or mixed conventions, so the pattern is fully predictable.

Tool Count5/5

10 tools is well within the ideal 3-15 range and each corresponds to a distinct step of the learning-gate workflow. No tool feels redundant or filler.

Completeness4/5

The surface covers the full learning lifecycle: activation, onboarding, checkpoints, confirmation, reporting, map maintenance, pause/resume, reset, and state reading. Minor gap: no explicit way to answer/close an onboarding session or query individual notes, but agents can work around these.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Adds a human-in-the-loop checkpoint to MCP-capable AI coding agents, enabling them to pause and request user feedback before executing actions.
    15 npm
    71
    MIT
  • A
    license
    C
    quality
    C
    maintenance
    Enables coding agents to coordinate around shared project context, durable tasks, messages, artifacts, multimodal analysis requests, design-system checks, change proposals, and review requests through a compact MCP interface. It persists state locally in JSON and exposes tools, resources, and prompts for agent-to-agent workflows.
    9
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables coding agents to make structured local decisions, choose bounded browser actions with approvals, and run coding workflows such as file relevance, context pruning, diff screening, and completion checks through MCP or CLI.
    Apache 2.0