High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.
MCP browser testing for Claude Code and Cursor
Vindicate connects an AI agent to local Playwright browser tools through an MCP server. A VS Code or Cursor extension installs the setup, then supervises the local MCP server and worker that handle workflow guidance, code generation, browser actions, and recordings.
Builders who want their agent to run browser tests, capture recordings, and work through local MCP tools.
You can let your agent drive browser-based tests and recordings without a remote job machine.
What it does
Local MCP server
`runtime-mcp` exposes workflow guidance, codegen, and browser tools to the agent.
Playwright worker
`runtime-worker` runs Chromium sessions, recordings, and API requests.
Editor extension
`apps/vscode-extension` installs rules and skills, then starts and supervises the local services.
Shared protocol and config
`packages/protocol` and `packages/config` hold the shared contracts and presets used across the stack.
Stateless local stack
The system keeps state on the machine and isolates projects by session rather than by remote infrastructure.
How to get it
- 1From repository root
pnpm lint pnpm typecheck pnpm test pnpm build
- 2Build the runnable apps
pnpm turbo build --filter=@vindicate/runtime-mcp pnpm turbo build --filter=@vindicate/runtime-worker pnpm turbo build --filter=vindicate
README
Vindicate Platform
Autonomous quality for AI-native development teams.
AI-native Playwright test automation for VS Code, Cursor, GitHub Copilot, Claude Code, and Antigravity.
Architecture
Vindicate is a stateless local stack. The extension installs rules and skills, then your agent (Cursor, GitHub Copilot, Claude Code, or Antigravity) calls a local MCP server for workflow guidance, codegen, and browser tools. No cloud job machine, no MongoDB, no remote orchestration.
flowchart TB
subgraph ide["Your editor"]
Agent["AI agent"]
Ext["Vindicate extension"]
end
subgraph local["This machine, 127.0.0.1 only"]
MCP["runtime-mcp"]
Worker["runtime-worker"]
Chromium["Chromium"]
end
Agent -->|MCP tools| MCP
Ext -->|spawns + supervises| MCP
Ext -->|spawns + supervises| Worker
MCP -->|browser / record / API| Worker
Worker --> Chromium
| Component | Role |
|---|---|
| VS Code / Cursor extension | Onboarding, dashboard, agent pairing, process supervisor |
| runtime-mcp | MCP server the agent talks to: workflow, codegen, tools |
| runtime-worker | Playwright browser sessions, recordings, and API requests |
runtime-mcp and runtime-worker are machine-wide singletons. Isolation between projects is per session, not per process. Full detail: docs/ARCHITECTURE.md.
Workspace layout
apps/
runtime-mcp/ Local MCP server (workflow + codegen + tools)
runtime-worker/ Playwright browser + recording worker
vscode-extension/ VS Code / Cursor extension
vindicate-ui/ Bundled MCP Apps panel UI
packages/
protocol/ Shared Zod contracts
config/ Shared configuration presets
security/ Security policy and auth types
observability/ Structured logging (Pino)
Tooling
- Node.js
>=22 - pnpm
>=10 - Turborepo
Common commands
From repository root:
pnpm lint
pnpm typecheck
pnpm test
pnpm build
Build the runnable apps:
pnpm turbo build --filter=@vindicate/runtime-mcp
pnpm turbo build --filter=@vindicate/runtime-worker
pnpm turbo build --filter=vindicate
Docs
Changelog
See CHANGELOG.md.
License
Licensed under the Apache License, Version 2.0.
Contributors
Files in the repo
- .github
- .vscode
- apps
- docs
- packages
- .dockerignore
- .editorconfig
- .env.example
- .gitattributes
- .gitignore
- .npmrc
- .prettierignore
- .prettierrc.json
- CHANGELOG.md
- commitlint.config.cjs
- eslint.config.mjs
- LICENSE
- NOTICE
- package.json
- pnpm-lock.yaml
- pnpm-workspace.yaml
- README.md
- tsconfig.base.json
- turbo.json
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More connectors

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code
Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.
Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.
Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.
20 MB lightweight cross-platform database client for 90+ databases, including MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, SQL Server, and Dameng. Built-in AI, MCP Server, CLI, desktop and Docker. | 轻量级跨平台数据库管理工具,支持 MySQL、PostgreSQL、SQLite、Redis、MongoDB、达梦等 90+ 数据库,提供桌面端、Docker、CLI、内置 AI 助手和 MCP Server。