Atlas / MCP servers / abp2204 / vibesplain

vibesplainSAFE

mcp/abp2204/vibesplain

Static-analysis MRI for codebases — a Tree-Sitter dossier engine + deterministic PreToolUse safety gate for AI coding agents. Zero LLM calls, zero API keys.

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
6 5r · 1w · 0d
Transport
stdio
License
MIT
Stars
0
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

◈ vibesplain Give your AI agent an architectural map of any codebase.

Install · Usage · MCP Tools · How It Works · Development

vibesplain is an MCP server that scans a codebase with Tree-Sitter, scores every file by importance and complexity, and produces an Architectural Dossier — a structured set of decision cards your agent writes after analyzing the code.

The output is a self-contained HTML file you can open in any browser.

Zero LLM calls. Zero API keys. Zero network. Pure static analysis.

Install

npx vibe-splain install

This patches your coding agent's config to register vibesplain as an MCP server. Restart your agent afterward.

Usage

Once installed, open a project in your agent and run the built-in prompt:

Claude Code / Gemini CLI:

/prompt build_dossier

Cursor / Windsurf: Select the build_dossier prompt from the vibesplain MCP panel.

Your agent will:

  1. Scan the project and rank files by architectural importance
  2. Read each high-importance file in depth
  3. Write a Decision Card for each — thesis, blast radius, evidence, optional diagram
  4. Return a file:// link to the Dossier UI

Open the link. Done.

MCP Tools

The build_dossier prompt orchestrates these tools automatically. You can also call them manually.

Read from source at commit 0cd283b0f59eOBSERVED · 2026-10-11
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add ui -- npx -y @vibesplain/[email protected]
claude-desktop
{
  "mcpServers": {
    "ui": {
      "command": "npx",
      "args": [
        "-y",
        "@vibesplain/[email protected]"
      ]
    }
  }
}
03

Exposed tools (6)

5 read · 1 write · 0 destructive.

ToolRiskDescription
CorereadPrimary application code.
build_dossierreadBuild a full architectural dossier using vibesplain (replaces the need to copy-paste the README prompt)
get_strategic_overviewwriteReturns the current state of the dossier without evidence snippets (to save tokens). Use this to see what has already been analyzed and what is stale. Check stalePaths to know which files need re-analysis.
get_wild_discoveriesreadReturns Decision Cards that are both high-heat (heat ≥ 60) AND/OR high-severity (severity ≥ 4) — the files that are load-bearing AND smelly. These are the highest-leverage things to understand and fix first.
inspect_pillarreadReturns all Decision Cards for a specific pillar including full evidence snippets. Use when you need deep detail on a specific area of the codebase.
mark_stalereadManually marks Decision Cards as stale when you detect a file has changed. The file watcher does this automatically, but call this if you modify a file yourself during a session.
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (5 observation(s))
Network
none-observed
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (8)

LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/brain/src/pipeline/adapters/types.ts:13
} from '../../signals.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/brain/src/pipeline/inventory.ts:41
const local = join(__dirname, '../../wasm', file);
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/cli/src/mcp/tools/mark_stale.ts:2
import { ExportOrchestrator } from '../../export/ExportOrchestrator.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/cli/src/mcp/tools/scan_project.ts:3
import { ExportOrchestrator } from '../../export/ExportOrchestrator.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/cli/src/mcp/tools/scan_project.ts:4
import { startWatcher } from '../../export/Watcher.js';
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/brain/package.json
web-tree-sitter, tree-sitter-wasms, uuid, @types/uuid, typescript
Why it matters. 5 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/cli/package.json
@modelcontextprotocol/sdk, chokidar, commander, fs-extra, tar, tree-sitter-wasms, web-tree-sitter, uuid
Why it matters. 14 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/ui/package.json
mermaid, react, react-dom, shiki, @types/react, @types/react-dom, @vitejs/plugin-react, typescript
Why it matters. 10 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: no_behavioural_pass.

Audited 2026-10-11 · audit v0.4.1 · source sha 0cd283b0f59efull audit observations/trust-audit/mcp-server/abp2204__vibesplain.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-110cd283b0f59eSAFEB89first audit
06

Questions

What is the vibesplain MCP server?

Static-analysis MRI for codebases — a Tree-Sitter dossier engine + deterministic PreToolUse safety gate for AI coding agents. Zero LLM calls, zero API keys.

What tools does vibesplain expose?

6 in total: 5 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is vibesplain safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does vibesplain need?

No credential environment variables were found in its source, so it appears to need none.

How does vibesplain run?

It speaks stdio, so it runs as a local process your client starts. It is published on npm as @vibesplain/ui at 1.2.2.

How current is this page?

The grade is for one exact copy of the source (0cd283b0f59e), read on 2026-10-11. The repository is watched and re-audited when it changes.

Advertisement