VulnForge MCP
Provides vulnerability auditing and automated patch injection for Express applications, including security header middleware, route analysis for BOLA/IDOR, and mass assignment fixes.
Provides vulnerability auditing and automated patch injection for Fastify applications, including security header middleware, route analysis for BOLA/IDOR, and mass assignment fixes.
Generates Koa security header injection middleware and audits Koa route definitions for authentication and mass assignment issues.
Audits MongoDB queries for NoSQL injection vectors such as $where and suggests sanitized or parameterized alternatives.
Audits Mongoose ODM calls for NoSQL injection, raw query concatenation, and unsafe query patterns, with automated patch injection.
Audits Next.js route definitions for BOLA/IDOR, missing authentication, and mass assignment risks, with automated patch suggestions.
Audits Prisma ORM calls for SQL injection and unsafe query patterns, generating secure replacements.
Audits Sequelize ORM calls for SQL injection and unsafe query patterns, generating parameterized replacements.
Audits TypeORM ORM calls for SQL injection and unsafe query patterns, generating secure replacements.
Generates Zod DTO parsers to prevent mass assignment and validate API inputs during automated patch injection.
Click on "Deploy 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., "@VulnForge MCPaudit my Express app for XSS, BOLA, and SQL injection and patch all findings"
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.
๐ก๏ธ VulnForge MCP
Universal AI-Native Web, API & Database Vulnerability Auditing with Automated Patch Injection MCP Server
Architected & Licensed under Proprietary (All Rights Reserved) ยท Autonomous Security Engineering
โก Quickstart & 1-Line Execution
Run VulnForge MCP directly with zero prior installation:
# 1. Start MCP Server over stdio
npx vulnforge-mcp
# 2. Run Built-in Security Audit Demonstration
npx vulnforge-mcp --test-demoAdding to Claude Desktop / Antigravity (claude_desktop_config.json)
{
"mcpServers": {
"vulnforge": {
"command": "node",
"args": ["C:/github_nvcxzopgo/vulnforge-mcp/dist/index.js"]
}
}
}Related MCP server: VibeCheck MCP Server
๐๏ธ The 4 Vulnerability Auditing Pillars
# | Pillar Domain | Scope & Target Checks | Automated Patch Output |
01 | Web & Headers | Content-Security-Policy, HSTS, CORS Wildcards, X-Frame-Options, Cookie Flags | Express/Fastify/Koa security header injection middleware |
02 | Frontend & DOM | DOM XSS sinks ( | Safe |
03 | API & Endpoints | Broken Object Level Auth (BOLA/IDOR), Unauthenticated mutation routes, Mass assignment | Tenant ownership validators, auth middlewares, Zod DTO parsers |
04 | Database & SQLi | Raw template string queries, SQL concatenation, MongoDB | Parameterized statements ( |
๐ ๏ธ 5 Core MCP Security Tools
VulnForge MCP exposes 5 specialized security audit tools to your AI agent:
vulnforge_audit_web:Analyzes HTTP response headers, cookie flags, and DOM client code.
Computes an automated Security Score (0 to 100) and outputs prioritized CWE findings.
vulnforge_audit_api:Inspects route definitions (Express, Fastify, Next.js) or OpenAPI specifications.
Flags BOLA/IDOR patterns, missing auth middleware, and mass assignment risks.
vulnforge_audit_db:Evaluates SQL queries and ORM calls (Sequelize, Prisma, TypeORM, Knex, Mongoose).
Identifies raw string concatenation, unescaped interpolations, and NoSQL injection vectors.
vulnforge_inject_patch:Takes vulnerable code and automatically synthesizes a secure drop-in replacement.
Returns both patched code and a unified git diff for transparent review.
vulnforge_full_scan:Executes an end-to-end 360-degree security audit across Web, API, and DB layers simultaneously.
โก Automated Defensive Patch Injection Engine
VulnForge not only detects flaws, but actively writes defensive patches:
--- a/database.ts
+++ b/database.ts
@@ -1,3 +1,3 @@
- const user = await db.query(`SELECT * FROM users WHERE email = ${email}`);
+ const user = await db.query('SELECT * FROM users WHERE email = $1', [email]);--- a/frontend.js
+++ b/frontend.js
@@ -1,2 +1,2 @@
- document.getElementById('name').innerHTML = userName;
+ document.getElementById('name').textContent = userName;๐ Enterprise Security & age Cryptographic Protection
All proprietary signatures and sensitive core modules are protected via modern UNIX-philosophy cryptographic tools:
age (X25519): Fast, modern file encryption replacing legacy PGP.
Minisign (Ed25519): Detached signature verification for high-assurance release binaries.
Post-Quantum Cryptography (ML-KEM-768 / Kyber): Quantum-resistant hybrid key encapsulation for long-term audit trail confidentiality.
3-Tier Key Backup: NTFS permission isolation + Windows DPAPI hardware binding + Encrypted Cloud Mirror.
๐ Tri-Platform Mirroring Architecture (GitHub ยท GitLab ยท Hugging Face)
Every commit pushed to the primary GitHub repository is automatically synchronized in real-time across 3 major platforms via GitHub Actions (.github/workflows/mirror.yml):
Hugging Face: https://huggingface.co/mason-keller/vulnforge-mcp
๐ Proprietary Software License
PROPRIETARY & CONFIDENTIAL SOFTWARE LICENSE
Copyright (c) 2026 The Authors & Workspace Owner. All Rights Reserved.
Publicly visible on GitHub for evaluation, reference, and educational review only.
Unauthorized copying, modification, redistribution, or commercial use is strictly prohibited.Available Tools
5 toolsvulnforge_audit_apiB
Audits REST/GraphQL endpoint handlers for Broken Object Level Auth (BOLA/IDOR), unauthenticated mutating endpoints, missing rate limits, and mass assignment risks.
| Name | Required | Description | Default |
|---|---|---|---|
| routeCode | Yes | Source code defining API route handlers (Express, Fastify, Next.js, etc.) | |
| sourceFile | No | Filename or identifier for reporting (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It does add real behavioral content beyond the title by naming the exact weakness categories (BOLA/IDOR, unauthenticated mutations, missing rate limits, mass assignment), but it never says whether the analysis is static-only, whether code is executed, whether any permission or network access is required, or how findings are reported.
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?
A single front-loaded sentence with no filler; the verb and resource come first and the detection list follows. The four-item enumeration is information-dense and each item earns its place, though the sentence is long enough to be slightly list-heavy.
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 two-parameter audit tool with no output schema and no annotations, the description establishes scope but is thin on everything else: no result format, severity model, scope limits, or handling of non-JS frameworks beyond the 'etc.' hint. Adequate to select the tool, incomplete for predicting its behavior.
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?
Schema description coverage is 100% for both parameters (routeCode, sourceFile), so the schema fully documents them. The description adds no parameter-level meaning such as accepted languages, size limits, or how sourceFile affects reporting, so the baseline 3 applies.
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?
States a specific verb (audits) and a precise resource (REST/GraphQL endpoint handlers), then enumerates the four vulnerability classes it detects. An agent can distinguish this from vulnforge_audit_web and vulnforge_audit_db by the 'API endpoint handlers' scope, though it never explicitly names or contrasts those siblings.
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?
Usage is implied rather than stated: the agent can infer 'use this when you have API route handler source', but there is no guidance on when to prefer vulnforge_full_scan or the sibling audits, and no prerequisites or ordering advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_dbB
Audits SQL/NoSQL query snippets, ORM commands, and database connection strings for injection vulnerabilities, raw interpolations, and credential leaks.
| Name | Required | Description | Default |
|---|---|---|---|
| queryCode | Yes | SQL query string, ORM call snippet (Sequelize, Prisma, TypeORM, Mongoose) | |
| sourceFile | No | Filename or identifier for reporting (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully names what it detects (injection vulnerabilities, raw interpolations, credential leaks), which is real behavioral value, but it never states that this is a static, non-executing analysis, nor how findings are reported or prioritized.
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?
A single front-loaded sentence with no filler; the verb, scope, and detection targets are all packed in without redundancy.
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?
With no annotations and no output schema, the description should say more about what an agent gets back (finding format, severity, whether it only analyzes rather than connects to a DB). It covers the input scope well but leaves the result side underspecified.
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?
Schema coverage is 100% with only two parameters, so the schema already documents queryCode and sourceFile fully. The description adds no syntax or format detail beyond it, and its mention of 'connection strings' is only loosely reflected in the queryCode schema description, which lists SQL/ORM snippets but not connection strings.
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 gives a specific verb (audits) and enumerates the exact resources in scope: SQL/NoSQL query snippets, ORM commands, and connection strings. That DB-specific framing implicitly separates it from vulnforge_audit_web and vulnforge_audit_api, though it never names those siblings explicitly.
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?
There is no guidance on when to reach for this tool versus vulnforge_full_scan, nor any mention of the natural audit-then-inject_patch workflow. The usage context (you have a query snippet to check) is only inferable from the resource list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_webB
Audits web HTTP response headers, cookie flags, and DOM client code for security misconfigurations, XSS sinks, weak CSP, HSTS absences, and tabnabbing.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Target URL being audited (optional) | |
| cookies | No | List of Set-Cookie header strings (optional) | |
| headers | No | Map of HTTP headers (e.g. { "content-security-policy": "..." }) | |
| htmlOrCode | No | HTML markup or client-side JavaScript code to scan for DOM injection sinks (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it omits key traits: whether it is read-only, whether it performs network requests against `url`, authentication requirements, and what all-optional parameters mean (it is unclear what happens when all four are empty). It also never describes the shape or severity of findings, leaving the agent without behavioral context for an audit operation.
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?
A single dense sentence that front-loads the verb and the audited surfaces, with no filler or repetition. The trailing list of checks is long but each item is substantive, so no sentence needs removing.
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?
There is no output schema, so the description is the only source for what the tool returns, and it stops at enumerating detection categories without describing result format or severity. It compensates somewhat by implicitly naming the findings an agent should expect, and the input side is fully covered by a 100%-documented schema.
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?
Schema description coverage is 100%, so both the parameters and their nested/array types are already documented, which sets the baseline at 3. The description contextualizes what the inputs are used for (headers, cookie strings, HTML/JS sinks) but adds no syntax, format, or combination semantics beyond the schema.
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?
States a specific verb ('Audits') plus the exact surfaces inspected โ HTTP response headers, cookie flags, and DOM client code โ and enumerates the misconfiguration classes it looks for (XSS sinks, weak CSP, missing HSTS, tabnabbing). This target-surface list clearly differentiates it from siblings like vulnforge_audit_api and vulnforge_audit_db, which target different layers.
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?
There is no when-to-use guidance, no mention of alternatives such as vulnforge_full_scan, and no stated prerequisites (e.g., whether the tool fetches the URL itself or only analyzes supplied artifacts). Usage is only inferable from the tool name and the audited surfaces.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_full_scanC
Runs an end-to-end multi-layer vulnerability audit across Web, API, and DB layers, generating unified findings and ready-to-apply patches.
| Name | Required | Description | Default |
|---|---|---|---|
| dbCode | No | ||
| apiCode | No | ||
| headers | No | ||
| frontendCode | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it omits whether authentication/target access is required, how long a full scan takes, whether generated patches are actually applied or only returned, and what happens if a layer code is omitted (0 required params). It does disclose that output includes unified findings and patches, which is the only behavioral signal.
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?
A single front-loaded sentence with no filler; the scope and output are stated up front. It could not be much shorter without losing content, though it does no routing work.
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 four-parameter tool with a nested object, zero schema descriptions, no annotations, and no output schema, the description is too thin. It leaves the agent guessing about parameter formats, preconditions, and whether the tool is safe/non-destructive.
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?
Schema coverage is 0% and the description explains none of the four parameters. The layer names (Web/API/DB) loosely map to frontendCode/apiCode/dbCode, but what those codes actually are (repo paths? endpoints?) and the purpose of 'headers' (auth? request injection?) remain undefined.
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?
Clear verb+resource: 'Runs an end-to-end multi-layer vulnerability audit across Web, API, and DB layers.' The multi-layer scope implicitly distinguishes it from the per-layer siblings (vulnforge_audit_web/api/db), but it never names them or explicitly frames itself as the aggregate alternative.
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?
No when-to-use guidance is given: it doesn't say when to run the full scan versus the three per-layer audit siblings, nor where vulnforge_inject_patch fits relative to the 'ready-to-apply patches' this tool produces. Only the phrase 'end-to-end' hints at context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_inject_patchB
Synthesizes and automatically injects defensive patches into vulnerable code, converting raw queries to parameterized statements, adding headers, and sanitizing DOM sinks.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | No | Target filename (e.g. server.ts, db.ts) | |
| sourceCode | Yes | The vulnerable source code to remediate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It conveys that the tool mutates code automatically and lists the transformation classes, but it never says whether the target file is overwritten on disk, whether changes are reversible, what permissions are needed, or whether patched source is returned instead of written. For an unannotated mutation tool this is a substantial gap.
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?
A single front-loaded sentence that leads with the core action and then lists the specific remediation techniques. It is efficient and wastes no words, though the trailing list of transformation types edges toward detail that could live in an output description.
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?
With no output schema and no annotations, the description should explain what the call yields โ patched source text, a file write, or a status report โ and it does not. Combined with silence on side effects on the 'filename' target, the definition leaves the agent unable to predict the result of invoking it.
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?
Schema description coverage is 100% โ both 'filename' (with an example) and 'sourceCode' are documented in the schema itself. The description adds no parameter-level syntax, format, or constraint detail beyond what the schema already provides, so the baseline of 3 applies.
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?
States a specific verb ('synthesizes and automatically injects') and resource ('defensive patches into vulnerable code'), and enumerates the concrete transformations performed (parameterized statements, headers, DOM sanitization). This clearly separates it from the sibling audit_* and full_scan tools, which are read-only detectors rather than remediation.
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?
Usage is only implied: an agent can infer this is the remediation step taken after an audit surfaces vulnerable code, since it takes sourceCode and returns patched output. There is no explicit when-to-use statement, no prerequisite (e.g. 'run vulnforge_audit_* first'), and no guidance on when to choose this over the scan siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v1.0.0- First observed
vulnforge_audit_api - First observed
vulnforge_audit_db - First observed
vulnforge_audit_web - First observed
vulnforge_full_scan - First observed
vulnforge_inject_patch
TDQS
Scored across 5 tools
The three audit tools are clearly distinguished by layer (web, API, DB), and inject_patch is a distinct action. full_scan overlaps with the combined audits, which could cause minor confusion about when to use it versus individual audits, but its end-to-end purpose is clear.
All tools use snake_case with the vulnforge_ prefix, which is consistent. However, audit_web/audit_api/audit_db and inject_patch follow a verb_noun pattern, while full_scan uses an adjective_noun pattern, a minor deviation.
Five tools is well-scoped for a focused vulnerability auditing/patching server. Each tool targets a specific layer or action and earns its place without redundancy.
The surface covers detection across web, API, and DB layers plus automated patching and a full-scan orchestrator, providing a complete detect-and-remediate cycle. Minor gaps include no dedicated patch verification or scanning beyond these three layers (e.g., dependencies, cloud configs).
Maintenance
Related MCP Connectors
Security scanner for AI-written code: SAST, secrets, dependencies, IaC, containers and DAST.
14Pay-per-call cybersecurity for AI agents: vuln scans, threat intel, compliance, code security.
Authorized security scans, evidence, fix prompts and retests for AI-built web apps.
Security scanner for AI agents: prompt injection, leaked secrets, PII, and SSRF-risk URL detection.
Related MCP Servers
- 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.12 npm2MIT
- AlicenseAqualityCmaintenanceAn AI-powered security audit tool that analyzes codebases for vulnerabilities using real-time data from MITRE CWE and npm audit. It enables deep analysis of authentication, API security, and dependencies to provide structured findings and remediation steps.27 npm1MIT

Sekrd Security Scannerofficial
FlicenseAqualityDmaintenanceEnables deep security auditing of web applications directly from AI IDEs including Cursor and Claude Code. Scans URLs for vulnerabilities, returns security scores with SHIP/BLOCK verdicts, and provides specific fix prompts for remediation.3-
Cybrium MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceProvides AI coding assistants with real-time security scanning superpowers, including SAST, secrets detection, dependency CVE scanning, and web vulnerability assessment.10 npmApache 2.0