← Back to Plugins
MCP Server MCP

mcp-hub

github By github 👁 1 views ▲ 0 votes

Serve many stdio MCP servers from one container, for ChatGPT, Claude and other MCP clients

Homepage Verified source GitHub

Install

npx -y @ni-c/[email protected]

Configuration Example

{
  "remotes": [],
  "packages": [
    {
      "registryType": "npm",
      "identifier": "@ni-c/mcp-hub",
      "version": "0.9.2",
      "runtimeHint": "npx",
      "transport": {
        "type": "stdio"
      },
      "packageArguments": [
        {
          "value": "--stdio",
          "type": "positional"
        }
      ],
      "environmentVariables": [
        {
          "description": "Path to the mcp.json listing the servers to expose, in Claude Code's mcpServers format (default mcp.json in the working directory)",
          "format": "string",
          "name": "CONFIG_PATH"
        },
        {
          "description": "Minutes of inactivity before a server is put to sleep; 0 starts every server at launch and keeps it running (default 60)",
          "format": "number",
          "default": "60",
          "name": "IDLE_TIMEOUT_MINUTES"
        },
        {
          "description": "Tool snapshots of sleeping servers (default .mcp-hub/tool-cache.json beside the config)",
          "format": "string",
          "name": "TOOL_CACHE_PATH"
        },
        {
          "description": "Mirror the hub's log lines into this file; stdout carries the protocol, so logging goes to stderr otherwise",
          "format": "string",
          "name": "LOG_FILE"
        }
      ]
    },
    {
      "registryType": "oci",
      "identifier": "ghcr.io/ni-c/mcp-hub:0.9.2",
      "transport": {
        "type": "streamable-http",
        "url": "http://localhost:{PORT}/hub"
      },
      "environmentVariables": [
        {
          "description": "Public base URL exactly as clients see it, e.g. https://mcp.example.net (no path)",
          "isRequired": true,
          "format": "string",
          "name": "EXTERNAL_URL"
        },
        {
          "description": "bcrypt hash of the OAuth login password (htpasswd -bnBC 10 \"\" 'pw' | tr -d ':\\n')",
          "isRequired": true,
          "format": "string",
          "isSecret": true,
          "name": "PASSWORD_HASH"
        },
        {
          "description": "Comma-separated IPs/CIDRs of the reverse proxy allowed to set X-Forwarded-* headers",
          "format": "string",
          "name": "TRUSTED_PROXIES"
        },
        {
          "description": "Listen port inside the container",
          "format": "number",
          "default": "80",
          "name": "PORT"
        }
      ]
    }
  ]
}
mcp model-context-protocol npm oci

Comments

Sign in to leave a comment

Loading comments...