# hatago-mcp-hub [Health: Active]

**Category:** 🔗 Aggregators  
**Repository:** https://github.com/himorishige/hatago-mcp-hub  
**GitHub Stars:** 27  
**npm Downloads (last month):** 265  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/hatago-mcp-hub

## Description
Unified MCP Hub for managing multiple Model Context Protocol servers

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "hatago-mcp-hub": {
    "command": "npx",
    "args": ["-y","@himorishige/hatago-mcp-hub"]
  }
}
```

## Documentation

## What hatago-mcp-hub MCP server does

The hatago-mcp-hub MCP server provides a single MCP entry point for multiple backend servers. It can manage locally launched MCP processes, including npm package servers started with commands such as `npx`, and proxy remote servers available through HTTP or SSE. Client applications connect to the hub instead of configuring every backend separately.

Connected servers can contribute tools, resources, and prompts. The hub also provides the internal `hatago://servers` resource, which returns a JSON snapshot containing connected server identifiers, status, transport type, and discovered capabilities.

This arrangement fits development setups that use different MCP servers for files, repositories, databases, or remote services and want to select them from one configuration.

## How it works

A JSON configuration defines entries under `mcpServers`. Each entry can specify a local command and arguments, or a remote URL with an HTTP or SSE transport type. The hub starts or connects to those entries and relays MCP traffic to the client.

The hatago-mcp-hub MCP server supports STDIO, HTTP, and SSE connectivity. In STDIO mode, a client launches the hub as a subprocess. In HTTP mode, the hub listens for MCP connections; the documented endpoint is `/mcp`, and the default example uses port 3535. Remote HTTP-based MCP servers can be configured as proxied backends.

Server selection can use tags, allowing one configuration to serve different groups such as development, testing, or production. Configuration inheritance through an `extends` field lets separate files share a base definition. Environment values support `${VAR}` and `${VAR:-default}` expansion.

## Setup and configuration

Run `npx @himorishige/hatago-mcp-hub init` to create an initial configuration, or install the package globally with npm and use the `hatago` command. A project dependency can also expose `hatago serve` through an npm script.

For STDIO, start the hub with an explicit file path:

```bash
npx @himorishige/hatago-mcp-hub serve --stdio --config ./hatago.config.json
```

HTTP mode can start without a configuration file:

```bash
npx @himorishige/hatago-mcp-hub serve --http
```

Client configuration examples are provided for Claude Code, Gemini CLI, and Codex CLI. The hub can also be tested with MCP Inspector at `http://localhost:3535/mcp` when running on the documented port.

## Tools and capabilities

The hatago-mcp-hub MCP server includes these supported capabilities:

- Manage local command-based MCP servers.
- Proxy remote MCP servers over HTTP and SSE.
- Forward child-server progress notifications for long-running operations.
- Forward tool-list change notifications through `notifications/tools/list_changed`.
- Filter configured servers by one or more tags.
- Combine base and environment-specific configuration files.
- Validate configuration using type-safe Zod schemas.
- Expose optional in-memory metrics at `/metrics` when `HATAGO_METRICS=1`.
- Emit JSON logs with `HATAGO_LOG=json`, with verbosity controlled by `HATAGO_LOG_LEVEL`.

The package also exposes a thin `IHub` interface for external packages and tests, including lifecycle methods and a `tool:called` event.

## Limitations and notes

Changes to the configuration require restarting the server. Process managers such as PM2 or nodemon can be used externally if automatic restarts are needed. Although the hub forwards tool-list change notifications, that behavior does not remove the documented restart requirement for configuration changes.

STDIO mode requires a configuration path. HTTP mode without a configuration is intended for demonstration or development rather than as a substitute for defining backend servers. Metrics are disabled unless explicitly enabled, and the available metrics are described as lightweight, in-memory metrics.

_Full upstream README: https://allmcps.com/mcp/hatago-mcp-hub/readme_

