guardvibe
Security infrastructure your AI can't be — deterministic, current past your model's training cutoff, whole-repo-aware, author-independent. Security MCP for vibe coding. 629 rules, 39 tools, CLI + doctor. Prompt-level shift-left security (secure_prompt — e
npm · fingerprint c7a4314d4d43afbe73896fdd · repository · RSS
39tools
2recorded versions
24dtracked
changed 3d ago
What changed
Changed 2026-10-27 12:04 UTC
39 schema or annotation changes with the description left byte-identical.
--- pinned/analyze_cross_file_dataflow +++ observed/analyze_cross_file_dataflow { "description": "Track user input flowing across module boundaries — detects injection vulnerabilities spanning multiple files. Pass files array with file contents. For single-file analysis, use analyze_dataflow instead. Example: analyze_cross_file_dataflow({files: [{path: 'src/api.ts', content: '...'}, {path: 'src/db.ts', content: '...'}]})", "execution": { - "additionalProperties": false, "properties": { "files": { "default": [], - "additionalProperties": false, "properties": { "content": { "description": "File source code",
--- pinned/analyze_dataflow +++ observed/analyze_dataflow { "description": "Track user input (request body, URL params, form data) flowing into dangerous sinks (SQL queries, eval, file operations, redirects). Detects injection vulnerabilities that regex rules miss by following variable assignments through code.", "execution": { - "additionalProperties": false, "properties": { "code": { "description": "Code to analyze for tainted data flows",
--- pinned/audit_config +++ observed/audit_config { "description": "Audit application config files (next.config, middleware, .env, vercel.json) for cross-file security gaps: missing headers, unprotected routes, exposed secrets. NOT the same as guardvibe_doctor which checks AI host security (MCP configs, hooks). Example: audit_config({path: '.'})", "execution": { - "additionalProperties": false, "properties": { "format": { "default": "markdown",
--- pinned/audit_mcp_config +++ observed/audit_mcp_config { "description": "Scan MCP configuration files (.claude/settings.json, .cursor/mcp.json, .vscode/mcp.json) for security issues: malicious hooks (CVE-2025-59536), suspicious MCP servers, overly permissive tool access, and shell injection patterns. Use this to verify MCP configurations are safe before use.", "execution": { - "additionalProperties": false, "properties": { "format": { "default": "markdown",
--- pinned/auth_coverage +++ observed/auth_coverage { "description": "Analyze authentication coverage across Next.js App Router routes. Detects auth guards (Clerk, NextAuth, Supabase, custom) and reports protected vs unprotected routes. Pass files array with route file contents and middleware content. Example: auth_coverage({files: [{path: 'app/api/users/route.ts', content: '...'}], middleware: '...'})", "execution": { - "additionalProperties": false, "properties": { "files": { "default": [], - "additionalProperties": false, "properties": { "content": { "description": "File source code",
--- pinned/check_code +++ observed/check_code { "description": "Analyze inline code for security vulnerabilities (OWASP Top 10, XSS, SQL injection, insecure patterns). Pass code as a string parameter. For scanning files on disk, use scan_file instead. Example: check_code({code: 'app.get(...)', language: 'javascript'})", "execution": { - "additionalProperties": false, "properties": { "code": { "description": "The code snippet to analyze",
--- pinned/check_command +++ observed/check_command { "description": "Analyze a shell command for security risks before execution. Returns allow/ask/deny verdict with blast radius, safer alternatives, and context-aware risk assessment. Detects: destructive ops, git history rewrites, secret exposure, data exfiltration, deploy triggers, privilege escalation, database drops.", "execution": { - "additionalProperties": false, "properties": { "branch": { "description": "Current git branch (for branch-specific risk)",
--- pinned/check_dependencies +++ observed/check_dependencies { "description": "Check npm, PyPI, or Go packages for known security vulnerabilities (CVEs) using the OSV database. Use this before adding new dependencies or to audit existing ones.", "execution": { - "additionalProperties": false, "properties": { "format": { "default": "markdown", - "additionalProperties": false, "properties": { "ecosystem": { "default": "npm",
--- pinned/check_package_health +++ observed/check_package_health { "description": "Check npm packages for typosquat risk, maintenance status, adoption metrics, and deprecation. Use this before adding new dependencies to catch suspicious or risky packages.", "execution": { - "additionalProperties": false, "properties": { "format": { "default": "markdown",
--- pinned/check_project +++ observed/check_project { "description": "Scan multiple files for security vulnerabilities and generate a project-wide security report with a security score. Use this for comprehensive security audits.", "execution": { - "additionalProperties": false, "properties": { "files": { "description": "List of files to scan: [{path, content}]", - "additionalProperties": false, "properties": { "content": { "description": "File source code",
--- pinned/compliance_report +++ observed/compliance_report { "description": "Map security findings to compliance controls (SOC2, PCI-DSS, HIPAA, GDPR, ISO27001, EUAIACT). Scans a directory and groups issues by control. Output includes a summary section at the top; for large projects, findings are truncated to top 50. Use mode=executive for C-level summary. Example: compliance_report({path: '.', framework: 'SOC2'})", "execution": { - "additionalProperties": false, "properties": { "format": { "default": "markdown",
--- pinned/deep_scan +++ observed/deep_scan { "description": "LLM-powered deep security analysis for vulnerabilities that pattern-matching cannot detect: IDOR, business logic flaws, race conditions, stale auth, mass assignment, privilege escalation. Defaults to Claude Haiku 4.5 (~cents per scan); pass `model: 'sonnet'` for deeper analysis at higher cost. Requires ANTHROPIC_API_KEY or OPENAI_API_KEY env var.", "execution": { - "additionalProperties": false, "properties": { "code": { "description": "Code to analyze",
--- pinned/explain_remediation +++ observed/explain_remediation { "description": "Pass a GuardVibe rule ID (e.g. VG154) to get a detailed explanation: risk assessment, exploit scenario, minimum fix, secure alternative, and test strategy. Optionally pass the affected code snippet for context-aware guidance. Example: explain_remediation({rule_id: 'VG402'})", "execution": { - "additionalProperties": false, "properties": { "code": { "description": "Affected code snippet for context",
--- pinned/export_sarif +++ observed/export_sarif { "description": "Scan a directory and export results in SARIF v2.1.0 format for CI/CD integration (GitHub, GitLab, Azure DevOps). Returns JSON string.", "execution": { - "additionalProperties": false, "properties": { "path": { "description": "Directory to scan",
--- pinned/fix_code +++ observed/fix_code { "description": "Pass vulnerable code as a string and get fix suggestions with before/after patches. Returns structured edit instructions (line numbers, severity, confidence). Use verify_fix afterwards to confirm the fix resolved the issue. Example: fix_code({code: '...', language: 'typescript'})", "execution": { - "additionalProperties": false, "properties": { "code": { "description": "The code snippet to analyze and fix",
--- pinned/full_audit +++ observed/full_audit { "description": "Single command that runs ALL checks: code scan (429 rules), secret detection, dependency CVEs, config audit, taint analysis, and auth coverage. Returns PASS/FAIL/WARN verdict with deterministic hash. IMPORTANT: If verdict is FAIL or WARN, you MUST call remediation_plan next to get a section-by-section fix checklist — do NOT skip any section. After fixing, call verify_remediation to confirm ALL sections are addressed. Example: full_audit({path: '.'})", "execution": { - "additionalProperties": false, "properties": { "format": { "default": "markdown",
--- pinned/generate_policy +++ observed/generate_policy { "description": "Auto-detect project stack (Next.js, Supabase, Stripe, Clerk, Prisma, etc.) and generate tailored security policies. Outputs ready-to-use CSP headers, CORS configuration, Supabase RLS policies, rate limiting rules, and security headers based on detected frameworks.", "execution": { - "additionalProperties": false, "properties": { "format": { "default": "markdown",
--- pinned/get_security_docs +++ observed/get_security_docs { "description": "Get security best practices and remediation guidance for a specific topic, framework, or vulnerability type. Covers OWASP Top 10, framework-specific hardening (Next.js, Supabase, Stripe), and secure coding patterns. Returns actionable guidance with code examples.", "execution": { - "additionalProperties": false, "properties": { "topic": { "description": "Security topic to look up (e.g. \"express authentication\", \"sql injection prevention\", \"nextjs csrf\", \"react xss\", \"owasp top 10\")",
--- pinned/guardvibe_doctor +++ observed/guardvibe_doctor { "description": "Check AI host security: MCP configurations, hooks, base URL hijacking, environment variable exposure. NOT the same as audit_config which checks application config files (next.config, .env, headers). Use scope=project (default) for project-only, scope=host to include shell profiles and global AI configs. Example: guardvibe_doctor({scope: 'project'})", "execution": { - "additionalProperties": false, "properties": { "format": { "default": "markdown",
--- pinned/policy_check +++ observed/policy_check { "description": "Check project against compliance policies defined in .guardviberc. Use this in CI/CD pipelines to enforce security gates, or before releases to verify compliance requirements are met. Validates custom framework requirements, severity thresholds, required controls, and risk exceptions. Returns pass/fail status with detailed findings per control.", "execution": { - "additionalProperties": false, "properties": { "format": { "default": "markdown",
--- pinned/remediation_plan +++ observed/remediation_plan { "description": "Generate a mandatory section-by-section remediation plan from full_audit results. MUST be called after full_audit when verdict is FAIL or WARN. Returns ordered steps for ALL 6 sections (secrets, code, dependencies, config, taint, auth-coverage) with specific tool calls and actions. AI assistants MUST complete every section — skipping sections is not allowed. Example: remediation_plan({path: '.'})", "execution": { - "additionalProperties": false, "properties": { "format": { "default": "json",
--- pinned/repo_security_posture +++ observed/repo_security_posture { "description": "Analyze a repository's overall security posture. Maps sensitive areas (auth, payments, PII, admin, API, infrastructure), identifies high-risk workflows, recommends guard mode, and lists priority fixes.", "execution": { - "additionalProperties": false, "properties": { "format": { "default": "markdown",
--- pinned/review_pr +++ observed/review_pr { "description": "Review a pull request for security issues. Scans only changed lines (diff-only mode) and produces output for GitHub Check Runs, PR comments, or inline annotations. Supports severity gating to block PRs.", "execution": { - "additionalProperties": false, "properties": { "base": { "default": "main",
--- pinned/scan_changed_files +++ observed/scan_changed_files { "description": "Scan only files that have changed since a given git ref (branch, commit, or HEAD~N). Ideal for PR checks, pre-push hooks, and incremental CI. Diff-aware by default: returns only findings on newly-added lines (set diff_aware:false for whole changed files).", "execution": { - "additionalProperties": false, "properties": { "base": { "default": "HEAD~1",
--- pinned/scan_config_change +++ observed/scan_config_change { "description": "Compare before/after versions of a config file to detect security downgrades: CORS relaxation, CSP weakening, HSTS removal, debug mode, cookie flag changes, TLS disabling, new hardcoded secrets, removed security headers.", "execution": { - "additionalProperties": false, "properties": { "after": { "description": "New config file content",
--- pinned/scan_dependencies +++ observed/scan_dependencies { "description": "Parse a lockfile or manifest (package.json, package-lock.json, requirements.txt, go.mod) and check all dependencies for known CVEs via the OSV database. Reads the file directly. Use this after installing dependencies, during CI, or when auditing existing projects for vulnerable packages.", "execution": { - "additionalProperties": false, "properties": { "format": { "default": "markdown",
--- pinned/scan_directory +++ observed/scan_directory { "description": "Scan all files in a directory on disk for security vulnerabilities. Pass a directory path — reads files from filesystem. Returns security score (A-F) and findings. Results may be truncated for large projects — check fileRanking in JSON output for top files. Example: scan_directory({path: './src'})", "execution": { - "additionalProperties": false, "properties": { "baseline": { "description": "Path to a previous scan JSON output file for baseline comparison (new/fixed/unchanged findings)",
--- pinned/scan_file +++ observed/scan_file { "description": "Scan a single file on disk by path for security vulnerabilities. Pass a file path — the tool reads the file itself. For inline code snippets, use check_code instead. The 'agent' format returns the structured guardvibe.agent.v1 contract (finding + exact edit + confidence + verify step). Example: scan_file({file_path: 'src/api/route.ts', format: 'agent'})", "execution": { - "additionalProperties": false, "properties": { "file_path": { "description": "Absolute or relative path to the file to scan",
--- pinned/scan_hallucinated_packages +++ observed/scan_hallucinated_packages { "description": "Detect AI-hallucinated and slopsquatted packages in a repo — the supply-chain seam commodity SCA misses. OFFLINE (deterministic): flags phantom imports (a package imported in source but absent from every package.json — a classic LLM hallucination tell) and typosquats of popular packages. ONLINE (opt-in, default on; gracefully degrades offline): adds npm-registry truth — packages that return 404 (definitive hallucination) and brand-new low-download packages (slopsquat-registration pattern). Run on AI-generated code at PR time, before `npm install`. Pass online:false for a fully deterministic, air-gapped scan.", "execution": { - "additionalProperties": false, "properties": { "format": { "default": "markdown",
--- pinned/scan_host_config +++ observed/scan_host_config { "description": "Scan host environment for AI security issues: API base URL hijacking (CVE-2026-21852), credential exposure in shell profiles, .env file leaks, and environment variable sniffing. Checks .env files at project scope; add scope=host to also check shell profiles and global AI configs.", "execution": { - "additionalProperties": false, "properties": { "format": { "default": "markdown",
--- pinned/scan_secrets +++ observed/scan_secrets { "description": "Scan files and directories for leaked secrets, API keys, tokens, and credentials. Detects high-entropy strings, known API key patterns (AWS, Stripe, OpenAI, GitHub, Supabase), exposed .env files, and missing .gitignore coverage. Returns findings with exact line numbers and remediation steps.", "execution": { - "additionalProperties": false, "properties": { "format": { "default": "markdown",
--- pinned/scan_secrets_history +++ observed/scan_secrets_history { "description": "Scan git history for leaked secrets. Finds secrets that were committed in the past — even if they were later removed. Marks each finding as 'active' (still in code) or 'removed' (in git history only, needs rotation).", "execution": { - "additionalProperties": false, "properties": { "format": { "default": "markdown",
--- pinned/scan_staged +++ observed/scan_staged { "description": "Scan git-staged files for security vulnerabilities before committing. Run this before every commit to catch issues early. No input needed — automatically reads staged files. Diff-aware by default: reports only issues on newly-staged lines (set diff_aware:false for whole staged files).", "execution": { - "additionalProperties": false, "properties": { "diff_aware": { "default": true,
--- pinned/secure_prompt +++ observed/secure_prompt { "description": "Shift-left security at the prompt level: analyze a raw coding prompt BEFORE any code is written and return a structured enhancement directive that embeds GuardVibe security requirements (auth checks, input validation, webhook signature verification, SQL injection prevention, secrets handling) into the prompt you are about to execute. Deterministic — no LLM, no network: triage verdict NO_MOD (prompt already specific and security-aware → proceed with the ORIGINAL prompt unchanged), LIGHT_MOD (inject missing security constraints only), or HEAVY_MOD (also surface clarifying questions — never invent answers to them). Detects stack (Next.js, Supabase, Clerk, Stripe, Prisma, Express, Hono...) and attack surfaces (auth, payments, file upload, user input, SQL, secrets, redirects) from the prompt text, matches them against GuardVibe's rule set, and returns verdict + intent summary + numbered [rule-id] requirements + rewrite directive. Call this with the user's prompt before generating code; prevents vulnerabilities before code generation instead of scanning after. Example: secure_prompt({raw_prompt: 'add login to my app'})", "execution": { - "additionalProperties": false, "properties": { "context": { "description": "Known stack/framework context if the client has it (e.g. 'Next.js app router, Supabase, Stripe')",
--- pinned/secure_this +++ observed/secure_this { "description": "Close the loop on vulnerabilities in code: scan, apply only the fixes that VERIFIABLY land (each candidate edit is re-scanned and rolled back if it fails to resolve the issue or introduces a new one), and return the verified code plus a definition-of-done gate. Prefer this over fix_code+verify_fix when you want a guarantee the fix landed — not just a suggestion. Returns { status: clean|secured|partial|no_autofix, fixedCode, applied[], remaining[], definitionOfDone:{passed,message}, proofTest }. Write fixedCode to disk, then require definitionOfDone.passed before claiming the task complete; anything in remaining[] needs a manual fix. When fixes were applied, proofTest is a runnable regression test (GuardVibe-as-oracle) you can drop into the project to guard against regressions. Example: secure_this({code: '...', language: 'typescript'})", "execution": { - "additionalProperties": false, "properties": { "code": { "description": "The code to scan and secure",
--- pinned/security_stats +++ observed/security_stats { "description": "Show cumulative security statistics, grade trend, and vulnerability fix progress for this project. Use this to demonstrate the value of GuardVibe security scanning over time. Data is stored locally in .guardvibe/stats.json.", "execution": { - "additionalProperties": false, "properties": { "format": { "default": "markdown",
--- pinned/security_workflow +++ observed/security_workflow { "description": "Get the recommended GuardVibe tool sequence for your current task. Returns which tools to call, in what order, and with what parameters. Use this when unsure which tool to use. Example: security_workflow({task: 'pre_commit'})", "execution": { - "additionalProperties": false, "properties": { "task": { "description": "Current task: writing_code (after edits), pre_commit (before commit), pr_review (reviewing PR), new_project (initial setup), fix_vulnerabilities (fixing known issues), compliance_mapping (audit against framework), dependency_check (check deps), merge_to_main (pre-merge gate), publish_package (pre-publish checks), security_audit (comprehensive audit), incident_response (post-breach investigation), full_remediation (fix ALL security issues across all 6 sections — secrets, code, deps, config, taint, auth)",
--- pinned/verify_fix +++ observed/verify_fix { "description": "Verify that a specific security fix was applied correctly. Re-scans the updated code and checks if the target vulnerability (by rule ID) is resolved. Returns 'fixed', 'still_vulnerable', or 'new_issues' status with details.", "execution": { - "additionalProperties": false, "properties": { "code": { "description": "Updated code after applying the fix",
--- pinned/verify_remediation +++ observed/verify_remediation { "description": "Compare before/after audit results to verify ALL sections were addressed. MUST be called after completing remediation to confirm success. Runs a fresh audit and compares against the before snapshot. Explicitly flags skipped sections and refuses to return 'complete' status unless every section is addressed. Pass the before audit hash or let it re-run. Example: verify_remediation({path: '.', before_hash: 'abc123'})", "execution": { - "additionalProperties": false, "properties": { "before_hash": { "description": "Result hash from the initial full_audit (for tracking)",
Current tools
Show all 39 tool fingerprints
analyze_cross_file_dataflow
analyze_dataflow
audit_config
audit_mcp_config
auth_coverage
check_code
check_command
check_dependencies
check_package_health
check_project
compliance_report
deep_scan
explain_remediation
export_sarif
fix_code
full_audit
generate_policy
get_security_docs
guardvibe_doctor
policy_check
remediation_plan
repo_security_posture
review_pr
scan_changed_files
scan_config_change
scan_dependencies
scan_directory
scan_file
scan_hallucinated_packages
scan_host_config
scan_secrets
scan_secrets_history
scan_staged
secure_prompt
secure_this
security_stats
security_workflow
verify_fix
verify_remediation
Watch this server yourself
If you run this server, put the proxy in front of it. It pins these exact fingerprints on first connect and stops the session if they move.
npx -y mcp-pin@0.2.3 -- <your guardvibe command>
Or subscribe to this page's RSS feed to be told when it changes.
Badge
The badge states one fact about time and nothing else. It never claims a server is safe.
[](https://mcp-pin.gautamkhosla.com/servers/8a3502bac73bc835.html)