swagger-to-mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited swagger-to-mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Convert OpenAPI v3 specifications into fully functional MCP (Model Context Protocol) servers using HAPI CLI — no code required.
hapi --versionIf not installed, install using:
curl -fsSL https://get.mcp.com.ai/hapi.sh | bashirm https://get.mcp.com.ai/hapi.ps1 | iexhapimcp/hapi-cli:latest image directly hapi serve <project-name> \
--openapi <path-or-url-to-openapi-spec> \
--url <backend-api-url> \
--headless \
--port 3030 curl -s http://localhost:3030/health
# Expected: 200 OK
curl -s http://localhost:3030/mcp/ping
# Expected: pong/mcp using Streamable HTTP:POST /mcp — JSON-RPC messagesGET /mcp — Server info (returns 204)Choose deployment target based on requirements:
#### Option A: Cloudflare Workers (Recommended for simplicity)
hapi login hapi deploy \
--openapi <path-or-url-to-openapi-spec> \
--url <backend-api-url> \
--name <worker-name> \
--project <project-name> curl -s https://<worker-name>.<account>.workers.dev/health#### Option B: Docker (Self-hosted)
docker run --name hapi-<project> -d --rm \
-p 3030:3030 \
hapimcp/hapi-cli:latest serve <project-name> \
--openapi <openapi-url> \
--url <backend-api-url> \
--port 3030 \
--headlessBefore considering deployment complete:
/health returns 200 OK/mcp/ping returns pongUse --headless flag when the MCP server proxies requests to an existing backend API. Without this flag, HAPI serves the OpenAPI spec documentation UI.
HAPI uses Streamable HTTP (not stdio). MCP clients connect via HTTP POST to /mcp endpoint. SSE is supported for streaming responses.
HAPI accepts specs from:
--openapi ./specs/api.yaml--openapi https://api.example.com/openapi.json~/.hapi/specs/<project>/For detailed documentation, consult:
hapi serve petstore \
--openapi https://petstore3.swagger.io/api/v3/openapi.json \
--url https://petstore3.swagger.io/api/v3 \
--headless --port 3030hapi serve my-api \
--openapi https://my-api.example.com/openapi.json \
--url https://my-api.example.com \
--headless --port 3030hapi deploy \
--openapi https://my-api.example.com/openapi.json \
--url https://my-api.example.com \
--name my-api-mcp~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.