@mhdd_24/api-security-mcp
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., "@@mhdd_24/api-security-mcpScan this OpenAPI spec for security gaps and generate a test checklist"
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.
@mhdd_24/api-security-mcp
Identify API security weaknesses.
Same architecture as @mhdd_24/sublime-mcp.
Full documentation: docs/WIKI.md
How it works (30 seconds)
You (chat) → MCP client → api-security-mcp → API Security APIs / CLIs / local toolsRelated MCP server: middleBrick
Prerequisites
Requirement | Notes |
Node.js 18+ | ESM TypeScript MCP server |
Credentials / CLIs | See environment variables below |
Install
Option A — npm (after publish)
npm install -g @mhdd_24/api-security-mcpOption B — npx
npx @mhdd_24/api-security-mcpOption C — clone and build
git clone https://github.com/Mhdd-24/API-Security-MCP.git
cd API-Security-MCP
npm install
npm run build
node dist/index.jsConfigure Cursor
Edit ~/.cursor/mcp.json:
{
"mcpServers": {
"apisec": {
"command": "npx",
"args": ["-y", "@mhdd_24/api-security-mcp"],
"env": {
"PROJECT_ROOT": "..."
}
}
}
}Local development:
{
"command": "node",
"args": ["/absolute/path/to/API-Security-MCP/dist/index.js"]
}Environment variables
Variable | Description |
| Default project/repository root |
Tools
Tool | Description |
| Health check for API Security MCP. |
| Scan OpenAPI for security gaps (auth missing, etc). |
| Return a security test checklist for an API. |
License
ISC
Available Tools
3 toolsapisec_checksB
Return a security test checklist for an API.
| Name | Required | Description | Default |
|---|---|---|---|
| baseUrl | Yes | API base URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral disclosure burden. It only says 'Return a security test checklist' without mentioning side effects, authentication requirements, network calls, or whether the result is static or dynamically generated. This leaves significant behavioral uncertainty for a tool with zero annotation coverage.
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 sentence with zero filler. It is front-loaded with the action ('Return') and resource ('security test checklist'). Every word earns its place.
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?
The tool is simple with one parameter and no output schema or annotations. The description conveys the core purpose but does not clarify what the checklist contains or its return structure. Given the absence of an output schema, some expectation-setting would help, but the minimal complexity keeps this at a borderline adequate level.
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 input schema already provides 100% coverage for the single parameter (baseUrl: 'API base URL'). The description adds no additional parameter-specific meaning beyond the schema. The baseline of 3 applies because the schema does the heavy lifting.
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 function with a specific verb ('Return') and resource ('a security test checklist for an API'). It is distinct enough from sibling names like apisec_status and apisec_scan_spec, though it does not explicitly differentiate them. The purpose is identifiable without opening the schema.
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 use this tool versus its siblings (apisec_status, apisec_scan_spec). No context, prerequisites, or recommended use cases are provided. The agent is left to infer usage solely from the tool name and generic description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apisec_scan_specC
Scan OpenAPI for security gaps (auth missing, etc).
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | OpenAPI JSON |
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 only mentions 'scan' which implies read-only, but does not disclose whether any state is changed, what the output format is, or if there are rate limits or side effects. For a tool with no annotations, this is a significant 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?
The description is a single, front-loaded sentence with no fluff. It efficiently communicates the core purpose and an example of what it detects.
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?
The tool has no output schema and no annotations, yet the description does not explain what the scan produces, how results are returned, or any constraints. It is too minimal for an agent to fully understand the tool's behavior or expected output.
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 the schema already fully documents the 'spec' parameter. The description adds no additional meaning beyond the schema, so the baseline of 3 is appropriate.
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 scans an OpenAPI specification for security gaps, with 'auth missing' as an example. This gives a specific verb (scan) and resource (OpenAPI), and the purpose is distinct from siblings like apisec_status or apisec_checks, though it does not explicitly contrast with them.
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 use this tool versus the sibling tools. It is implied that you use it when you have an OpenAPI spec to scan, but no exclusions or alternative conditions are mentioned, leaving the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apisec_statusB
Health check for API Security MCP.
| 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. 'Health check' implies a read-only status operation, but the description does not disclose what is checked, whether it verifies connectivity or authentication, or what a successful or failing response looks like.
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 one short, front-loaded sentence with no filler or redundant information. Every word earns its place.
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 zero-parameter health check, the description gives the essential purpose but omits output/return value details and error behavior. Since there is no output schema and no annotations, this leaves some uncertainty, though the low complexity keeps the gap moderate.
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 zero parameters and the schema confirms this with no properties. There is no parameter ambiguity for an agent to resolve, so the empty schema and description are sufficient.
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 states the tool is a health check for API Security MCP, which clearly identifies the operation and target resource. It is distinct from the sibling scan and check tools, though it does not explicitly name them or use a verb like 'returns'.
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 guidance is given about when to call this tool versus apisec_scan_spec or apisec_checks. The intended use as a preflight status check is implied but never stated, so an agent must infer whether this should be called before other operations.
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.
3 tool updates
v1.0.0- First observed
apisec_checks - First observed
apisec_scan_spec - First observed
apisec_status
TDQS
Scored across 3 tools
The three tools are distinct: status is a health check, scan_spec performs a security scan, and checks returns a checklist. There is minor potential confusion between scan_spec and checks since both relate to security analysis, but their purposes are clearly differentiated.
All tool names use a consistent 'apisec_' prefix followed by a noun or verb_noun pattern (status, scan_spec, checks). The pattern is predictable, though 'apisec_checks' is a noun while 'apisec_scan_spec' is verb_noun, creating a slight inconsistency.
Three tools is on the low end but reasonable for a focused API security MCP server. The scope is narrow, so the count is acceptable, though it feels slightly thin for a security tool that might need more operations.
The server covers health check, scanning, and checklist generation, but lacks obvious operations like retrieving scan results, managing scans, or applying fixes. The surface is functional but has notable gaps for a complete security workflow.
Maintenance
Related MCP Connectors
Detect breaking changes, generate changelogs, diff, and validate OpenAPI specs.
Detects database migration table locks, terraform cost leaks, and OWASP API flaws.
Compliance & security scan for your app: secrets, exposed files, headers, privacy, AI-disclosure.
Security, SEO and AI-visibility scanner for web apps · free scans and focused checks via MCP.
Related MCP Servers
- AlicenseAqualityBmaintenanceDiscovers, inspects, and executes requests against OpenAPI or Swagger APIs directly from documentation URLs or specification files. It enables users to trace parameter usage across an API and perform authenticated HTTP requests through a structured toolset.86 npm5MIT
- AlicenseNot gradedqualityDmaintenanceScan APIs for security vulnerabilities and get OWASP risk scores. Detects auth bypass, BOLA/IDOR, data exposure, prompt injection, and 12+ security categories.28 npmApache 2.0
- FlicenseAqualityDmaintenanceEnables reading and parsing Swagger/OpenAPI specifications to list API endpoints, get detailed endpoint info, search APIs, and generate TypeScript types for request/response.9-
- FlicenseNot gradedqualityCmaintenanceEnables MCP-compatible clients to discover API endpoints from OpenAPI/Swagger specs, send HTTP requests, validate responses, and analyze status codes for automated API testing.1-