ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Hatago MCP Hub

โดย himorishigeรุ่น 0.0.16i★ –iรันบนเครื่อง
ชื่อใน registryio.github.himorishige/hatago-mcp-hub

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Unified MCP Hub for managing multiple Model Context Protocol servers

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: อื่น ๆ

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

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

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add hatago-hub -- npx -y @himorishige/hatago-mcp-hub

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

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

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "hatago-hub": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@himorishige/hatago-mcp-hub"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub himorishige ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 18881 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 0% ของอีก 18881 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 18881 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Hatago MCP Hub ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.0.16) เข้า registry 14 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, MCP Tennis Match Data

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

โดย formulahendryเริ่มต้น↓ 66/สัปดาห์★ 440อัปเดต 14 เดือนที่ผ่านมา

รันบนเครื่อง

Remote Desktop Commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

โดย desktop-commanderกำลังโต★ 211อัปเดต 4 วันที่ผ่านมา

รันบนคลาวด์✓ desktopcommander.app

MCP Tennis Match Data

ATP and WTA match results, schedules, and rankings by date

โดย mambalabsdevอัปเดต วันนี้

รันบนเครื่อง✓ mambabuilt.com

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

English | 日本語

🏮 Hatago MCP Hub

Hatago (旅籠) — A relay point connecting modern AI tools with MCP servers.

Overview

Hatago MCP Hub is a lightweight hub that unifies access to multiple MCP (Model Context Protocol) servers from tools like Claude Code, Codex CLI, Cursor, Windsurf, and VS Code.

Documentation

  • Docs index: docs/README.md
  • Canonical CLI & Hub guide: packages/mcp-hub/README.md
  • Public docs site (JA default): https://hatago.dev/ja/ — English: https://hatago.dev/en/

Dev.to: Getting Started with Multi-MCP Using Hatago MCP Hub — One Config to Connect Them All

✨ Features

🚀 Performance (v0.0.14)
  • 8.44x Faster Startup - 85.66ms → 10.14ms
  • 17% Smaller Package - 1.04MB → 854KB
  • Simplified Architecture - Direct server management without abstraction layers
🎯 Simple & Lightweight
  • Zero Configuration Start (HTTP mode) - npx @himorishige/hatago-mcp-hub serve --http
  • Non-invasive to Existing Projects - Doesn't pollute your project directory
🔌 Rich Connectivity
  • Multi-Transport Support - STDIO / HTTP / SSE
  • Remote MCP Proxy - Transparent connection to HTTP-based MCP servers
  • NPX Server Integration - Dynamic management of npm package MCP servers
🏮 Additional Features
Configuration Updates
  • Manual Restart Required - Configuration changes require server restart
  • Alternative Solutions:
  • Use process managers (PM2, nodemon) for auto-restart
  • Example: nodemon --exec "hatago serve --http" --watch hatago.config.json
  • Or with PM2: pm2 start "hatago serve" --watch hatago.config.json
  • Dynamic Tool List Updates - Supports notifications/tools/list_changed notification
Progress Notification Forwarding
  • Child Server Notification Forwarding - Transparent forwarding of notifications/progress
  • Long-running Operation Support - Real-time progress updates
  • Local/Remote Support - Works with many MCP server types
Built-in Internal Resource
  • hatago://servers - JSON snapshot of currently connected servers (id, status, type, tools, resources, prompts)
Enhanced Features
  • Environment Variable Expansion - Claude Code compatible ${VAR} and ${VAR:-default} syntax
  • Configuration Validation - Type-safe configuration with Zod schemas
  • Tag-based Server Filtering - Group and filter servers using tags
  • Configuration Inheritance - Extend base configurations with extends field for DRY principle
Minimal Hub Interface (IHub)

External packages (server/test-utils) use a thin IHub interface to avoid tight coupling with the concrete class.

import type { IHub } from '@himorishige/hatago-hub';

import { createHub } from '@himorishige/hatago-hub/node';

const hub: IHub = createHub({ preloadedConfig: { data: { version: 1, mcpServers: {} } } }) as IHub; await hub.start(); hub.on('tool:called', (evt) => { /* metrics, logs */ }); await hub.stop();

Extracted modules for thin hub:

  • RPC handlers: packages/hub/src/rpc/handlers.ts
  • HTTP handler: packages/hub/src/http/handler.ts

📁 Project Structure

packages/

├── mcp-hub/ # Main npm package (@himorishige/hatago-mcp-hub) ├── server/ # Server implementation (@himorishige/hatago-server) ├── hub/ # Hub core (@himorishige/hatago-hub) ├── core/ # Shared types (@himorishige/hatago-core) ├── runtime/ # Runtime components (@himorishige/hatago-runtime) ├── transport/ # Transport layer (@himorishige/hatago-transport) ├── cli/ # CLI tools (@himorishige/hatago-cli) ├── hub-management/ # Management components (@himorishige/hatago-hub-management) └── test-fixtures/ # Test utilities

📦 Installation

Quick Start (No Installation)
# Initialize configuration

npx @himorishige/hatago-mcp-hub init

Start in STDIO mode (for Claude Code)

NOTE: STDIO requires a config file path

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

Or start in HTTP mode without a config (demo/dev)

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

Global Installation
# Install globally

npm install -g @himorishige/hatago-mcp-hub

Use with hatago command

hatago init hatago serve

As Project Dependency
# Install as dependency

npm install @himorishige/hatago-mcp-hub

Add to package.json scripts

{ "scripts": { "mcp": "hatago serve" } }

🚀 Usage

