Skip to content

feat: vibecop v0.4.0 — MCP server with scan, check, explain tools#17

Merged
bhvbhushan merged 7 commits into
mainfrom
feat/mcp-server
Apr 6, 2026
Merged

feat: vibecop v0.4.0 — MCP server with scan, check, explain tools#17
bhvbhushan merged 7 commits into
mainfrom
feat/mcp-server

Conversation

@bhvbhushan

Copy link
Copy Markdown
Owner

Summary

  • MCP Server with 3 tools: vibecop_scan, vibecop_check, vibecop_explain via @modelcontextprotocol/sdk
  • Engine API cleanup: extracted clean scan() and checkFile() from cli.ts:scanAction() into engine.ts, decoupled from Commander.js/process.exit()
  • New CLI command: vibecop serve starts MCP server on stdio transport
  • 510 tests passing (13 new MCP tests), zero lint errors, zero type errors

What this enables

Tier 3 agent integration — any MCP-compatible tool (Continue.dev, Amazon Q, Zed) can now use vibecop directly:

{
  "mcpServers": {
    "vibecop": {
      "command": "npx",
      "args": ["vibecop", "serve"]
    }
  }
}

MCP Tools

Tool Description
vibecop_scan Scan a directory for AI code quality issues
vibecop_check Check a single file for issues
vibecop_explain Explain what a detector checks for, its severity, and category

Test plan

  • All 510 tests pass (497 existing + 13 new MCP tests)
  • bun run lint clean
  • bunx tsc --noEmit clean
  • Validate with mcp-quality-gate
  • Test with a real MCP client (Continue.dev or Zed)

🤖 Generated with Claude Code

bhvbhushan and others added 7 commits April 6, 2026 21:27
Add MCP server exposing vibecop as Model Context Protocol tools for
Tier 3 agent integration (Continue.dev, Amazon Q, Zed).

Three MCP tools:
- vibecop_scan: scan a directory for AI code quality issues
- vibecop_check: check a single file for issues
- vibecop_explain: explain what a detector checks for

Also includes engine API cleanup: extracted clean scan() and checkFile()
public functions from cli.ts into engine.ts, decoupled from Commander.js
and process.exit(). MCP server and future integrations import directly.

New CLI command: `vibecop serve` starts the MCP server on stdio.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- README: add MCP server section, update detector count (28→35),
  add v0.3 test detectors, document all CLI commands including serve,
  update architecture diagram, update roadmap through Phase 3.5
- CHANGELOG: add entries for v0.2.0, v0.3.0, v0.3.1, v0.4.0

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…, fix self-import detection

Three detector improvements that eliminate ~72% noise when scanning server/library codebases:

1. debug-console-in-prod: detect CLI/server projects via package.json `bin` field
   and skip entirely — servers legitimately use console.log for output. Also
   reduced default methods to log+debug only (was 8 methods), made configurable
   via .vibecop.yml, skip CLI/server path patterns.

2. undeclared-import: skip packages importing themselves (JS reads package.json
   `name` field, Python normalizes hyphens to underscores for pyproject.toml
   project name matching).

3. placeholder-in-production: expanded skip patterns to include fixture, example,
   sample, mock, demo directories and .md files.

Validated against 5 popular MCP servers:
- DesktopCommanderMCP: 500+ → 353 findings (457 console.log noise eliminated)
- mcp-atlassian: 500+ → 500 (329 placeholder+undeclared noise eliminated,
  now showing real issues: god-function, empty-test, conditional-test-logic)
- Figma-Context-MCP: 46 → 23 (console.log noise halved)
- exa-mcp-server: 31 → 19 (console.log noise removed)
- notion-mcp-server: 36 → 27 (console.log noise removed)

30 new tests (540 total), all passing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add website/ with Starlight (Astro) documentation site — 20 content pages
  covering getting started, agent integration (per-tool), detectors reference,
  custom rules, configuration, GitHub Action, benchmarks, architecture
- Built-in search (Pagefind), dark mode, deploys to GitHub Pages
- README slimmed to concise landing page: install, quick start, agent table,
  MCP config, benchmark highlights, links to full docs
- CHANGELOG updated with v0.4.0 detector fix notes

README sells. Docs teach.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
docs/ is gitignored (internal design docs). product-docs/ is the
public-facing documentation site that gets pushed to remote.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
docs/ is gitignored and used for internal planning only.
All public documentation now lives in product-docs/ (Starlight site).
Files remain on disk for local reference.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Deploys product-docs/ Starlight site to GitHub Pages on push to main.
Triggers only when product-docs/ files change. Manual dispatch available.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bhvbhushan bhvbhushan merged commit 13fd27c into main Apr 6, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant