A second opinion on everything your agent ships.
149+ automated checks across your repo and your deployed site. Secrets, phantom imports, open auth routes, dead performance. One ranked report in under 2 minutes.
Fixed the Stripe key leak and added a rate limit to /api/login. Rescanning now.
Six things agents get wrong on almost every project.
Secrets and credentials
API keys, tokens and service credentials committed into source, env files or client bundles.
Auth and access
Unprotected routes, no rate limit on login or sign up, permissive CORS, sessions that never expire.
Dependencies
Hallucinated imports, unpinned versions, known CVEs and packages nobody ever installed.
Vibe coding health
Duplicated logic, dead files, half finished refactors and TODOs the agent promised to come back to.
Performance
Payload size, render blocking assets, unoptimised images and the requests that make first load crawl.
SEO and best practices
Metadata, crawlability, accessibility basics and whether an AI search engine can read your pages.
See all 149+ checks across 21 diagnostic areas.
Paste, scan, fix.
Paste one line into your agent
It installs the MCP server itself. Nothing to configure, no dashboard to learn, no keys to paste.
Ask it to scan
149+ checks run across your source and your deployed URL in under 2 minutes, public repo or private.
Fix it in the same chat
Findings come back ranked with file paths, so the agent that wrote the code can go straight to fixing it.
imported at least one package that does not exist
had API keys or secrets committed to the repo
had no rate limiting on auth endpoints
repos scanned to July 2026
Apps getting checked right now.
Showing the latest 20 of 4,442 scans
No scans in the last few hours.
Yours could be the next one on this list.
| Country | Language | Findings | When |
|---|---|---|---|
| 🌐 | Python | 495 files3 high1418 mediumAI Search ReadyCompliant | 11m ago |
| 🌐 | Python | 120 files32 critical16 high226 mediumNot AI Search ReadyCompliant | 9h ago |
| 🌐 | JavaScript | 1 files1 critical2 high16 mediumNot AI Search ReadyCompliant | 12h ago |
| 🌐 | JavaScript | 1 files2 high16 medium | 12h ago |
| TypeScript | 107 files2 high74 medium | 18h ago | |
| 🌐 | TypeScript | 456 files5 critical85 high221 medium | 1d ago |
| 🌐 | TypeScript | 2171 files32 critical54 high585 mediumAI Search ReadyCompliant | 1d ago |
| 🌐 | TypeScript | 539 files3 critical1 high4 mediumNot AI Search ReadyCompliant | 1d ago |
| Python | 478 files6 high2240 medium | 1d ago | |
| Website | 2 critical6 mediumNot AI Search ReadyCompliant | 1d ago | |
| Website | 4 critical5 mediumNot AI Search ReadyNot Compliant | 2d ago | |
| 🌐 | TypeScript | 41 files1 critical2 high17 medium | 2d ago |
| Website | 4 critical1 high4 mediumAI Search ReadyNot Compliant | 2d ago | |
| Website | 7 critical17 high2 mediumNot AI Search ReadyCompliant | 3d ago | |
| TypeScript | 14 files1 high12 medium | 3d ago | |
| Website | 3 critical1 high6 mediumNot AI Search ReadyCompliant | 3d ago | |
| 🌐 | Website | 3 critical6 mediumNot AI Search ReadyCompliant | 3d ago |
| Website | 3 critical6 mediumNot AI Search ReadyCompliant | 3d ago | |
| Website | 6 mediumAI Search ReadyCompliant | 3d ago | |
| 🌐 | Website | 3 highAI Search ReadyCompliant | 3d ago |
| 🌐 | Website | 3 critical5 mediumNot AI Search ReadyCompliant | 3d ago |
| Website | 3 critical5 mediumNot AI Search ReadyCompliant | 3d ago | |
| 🌐 | Website | 1 mediumAI Search ReadyCompliant | 4d ago |
| Website | 1 mediumAI Search ReadyCompliant | 4d ago | |
| JavaScript | 18 files2 critical1 high16 medium | 4d ago | |
| Website | 2 critical1 mediumNot AI Search ReadyCompliant | 4d ago | |
| Website | 2 critical4 high6 mediumNot AI Search ReadyCompliant | 4d ago | |
| Website | 6 critical11 high5 mediumNot AI Search ReadyCompliant | 5d ago | |
| Website | 3 critical1 high8 mediumNot AI Search ReadyCompliant | 5d ago | |
| 🌐 | Python | 1135 files3 medium | 5d ago |
| Website | 3 criticalNot AI Search ReadyCompliant | 5d ago | |
| Website | 9 critical17 high2 mediumNot AI Search ReadyNot Compliant | 5d ago | |
| 🌐 | Website | 17 mediumAI Search ReadyCompliant | 5d ago |
| 🌐 | Python | 92 files1 high107 medium | 5d ago |
| 🌐 | C | 102 files1 critical3 high16 medium | 7d ago |
| TypeScript | 57 files6 critical59 high49 medium | 8d ago | |
| JavaScript | 147 files17 critical68 high176 medium | 8d ago | |
| TypeScript | 34 files6 critical30 high33 medium | 8d ago | |
| Python | 3 files116 medium | 8d ago | |
| Vue | 123 files3 critical13 high34 medium | 8d ago |
See what your agent actually built.
Every scan rebuilds a map of your codebase: modules, the sub-modules inside them, and the files where the findings actually sit. Follow the red down three levels and you land on the file to fix. Paste that one file into your agent instead of the whole repo.
Drill to the function
Module, then sub-module, then the file and the functions inside it. Findings are pinned to the symbol they came from.
Dead code and coverage
Two more tabs on the same map: what nothing calls any more, and which parts of the code no test touches.
Fewer tokens per prompt
Send the files a change actually touches instead of the repo. How Vibe X-Ray works.
On every plan, rebuilt on every scan. From $0, Watch from $15/mo. See pricing.
Questions.
Is AI-generated code safe to ship?
It usually runs, and it usually ships with the same handful of holes: keys committed to source, auth routes with no guard, missing rate limits, imports of packages that do not exist. This is a scan for people shipping apps their agent mostly wrote, and it finds those before your users do.
Does VibeDoctor modify or write to my code?
No writes. The scan reads your repo and your live site and returns findings. Any fixing happens in your editor, by you or your agent.
Can VibeDoctor scan a private GitHub repository?
Yes. Connect the GitHub App and access is scoped to read-only. Source is analysed only for the length of the scan, then dropped.
What languages and frameworks does VibeDoctor scan?
JavaScript and TypeScript, Python, Go, Ruby, Java, PHP and Rust, with framework-aware checks for React, Next.js, Express, Fastify, Django, Flask, FastAPI, Rails and Spring. Anything the site-side checks can reach over HTTP is covered as well.
How do I connect VibeDoctor to Claude Code, Cursor or Codex?
Paste one line into the agent: connect to vibedoctor using https://vibedoctor.io/mcp/start. It fetches the instructions, installs the MCP server itself, and reports back in the chat you already have open. No keys to copy, no config file to edit.
How do I find hallucinated npm packages in AI-generated code?
Every scan verifies each dependency against the registry, so an import of a package that does not exist is flagged with its file and line. It is one of the most common AI-generated defects: 4% of the repositories scanned in production had at least one.
How is VibeDoctor different from SonarQube, Snyk or CodeRabbit?
There is real overlap. VibeDoctor runs the same classes of engine they do: a SAST pass, secret detection, dependency CVE scanning, and each language's own linter and type checker (opengrep, gitleaks, trivy, ruff, biome, pyright, tsc, clippy, rubocop, phpstan). What it adds is your deployed site scanned alongside the repo (Lighthouse, security headers, SSL, SEO, exposed files, console errors), checks aimed at AI-generated code such as imports of packages that do not exist, and a graph of your codebase. It also runs from inside your agent over MCP, so findings arrive in the chat where the code was written.
What is Vibe X-Ray?
A four-level visual explorer for your codebase: modules, files, symbols and the dependencies between them. It shows what your agent actually built - which functions call what, where complexity hides, and what breaks if you touch something. It updates with every scan.
Is VibeDoctor free?
Yes. The free plan covers one project, one scan a day, and the full report, with no card required. Paid plans add more projects, a scan on every push, and PR review.