VA-MCP
VA-MCP is a Vulnerability Analyzer MCP server that performs OWASP Top 10 security checks on API endpoints and returns detailed reports.
Available Tools:
ping— Verify the MCP server connection and statuslist_supported_checks— Retrieve all supported vulnerability check items (e.g., SQL Injection, IDOR, JWT validation)analyze_endpoint— Full analysis pipeline: profile parsing → feature extraction → scenario planning → automated OWASP check execution → result summarizationIndividual security checks (callable directly or via planner):
sql_injection,idor_bola,jwt_validation, and others
Report Generation:
Produces human-readable Markdown and structured JSON reports saved to the
reports/directoryReturns summarized results directly in the MCP response
Optionally dumps step-by-step JSON artifacts to
outputs/runs/for debugging (viaDUMP_ARTIFACTS=true)
In short, you provide an API endpoint profile (method, path, base URL, auth, request/response examples) and the server automatically plans and executes OWASP Top 10 vulnerability checks, then delivers a detailed report.
Provides vulnerability scanning capabilities for OWASP Top 10 security risks during development testing, analyzing APIs for security vulnerabilities and generating analysis reports.
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., "@VA-MCPcheck my login API for OWASP vulnerabilities"
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.
VA-MCP
This is an MCP designed to check for OWASP Top 10 vulnerabilities during functional unit testing in the development phase. This MCP receives API information, analyzes it, and returns the analysis output.
Scope (MVP)
MCP stdio server execution
Basic tools provided:
pinglist_supported_checks
Future expansion of OWASP Top 10 scenarios
Related MCP server: MCP-QA
Prerequisites
Team members must have the following installed before starting development:
Git
uv(Recommended) Python 3.11+
Verify installation:
git --version
uv --version
python3 --versionQuick Start
# 1) 저장소 클론
git clone <repo-url>
cd VA-MCP
# 2) 의존성/가상환경 동기화
uv sync
# 3) 테스트 확인
uv run pytest -q
# 4) MCP 서버 실행
uv run va-mcpSince va-mcp operates via stdio transport, it is used by connecting to the server from an MCP client (IDE/Agent).
Development Rules
Refer to dev-guide.md for team development rules (branch strategy, testing, PR, commit rules).
Test Guide
After developing a feature, test it in the following order:
# 1) 의존성 동기화
uv sync
# 2) 테스트 실행
uv run pytest -qWrite test code in the root
tests/folder.When adding a new feature, you must also add the corresponding tests.
Minimum criteria:
At least 1 functional unit test
tests/test_smoke.pymust continue to pass
Directory Roles
src/va_mcp/: Application source code rootsrc/va_mcp/server.py: MCP server entry point (file started when runningva-mcp)src/va_mcp/app.py:FastMCPapp creation and initializationsrc/va_mcp/config.py: Environment variable loading, output directory configurationsrc/va_mcp/registry/: Place to register which features (tools) and data (resources) to expose to MCPsrc/va_mcp/tools/: Functional functions actually executed by MCP (e.g.,ping, execution of checks)src/va_mcp/resources/: Collection of common reference data used by features (e.g., list of supported checks)tests/: Test code (must be executed after development is complete)outputs/: Storage for execution result outputs
Notes
Currently designed based on local integration (stdio).
We plan to switch to HTTP mode during the future AWS deployment phase.
Available Tools
2 toolslist_supported_checksB
현재 지원 예정인 점검 항목 목록을 반환한다.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. It states the tool returns a list, implying a read-only operation, but doesn't specify details like response format, potential errors, rate limits, or authentication requirements. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior beyond the basic action.
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 a single, efficient sentence that directly states the tool's function without any unnecessary words or fluff. It is front-loaded with the core action and resource, making it easy to parse and understand quickly.
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?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is adequate for conveying the basic purpose. However, it lacks details on output format or behavioral traits, which could be helpful for an agent to understand what to expect from the response. It meets the minimum viable level but doesn't provide comprehensive context.
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?
The tool has 0 parameters, and the schema description coverage is 100% (as there are no parameters to describe). The description doesn't need to add parameter semantics, so it meets the baseline for this scenario. No additional value is required or provided, which is appropriate given the lack of 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: '현재 지원 예정인 점검 항목 목록을 반환한다' translates to 'Returns a list of inspection items currently scheduled for support.' This specifies the verb ('returns') and resource ('list of inspection items scheduled for support'), making the purpose clear. However, it doesn't explicitly differentiate from the sibling tool 'ping', which likely serves a different function (e.g., connectivity testing), so it doesn't reach the highest score.
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 no guidance on when to use this tool versus alternatives. It doesn't mention the sibling tool 'ping' or any other context for usage, such as prerequisites or scenarios where this tool is appropriate. Without such information, the agent lacks explicit direction on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pingB
MCP 서버 상태를 확인한다.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. The description only states what the tool does ('checks server status') but provides no information about what the check entails, what 'status' means, whether this is a read-only operation, what permissions might be required, or what happens when invoked. For a tool with zero annotation coverage, this is insufficient behavioral 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 extremely concise - a single sentence that directly states the tool's purpose. There's zero wasted language or unnecessary elaboration. It's appropriately sized for a simple tool with no parameters.
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?
Given that the tool has no parameters, 100% schema coverage, and an output schema exists, the description is minimally adequate. However, for a status-checking tool with no annotations, the description should ideally provide more context about what 'server status' means and what the output represents. The existence of an output schema helps, but the description itself lacks completeness for understanding the tool's behavior and results.
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?
The tool has 0 parameters, and schema description coverage is 100%. With no parameters to document, the baseline for this dimension is 4. The description doesn't need to compensate for any parameter documentation gaps since there are none.
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: 'MCP 서버 상태를 확인한다' (Checks MCP server status). It uses a specific verb ('확인한다' - checks/verifies) and resource ('MCP 서버 상태' - MCP server status). However, it doesn't explicitly differentiate from its sibling tool 'list_supported_checks', which might have overlapping or related functionality.
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 no guidance on when to use this tool versus alternatives. There's no mention of when this tool should be used, when it shouldn't, or how it differs from the sibling tool 'list_supported_checks'. The agent receives no contextual usage information beyond the basic purpose statement.
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. Dates show when Glama detected each change.
2 tool updates
v0.1.0- First observed
list_supported_checks - First observed
ping
TDQS
The two tools have completely distinct purposes: one lists supported checks (a domain-specific operation) and the other checks server status (a general utility). There is no overlap or ambiguity between them.
Both tools follow a consistent snake_case naming pattern with clear verb_noun structure: 'list_supported_checks' and 'ping'. The naming is predictable and readable throughout.
With only two tools, the server feels severely under-scoped for a domain like 'VA-MCP' (which suggests vulnerability assessment or similar). A single domain-specific tool plus a ping utility is too thin for meaningful agent workflows.
The server appears to target vulnerability/security checks, but only lists supported checks without tools to run checks, get results, or manage them. This leaves significant gaps that will hinder agent operations in this domain.
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
Security, SEO and AI-visibility scanner for web apps · free scans and focused checks via MCP.
Zero-config MCP security scanner for AI-generated apps. 25K+ vulnerability patterns.
MCP server for AI access to Swagger by SmartBear.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Related MCP Servers
- AlicenseCqualityDmaintenanceA Model Context Protocol server designed for testing backend APIs for security vulnerabilities like authentication bypass, injection attacks, and data leakage.1416MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server for the comprehensive analysis of Swagger 2.0 and OpenAPI 3.x contracts. It allows users to extract detailed information about endpoints, request/response schemas, parameters, and security configurations from API documentation.-
- AlicenseBqualityDmaintenanceAn MCP server that integrates SAST, DAST, and SCA security tools to enable AI-driven vulnerability scanning and automated security reporting. It allows AI assistants to execute and analyze results from tools like Semgrep, OWASP ZAP, and Trivy within a DevSecOps workflow.6MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server for AI-powered API testing that enables automated positive, negative, and security testing directly from AI chat interfaces. It supports multiple AI providers and generates detailed security reports.13-
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/KTTechUp-Team304/VA_MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server