Skip to content
ToolCargo

The MCP directory / Open to explore

MCP server directory.
Find your next tool.

Search 3,972 indexed servers from the official MCP Registry. Find remote endpoints and local packages, inspect the publisher’s setup details, then connect in your AI client.

Where will your next task take you?

Free discovery · no account · no API key

Let your agent do the finding.

Paste into your AI agent
Read https://toolcargo.com/agents.txt, then find the MCP servers I need and help me connect them. Ask me what I want to do first.

Or add https://toolcargo.com/mcp as a Streamable HTTP MCP server. Discovery is free and needs no account.

Compare task fit, publisher, permissions and a small acceptance test with the MCP server selection guide.

Browse the remote MCP server directory →

Not sure which connection to choose? Read local vs remote MCP servers. Building a discovery workflow? See the MCP server search API reference.

HAPI MCP Server

Close details

HAPI MCP server: Dynamically exposes OpenAPI REST APIs as MCP tools for AI assistants

Publisher name: ai.com.mcp/hapi-mcp · Version: 0.6.0

Publisher connection metadata
{
  "remotes": [],
  "packages": [
    {
      "registryType": "oci",
      "identifier": "docker.io/hapimcp/hapi-cli:0.6.0",
      "runtimeHint": "docker",
      "transport": {
        "type": "streamable-http",
        "url": "https://{HAPI_FQDN}:{HAPI_PORT}/mcp",
        "headers": [
          {
            "description": "Authorization token for accessing the MCP server",
            "format": "string",
            "isSecret": true,
            "name": "Authorization"
          }
        ]
      },
      "runtimeArguments": [
        {
          "description": "Port mapping for the host to container (e.g., '3030:3030'). Adjust second port if changing internal container port (HAPI_PORT)",
          "isRequired": true,
          "format": "string",
          "default": "3030:3030",
          "type": "named",
          "name": "-p",
          "valueHint": "port"
        },
        {
          "description": "Volume mapping for HAPI configuration directory",
          "format": "string",
          "default": "~/.hapi:/app/.hapi",
          "type": "named",
          "name": "-v",
          "valueHint": "volume",
          "isRepeated": true
        }
      ],
      "packageArguments": [
        {
          "description": "Command to start the HAPI MCP server",
          "isRequired": true,
          "format": "string",
          "default": "serve",
          "type": "positional",
          "name": "serve",
          "valueHint": "serve"
        },
        {
          "description": "The name of the project/API to serve (e.g., 'petstore'). Optional when using HAPI_OPENAPI environment variable",
          "format": "string",
          "type": "positional",
          "name": "projectName",
          "valueHint": "petstore"
        },
        {
          "description": "The port to listen on inside the container",
          "format": "number",
          "default": "3030",
          "type": "named",
          "name": "--port",
          "valueHint": "port"
        },
        {
          "description": "Run in headless mode (serve MCP-only, no business logic)",
          "format": "boolean",
          "default": "true",
          "type": "named",
          "name": "--headless"
        },
        {
          "description": "The server provides REST API's business logic AND also exposes them as MCP tools",
          "format": "boolean",
          "default": "true",
          "type": "named",
          "name": "--mcp"
        },
        {
          "description": "Enable development mode with verbose logging",
          "format": "boolean",
          "type": "named",
          "name": "--dev"
        },
        {
          "description": "The full URL for the backend API server (overrides OpenAPI spec servers). Uses OAS server URL if not provided",
          "format": "string",
          "type": "named",
          "name": "--url",
          "valueHint": "url"
        },
        {
          "description": "OpenAPI spec file path or URL to use instead of loading from HAPI_HOME",
          "format": "string",
          "type": "named",
          "name": "--openapi",
          "valueHint": "openapi"
        },
        {
          "description": "Comma-separated list of allowed origins for CORS (e.g., 'http://localhost:3000,https://example.com')",
          "format": "string",
          "type": "named",
          "name": "--cors",
          "valueHint": "origins"
        },
        {
          "description": "Comma-separated list of OAS configuration files to apply (can be URLs)",
          "format": "string",
          "type": "named",
          "name": "--filename",
          "valueHint": "files"
        },
        {
          "description": "Path to SSL certificate file for HTTPS. Volume mount required if using Docker. https://docs.mcp.com.ai/components/hapi-server/hapi-cli#running-with-tls-https",
          "format": "string",
          "type": "named",
          "name": "--cert",
          "valueHint": "path"
        },
        {
          "description": "Path to SSL key file for HTTPS. Volume mount required if using Docker",
          "format": "string",
          "type": "named",
          "name": "--key",
          "valueHint": "path"
        }
      ],
      "environmentVariables": [
        {
          "description": "Fully Qualified Domain Name for the HAPI server (used in MCP tool URLs)",
          "format": "string",
          "default": "localhost",
          "name": "HAPI_FQDN"
        },
        {
          "description": "Directory path for HAPI configuration and specs. Should be mounted as a volume in Docker",
          "format": "string",
          "default": "/app/.hapi",
          "name": "HAPI_HOME"
        },
        {
          "description": "The name of the project/API (alternative to positional argument)",
          "format": "string",
          "name": "PROJECT_NAME"
        },
        {
          "description": "OpenAPI spec URL or path (alternative to --openapi flag)",
          "format": "string",
          "name": "HAPI_OPENAPI"
        },
        {
          "description": "Backend API base URL (alternative to --url flag)",
          "format": "string",
          "name": "HAPI_URL"
        },
        {
          "description": "Server port (alternative to --port flag) - this is the internal container port",
          "format": "number",
          "default": "3030",
          "name": "HAPI_PORT"
        },
        {
          "description": "Enable headless mode (alternative to --headless flag)",
          "format": "boolean",
          "default": "true",
          "name": "HAPI_HEADLESS"
        },
        {
          "description": "Enable MCP mode (alternative to --mcp flag)",
          "format": "boolean",
          "default": "true",
          "name": "HAPI_MCP"
        },
        {
          "description": "Enable development mode (alternative to --dev flag)",
          "format": "boolean",
          "name": "HAPI_DEV"
        },
        {
          "description": "Comma-separated allowed CORS origins (alternative to --cors flag)",
          "format": "string",
          "name": "HAPI_CORS"
        },
        {
          "description": "Comma-separated configuration files (alternative to --filename flag)",
          "format": "string",
          "name": "HAPI_CONFIG_FILES"
        },
        {
          "description": "Node environment (development, production). 'development' enables verbose logging and debugging features.",
          "format": "string",
          "default": "production",
          "name": "NODE_ENV"
        }
      ]
    }
  ]
}

Remote URLs go into your client's MCP settings. Local packages need a compatible runtime. Check required headers, environment variables, permissions and provider costs before setup.

Publisher repository ↗

3,972 results

Index updated 2026-10-02

This is a dated index of publisher-provided listings, not the complete registry or a ToolCargo verification. Third-party servers run with their own providers, credentials and pricing. ToolCargo discovery supplies setup metadata; it does not run their tools. Explore ToolCargo's hosted connectors.