Enterprise DNA Enterprise DNA
M MCP Servers Developer low

ni-c/mcp-hub

by Various

Serve multiple stdio MCP servers from one container: path routing, hub meta-tools, OAuth 2.1 + API tokens for ChatGPT, Claude, Cursor and other MCP clients

MCP

ni-c/mcp-hub

Added 16 Sept 2026

#ai #chatgpt #claude #claude-code #docker #mcp #mcp-gateway #mcp-server

Overview

Serves multiple stdio MCP servers from a single container. Provides path routing, hub meta-tools, and authentication via OAuth 2.1 or API tokens for clients like ChatGPT, Claude, and Cursor.

Best for

Best for
Developers who want to expose multiple MCP servers through a single authenticated endpoint.

Use cases

  • Run multiple MCP servers behind one endpoint
  • Route client requests by path to specific MCP servers
  • Secure access with OAuth 2.1 or API tokens for AI clients

How to use

Install

npx @ni-c/mcp-hub

Tools exposed

  • EXTERNAL_URL
  • PASSWORD_HASH
  • TRUSTED_PROXIES
  • RESOURCE_BOUND_TOKENS
  • DEFAULT_RESOURCE
  • MCP_BODY_LIMIT
  • MCP_REQUESTS_PER_MINUTE
  • MCP_MAX_CONCURRENT_REQUESTS
  • MCP_MAX_CONCURRENT_STREAMS
  • HTTP_HEADERS_TIMEOUT_MS
  • HTTP_REQUEST_TIMEOUT_MS
  • CONFIG_PATH
  • DATA_PATH
  • LOG_FILE
  • CLIENT_REGISTRATION
  • CIMD_ALLOWED_ORIGINS
  • CIMD_ALLOW_PRIVATE_ADDRESSES
  • DCR_MAX_CLIENTS
  • DCR_PENDING_TTL_HOURS
  • DCR_INACTIVE_DAYS

Tested with

Claude Desktop, Claude Code, Cursor, ChatGPT

Example client config

{\n  "mcpServers": {\n    "paperless": {\n      "command": "paperless-mcp",\n      "args": [],\n      "env": { "PAPERLESS_API_TOKEN": "${PAPERLESS_API_TOKEN}" }\n    },\n    "homeassistant": {\n      "type": "http",\n      "url": "http://homeassistant:8123/api/mcp",\n      "headers": { "Authorization": "Bearer ${HA_TOKEN}" }\n    },\n    "private-thing": { "command": "some-mcp", "args": [], "hub": false },\n    "paperless-readonly": {\n      "command": "paperless-mcp",\n      "allowTools": ["search_*", "get_document"],\n      "denyTools": ["delete_document"]\n    },\n    "untrusted": {\n      "type": "docker",\n      "image": "ghcr.io/example/untrusted-mcp@sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",\n      "network": "none",\n      "memory": "256m"\n    }\n  }\n}

Notes

Serves multiple stdio MCP servers from a single container. Provides path routing, hub meta-tools, and authentication via OAuth 2.1 or API tokens for clients like ChatGPT, Claude, and Cursor.

2 stars on GitHub. Last updated 2026-09-16. Licensed MIT.

Use cases

  • Run multiple MCP servers behind one endpoint
  • Route client requests by path to specific MCP servers
  • Secure access with OAuth 2.1 or API tokens for AI clients

Pros

  • Consolidates multiple stdio servers into one container
  • Supports standard MCP clients with flexible auth
  • Written in TypeScript for type safety

Cons

  • Low project activity (2 stars) suggests early stage
  • Limited ecosystem adoption
  • Requires self-hosting and configuration

Indexed from awesome-mcp-servers-punkpeye and enriched against its public facts.

Pros

  • Consolidates multiple stdio servers into one container
  • Supports standard MCP clients with flexible auth
  • Written in TypeScript for type safety

Cons

  • Low project activity (2 stars) suggests early stage
  • Limited ecosystem adoption
  • Requires self-hosting and configuration
Free 27-page guide

Get the free Developer’s Field Guide

A 27-page field guide to the AI coding workflow with Claude. Claude Code, MCP servers, the prompt patterns that work, and what to delegate. Free.

Enter your work email. We send it straight over, plus a few short notes worth knowing. Unsubscribe any time.

No spam. Unsubscribe any time.

Running a business, not writing the code? See the MCP servers picked for operators, and get your first one wired up with us.

Operator picks