VibeCheck MCP Server
Provides automated security audits of Firebase security rules to identify potential vulnerabilities and misconfigurations.
Integrates with npm audit to scan project dependencies for known vulnerabilities and security risks.
Enriches security audit findings with OWASP security categories and standardized vulnerability references.
Analyzes Prisma schemas for database-related security vulnerabilities and configuration issues.
Scans Supabase security rules to detect data exposure risks and access control vulnerabilities.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@VibeCheck MCP Serveraudit my authentication logic and check for vulnerable npm dependencies"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
VibeCheck MCP Server
AI-powered security audit tool for codebases. Analyzes code for vulnerabilities using real-time data from MITRE CWE and npm audit.
Features
AI-Powered Analysis: Uses MCP sampling to analyze code with Claude
Real-Time CWE Data: Fetches vulnerability definitions from MITRE's CWE API
Dependency Scanning: Uses npm audit for package vulnerability checks
Zero Configuration: No API keys required to get started
Related MCP server: Security Scanner MCP
Installation
Claude Code (Recommended)
/plugin marketplace add philiphess1/vibecheck-mcp
/plugin install vibecheck@vibecheckManual Installation
Add to your Claude Desktop config (~/.claude/claude_desktop_config.json):
{
"mcpServers": {
"vibecheck": {
"command": "npx",
"args": ["-y", "vibecheck-audit-mcp"]
}
}
}From Source
git clone https://github.com/philiphess1/vibecheck-mcp.git
cd vibecheck-mcp
npm install && npm run buildTools
scan_codebase
Full AI-powered security audit with real-time vulnerability data.
Analyzes:
Authentication and authorization issues
API security vulnerabilities
Database security rules
Exposed secrets and environment variables
Dependency vulnerabilities (via npm audit)
Data flow and injection vulnerabilities
Input:
{
"path": "/path/to/codebase",
"categories": ["auth", "api", "secrets-env"],
"severityThreshold": "medium"
}Or provide files directly:
{
"files": [
{ "path": "src/auth.ts", "content": "..." }
]
}Categories:
auth- Authentication, sessions, middlewareapi- API routes, endpointsdatabase-rules- Firebase/Supabase rules, Prisma schemassecrets-env- Environment variables, config filesdependencies- package.json vulnerabilitiesdata-flow- User input handling, injection points
check_dependencies
Quick dependency-only scan using npm audit.
Input:
{
"path": "/path/to/project",
"includeDevDependencies": false
}Requirements:
npm installed
package-lock.jsonin the project
Data Sources
Source | Purpose | Auth Required |
MITRE CWE API | Vulnerability definitions | No |
npm audit | Package CVEs | No |
OWASP | Security categories | No (bundled) |
Development
# Build
npm run build
# Watch mode
npm run dev
# Run directly
npm startHow It Works
File Reading: Reads files from the specified path or accepts file contents directly
Hotspot Collection: Categorizes files by security relevance (auth, api, secrets, etc.)
Dependency Audit: Runs
npm auditif package-lock.json existsAI Analysis: Uses MCP sampling to analyze each category with expert prompts
CWE Enrichment: Fetches relevant CWE definitions from MITRE API
Results: Returns structured findings with severity, CWE/OWASP refs, and remediation steps
Output Format
{
"findings": [
{
"id": "uuid",
"type": "hardcoded-secret",
"severity": "critical",
"title": "Hardcoded API Key",
"description": "...",
"filePath": "src/config.ts",
"lineNumber": 42,
"codeSnippet": "const API_KEY = 'sk-...'",
"aiReasoning": "...",
"confidence": 95,
"cwes": [{ "id": "CWE-798", "name": "..." }],
"owasp": [{ "id": "A02:2021", "name": "..." }],
"remediation": {
"summary": "Use environment variables",
"steps": ["..."]
}
}
],
"dependencyVulnerabilities": [...],
"summary": {
"totalFindings": 5,
"critical": 1,
"high": 2,
"medium": 2,
"low": 0,
"vulnerableDependencies": 3
},
"scanDuration": 12500
}License
MIT
Available Tools
2 toolscheck_dependenciesA
Run npm audit to check dependencies for known vulnerabilities.
Uses the GitHub Advisory Database (same as npm audit). Returns known CVEs, severity levels, and patched versions.
Requirements:
npm must be installed
Directory must contain package-lock.json (or yarn.lock/pnpm-lock.yaml)
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Path to directory containing package.json and package-lock.json | |
| includeDevDependencies | No | Include devDependencies in scan (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: it explains what data source is used ('GitHub Advisory Database'), what information is returned ('CVEs, severity levels, and patched versions'), and important prerequisites. It doesn't mention rate limits, authentication needs, or potential side effects, but provides substantial operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly structured and concise: purpose statement first, followed by data source clarification, return values, and prerequisites in a clear bullet format. Every sentence earns its place with zero wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description provides strong context about behavior, data source, and prerequisites. It could be more complete by describing the output format in more detail or mentioning error conditions, but covers the essential operational context well given the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents both parameters thoroughly. The description doesn't add meaningful parameter semantics beyond what's in the schema, so it meets the baseline of 3. The description mentions lock file requirements but doesn't elaborate on parameter implications.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Run npm audit'), target resource ('dependencies'), and purpose ('check dependencies for known vulnerabilities'). It distinguishes from the sibling tool 'scan_codebase' by focusing specifically on dependency vulnerability scanning rather than general codebase analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool by specifying prerequisites ('npm must be installed', 'Directory must contain package-lock.json'), but doesn't explicitly state when NOT to use it or mention alternatives to the sibling 'scan_codebase' tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_codebaseB
AI-powered security audit with real-time vulnerability database lookups.
Analyzes code for:
Authentication and authorization issues
API security vulnerabilities
Database security rules
Exposed secrets and environment variables
Dependency vulnerabilities (via npm audit)
Data flow and injection vulnerabilities
Returns findings with:
Severity ratings (critical, high, medium, low)
AI reasoning and confidence scores
CWE and OWASP references
Remediation steps
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Absolute path to repository/directory to scan | |
| files | No | Provide file contents directly (alternative to path) | |
| categories | No | Limit scan to specific categories (default: all) | |
| severityThreshold | No | Only return findings at or above this severity |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'real-time vulnerability database lookups' and lists what the scan analyzes and returns, but doesn't disclose important behavioral traits like whether this is a read-only operation, performance characteristics, rate limits, authentication requirements, or what happens when scanning large codebases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections for what it analyzes and what it returns. It's appropriately sized for the tool's complexity, though the bulleted lists could be slightly more concise. Every sentence adds value without repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter security scanning tool with no annotations and no output schema, the description provides good context about what vulnerabilities are checked and what information is returned. However, it lacks details about behavioral characteristics, error conditions, and the format/structure of returned findings that would be important for an AI agent to use this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the baseline is 3. The description doesn't add specific parameter semantics beyond what's already documented in the schema, though it provides context about what the tool analyzes which relates to the 'categories' parameter. No additional syntax, format, or usage details are provided for parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as an 'AI-powered security audit' that 'analyzes code' for specific vulnerability types and 'returns findings' with detailed information. It distinguishes from the sibling tool 'check_dependencies' by covering a broader range of security issues beyond just dependencies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for security auditing but doesn't explicitly state when to use this tool versus alternatives. While it distinguishes from 'check_dependencies' by covering more categories, it doesn't provide guidance on prerequisites, when not to use it, or comparisons to other security tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The two tools have clearly distinct purposes: check_dependencies focuses specifically on dependency vulnerabilities via npm audit, while scan_codebase performs a comprehensive AI-powered security audit across multiple code aspects. There is no overlap or ambiguity between them.
Both tools follow a consistent verb_noun naming pattern (check_dependencies and scan_codebase) with clear, descriptive names that accurately reflect their functions. The naming style is uniform throughout.
With only 2 tools, the server feels too thin for its apparent scope of security auditing. While the tools cover dependency scanning and codebase analysis, a security-focused server would typically benefit from more granular tools (e.g., for specific vulnerability types, remediation actions, or report generation).
The tools provide good coverage for vulnerability detection (dependencies and code), but there are notable gaps in the security lifecycle. Missing are tools for remediation (e.g., apply_fixes, update_dependencies), reporting (e.g., generate_report), or configuration management, which limits agent workflows to detection-only scenarios.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI website audit: security, SEO, performance, UX and accessibility checks with actionable fixes.
Zero-config MCP security scanner for AI-generated apps. 25K+ vulnerability patterns.
Independent security review for AI-built apps. Watch a GitHub repo. Never a patch.
Provide AI-powered real-time analysis and intelligence on NPM packages, including security, depend…
Related MCP Servers
- AlicenseBqualityDmaintenanceA Node.js-based frontend security audit tool that performs comprehensive dependency security audits for both local projects and remote repositories. Generates detailed Markdown reports with vulnerability detection, risk assessment, and fix recommendations.1177ISC
- AlicenseNot gradedqualityDmaintenanceAutomatically detects security vulnerabilities in AI-generated code, scanning for hardcoded secrets, injection flaws, XSS, weak cryptography, authentication issues, path traversal, and vulnerable dependencies across JavaScript, Python, Java, and Go.102MIT
- AlicenseAqualityDmaintenanceAn AI-powered security audit tool that analyzes codebases for vulnerabilities using real-time MITRE CWE data and npm audit. It enables users to perform comprehensive scans for authentication issues, exposed secrets, and dependency risks with structured remediation steps.210MIT
- AlicenseNot gradedqualityDmaintenanceA frontend security dependency auditing tool that identifies vulnerabilities in local and remote repositories using the Model Context Protocol. It provides detailed audit information like CVSS scores and dependency chains, generating standardized markdown reports.25MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/philiphess1/vibecheck-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server