Claude Code, Codex CLI, Gemini CLI
STDIO Mode (Recommended)
Claude Code / Gemini CLI

Add to .mcp.json:

{

"mcpServers": { "hatago": { "command": "npx", "args": [ "@himorishige/hatago-mcp-hub", "serve", "--stdio", "--config", "./hatago.config.json" ] } } }

Codex CLI

Add to ~/.codex/config.toml:

[mcp_servers.hatago]

command = "npx" args = ["-y", "@himorishige/hatago-mcp-hub", "serve", "--stdio", "--config", "./hatago.config.json"]

HTTP Mode
Claude Code / Gemini CLI

Add to .mcp.json:

{

"mcpServers": { "hatago": { "url": "http://localhost:3535/mcp" } } }

Codex CLI

Add to ~/.codex/config.toml:

[mcp_servers.hatago]

command = "npx" args = ["-y", "mcp-remote", "http://localhost:3535/mcp"]

MCP Inspector

For testing and debugging:

# Start in HTTP mode

hatago serve --http --port 3535

Connect with MCP Inspector

Endpoint: http://localhost:3535/mcp

Visit MCP Inspector

Metrics (opt-in)

Enable lightweight in-memory metrics and expose an HTTP endpoint:

HATAGO_METRICS=1 hatago serve --http --port 3535

Then visit: http://localhost:3535/metrics

Notes:

  • Metrics are disabled by default and add near-zero overhead when off.
  • JSON logs are available when HATAGO_LOG=json (respecting HATAGO_LOG_LEVEL).

⚙️ Configuration

Basic Configuration

Create hatago.config.json:

{

"$schema": "https://raw.githubusercontent.com/himorishige/hatago-mcp-hub/main/schemas/config.schema.json", "version": 1, "logLevel": "info", "mcpServers": { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"] }, "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" } } } }

Remote Server Configuration
{

"mcpServers": { "deepwiki": { "url": "https://mcp.deepwiki.com/sse", "type": "sse" }, "custom-api": { "url": "https://api.example.com/mcp", "type": "http", "headers": { "Authorization": "Bearer ${API_KEY}" } } } }

Configuration Strategies
Strategy 1: Tag-based Filtering

Group servers with tags in a single configuration file:

{

"mcpServers": { "filesystem-dev": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "."], "tags": ["dev", "local"] }, "github-prod": { "url": "https://api.github.com/mcp", "type": "http", "tags": ["production", "github"] }, "database": { "command": "mcp-server-postgres", "tags": ["dev", "production", "database"] } } }

Start with specific tags:

# Only start servers tagged as "dev"

hatago serve --tags dev

Start servers with either "dev" or "test" tags

hatago serve --tags dev,test

Japanese tags are supported

hatago serve --tags 開発,テスト

Strategy 2: Configuration Inheritance

Split configurations by environment using the extends field:

Base configuration (~/.hatago/base.config.json):

{

"version": 1, "logLevel": "info", "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" } }, "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "."] } } }

Work configuration (./work.config.json):

{

"extends": "~/.hatago/base.config.json", "logLevel": "debug", "mcpServers": { "github": { "env": { "GITHUB_TOKEN": "${WORK_GITHUB_TOKEN}", "DEBUG": null } }, "internal-tools": { "url": "https://internal.company.com/mcp", "type": "http", "headers": { "Authorization": "Bearer ${INTERNAL_TOKEN}" } } } }

Features:

  • Inheritance: Child configs override parent values
  • Multiple parents: "extends": ["./base1.json", "./base2.json"]
  • Path resolution: Supports ~, relative, and absolute paths
  • Environment deletion: Use null to remove inherited env vars
Choosing a Strategy
StrategyTag-basedInheritance-based
FilesSingle configMultiple configs
Switch--tags option--config option
ManagementCentralizedDistributed
Best forTeam sharing, Simple setupsComplex environments, Personal customization
Environment Variable Expansion

Supports Claude Code compatible syntax:

  • ${VAR} - Expands to the value of VAR (error if undefined)
  • ${VAR:-default} - Uses default value if VAR is undefined

📋 Commands

hatago init

Create configuration file with interactive setup:

hatago init                    # Interactive mode

hatago init --mode stdio # STDIO mode config hatago init --mode http # HTTP mode config hatago init --force # Overwrite existing

hatago serve

Start MCP Hub server:

hatago serve --stdio --config ./hatago.config.json  # STDIO mode (default, requires config)

hatago serve --http # HTTP mode (config optional) hatago serve --config custom.json # Custom config hatago serve --verbose # Debug logging hatago serve --tags dev,test # Filter servers by tags hatago serve --env-file ./.env # Load variables from .env before start (repeatable) hatago serve --env-override # Override existing env vars when using --env-file

Loading Environment Variables from Files

Use --env-file to load variables before config parsing. This helps resolve ${VAR} and ${VAR:-default} placeholders without exporting variables globally.

  • Format: KEY=VALUE, export KEY=VALUE, # comments, blank lines.
  • Quotes are stripped; supports escaped \n, \r, \t.
  • Paths: relative to CWD, ~/ expanded to home.
  • Precedence: files are applied in the given order; existing process.env keys are preserved unless --env-override is provided.

✨ Performance Improvements (v0.0.14)

  • 8.44x faster startup: 85.66ms → 10.14ms
  • 17% smaller package: 1.04MB → 854KB (181KB reduction)
  • Simplified architecture: Removed EnhancedHub and management layers
  • Trade-off: Built-in config watching removed (use nodemon/PM2 instead)

🔧 Advanced Usage

Programmatic API
import { startServer } fr

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx