HAPI MCP server: Dynamically exposes OpenAPI REST APIs as MCP tools for AI assistants
unavailable — the image reference already carries a tag
Docker
docker run -i --rm docker.io/hapimcp/hapi-cli:0.6.0Streamable HTTP
https://{HAPI_FQDN}:{HAPI_PORT}/mcp
Pick your client — the config below is generated for this server (both local and hosted-endpoint forms). Copy respects the “Pin version” switch above.
claude_desktop_config.json
{
"mcpServers": {
"hapi-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/hapimcp/hapi-cli:0.6.0"
]
}
}
}Remote (hosted) endpoint
https://{HAPI_FQDN}:{HAPI_PORT}/mcpClaude Desktop: Settings → Connectors → Add custom connector, paste this URL.
Format verified against the official Claude Desktop docs ↗.
terminal
claude mcp add hapi-mcp -- docker run -i --rm docker.io/hapimcp/hapi-cli:0.6.0
terminal
claude mcp add --transport http hapi-mcp https://{HAPI_FQDN}:{HAPI_PORT}/mcpFormat verified against the official Claude Code docs ↗.
.cursor/mcp.json
{
"mcpServers": {
"hapi-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/hapimcp/hapi-cli:0.6.0"
]
}
}
}.cursor/mcp.json (hosted endpoint)
{
"mcpServers": {
"hapi-mcp": {
"url": "https://{HAPI_FQDN}:{HAPI_PORT}/mcp"
}
}
}Format verified against the official Cursor docs ↗.
.vscode/mcp.json
{
"servers": {
"hapi-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/hapimcp/hapi-cli:0.6.0"
]
}
}
}.vscode/mcp.json (hosted endpoint)
{
"servers": {
"hapi-mcp": {
"type": "http",
"url": "https://{HAPI_FQDN}:{HAPI_PORT}/mcp"
}
}
}Format verified against the official VS Code docs ↗.
mcp_config.json
{
"mcpServers": {
"hapi-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/hapimcp/hapi-cli:0.6.0"
]
}
}
}mcp_config.json (hosted endpoint)
{
"mcpServers": {
"hapi-mcp": {
"serverUrl": "https://{HAPI_FQDN}:{HAPI_PORT}/mcp"
}
}
}Format verified against the official Windsurf docs ↗.
Defined in the server's official registry manifest. Required secrets are shown as <YOUR_…> placeholders in the configs above.
HAPI_FQDN — Fully Qualified Domain Name for the HAPI server (used in MCP tool URLs)HAPI_HOME — Directory path for HAPI configuration and specs. Should be mounted as a volume in DockerPROJECT_NAME — The name of the project/API (alternative to positional argument)HAPI_OPENAPI — OpenAPI spec URL or path (alternative to --openapi flag)HAPI_URL — Backend API base URL (alternative to --url flag)HAPI_PORT — Server port (alternative to --port flag) - this is the internal container portHAPI_HEADLESS — Enable headless mode (alternative to --headless flag)HAPI_MCP — Enable MCP mode (alternative to --mcp flag)Distributed as Docker, Streamable HTTP, listed under Web APIs. Review our MCP security guide before granting access to real data.
Run the install command shown above, then paste the config for your client (Claude Desktop, Claude Code, Cursor, VS Code or Windsurf) into its MCP settings and restart the client.
The MCP server itself is free to install. The source is public on https://github.com/larebelion/hapimcp. Any third-party service it calls may require its own API key and account.
Any MCP-compatible client can use it, including Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and custom agents.
Publish this server? Link back with a badge on your README or site — copy either snippet.
Markdown
[](https://mcpnav.net/server/hapi-mcp/)
HTML
<a href="https://mcpnav.net/server/hapi-mcp/"><img src="https://mcpnav.net/badge/hapi-mcp.svg" alt="Listed on MCPNav" height="20"></a>