Token导航 LogoToken导航TokenDH.com
Hatago MCP Hub logo
AI代理stdio官方级别未说明来源级核验

Hatago MCP Hub

MCP Server

@himorishige/hatago-mcp-hub

Hatago MCP Hub是一个轻量级的中心,用于统一访问多个MCP(模型上下文协议)服务器,支持多种传输方式和工具集成。

工具数

0

提示词数

0

GitHub Stars

28

资源数

0
TypeScriptClaudeAI代理ClaudeCursorWindsurfVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

himorishige

提供方

himorishige

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @himorishige/hatago-mcp-hub init

详细介绍

英语 | 日语

🏮 Hatago MCP 集线中心

](https://www.npmjs.com/package/@himorishige/hatago-mcp-hub) ](https://github.com/himorishige/hatago-mcp-hub/releases) ![Ask DeepWiki](https://deepwiki.com/himorishige/hatago-mcp-hub)

Hatago(旅籠)——连接现代AI工具与MCP服务器的中继点。

概述

Hatago MCP Hub 是一个轻量级的中心,它统一了来自 Claude Code、Codex CLI、Cursor、Windsurf 和 VS Code 等工具对多个 MCP(模型上下文协议)服务器的访问。

文档

  • 文档索引: docs/README.md
  • Canonical CLI & Hub 指南: packages/mcp-hub/README.md
  • 公共文档网站(日文默认):https://hatago.dev/ja/ — 英文:https://hatago.dev/en/

Dev.to:使用 Hatago MCP Hub 开始多 MCP(Mod 加载器)之旅——一个配置连接全部

✨ 特点/功能

🚀 性能(v0.0.14)

  • 启动速度提升8.44倍 - 85.66毫秒 → 10.14毫秒
  • 17% 更小的包装 - 1.04MB → 854KB
  • 简化架构 - 直接服务器管理,无需抽象层

🎯 简单且轻量

  • 零配置启动(HTTP模式) - npx @himorishige/hatago-mcp-hub serve --http
  • 对现有项目无侵入性 - 不会污染你的项目目录

🔌 丰富的连接性

  • 多交通方式支持 - 标准输入输出(STDIO)/ 超文本传输协议(HTTP)/ 服务器发送事件(SSE)
  • 远程MCP代理 - 与基于HTTP的MCP服务器进行透明连接
  • NPX服务器集成 - npm包MCP服务器的动态管理

🏮 额外功能

配置更新

  • 需要手动重启 - 配置更改需要重启服务器
  • 替代方案

- 使用进程管理器(PM2、nodemon)进行自动重启 - 示例: nodemon --exec "hatago serve --http" --watch hatago.config.json - 或者使用PM2: pm2 start "hatago serve" --watch hatago.config.json

  • 动态工具列表更新 - 支持 notifications/tools/list_changed 通知

进度通知转发

  • 子服务器通知转发 - 透明转发 notifications/progress
  • 长期运行操作支持 - 实时进度更新
  • 本地/远程支持 - 与多种MCP服务器类型兼容

内置内部资源

  • hatago://servers - 当前连接服务器的JSON快照(ID、状态、类型、工具、资源、提示)

增强功能

  • 环境变量展开 - 兼容Claude编码 ${VAR}${VAR:-default} 语法
  • 配置验证 - 使用Zod模式实现类型安全的配置
  • 基于标签的服务器过滤 - 使用标签对服务器进行分组和过滤
  • 配置继承 - 通过(某种方式)扩展基础配置 extends “field for DRY principle”的中文翻译是:“遵循DRY原则的字段”。这里,“DRY”原则是指“Don't Repeat Yourself”(不要重复自己),是编程中的一种设计原则,旨在提高代码的可维护性和可读性

最小化集线器接口(IHub)

外部包(server/test-utils)使用了一个轻量级的(或“简化的”) IHub 通过接口来避免与具体类的紧密耦合。

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();

提取的用于薄型轮毂的模块:

  • RPC 处理程序: packages/hub/src/rpc/handlers.ts
  • HTTP 处理程序: packages/hub/src/http/handler.ts

📁 项目结构

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

📦 安装

快速入门(无需安装)

# 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

全球部署

# Install globally
npm install -g @himorishige/hatago-mcp-hub

# Use with hatago command
hatago init
hatago serve

作为项目依赖

# Install as dependency
npm install @himorishige/hatago-mcp-hub

# Add to package.json scripts
{
  "scripts": {
    "mcp": "hatago serve"
  }
}

🚀 使用方法

克劳德代码,Codex CLI,Gemini CLI

STDIO 模式(推荐)

克劳德代码 / 双子座命令行界面

添加到 .mcp.json

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

Codex CLI(命令行界面)

添加到 ~/.codex/config.toml

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

HTTP 模式

Claude Code / Gemini CLI(注:这里的“Code”可能指的是某种代码或编程环境,但结合上下文,“Claude Code”可能是一个特定项目或工具的名称,因此直接保留原样;“Gemini CLI”则是指Gemini的命令行界面)

添加到 .mcp.json:

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

Codex CLI(命令行界面)

添加到 ~/.codex/config.toml

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

MCP 检测器(或 MCP 检查器)

用于测试和调试:

# Start in HTTP mode
hatago serve --http --port 3535

# Connect with MCP Inspector
# Endpoint: http://localhost:3535/mcp

访问 MCP 检查员

指标(可选加入)

启用轻量级内存指标并暴露一个HTTP端点:

HATAGO_METRICS=1 hatago serve --http --port 3535
# Then visit: http://localhost:3535/metrics

注:

  • 默认情况下,指标功能是禁用的,且在关闭时几乎不会产生任何开销。
  • 当……时,JSON日志可用 HATAGO_LOG=json (尊敬地 HATAGO_LOG_LEVEL)。

⚙️ 配置

基本配置

创造 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}"
      }
    }
  }
}

远程服务器配置

{
  "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}"
      }
    }
  }
}

配置策略

策略1:基于标签的过滤

在单个配置文件中按标签分组服务器:

{
  "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"]
    }
  }
}

从特定标签开始:

# 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 開発,テスト

策略2:配置继承

根据环境拆分配置 extends 字段:

基本配置 (~/.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.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}"
      }
    }
  }
}

特点:

  • 继承子配置覆盖父配置值
  • 多个父母"extends": ["./base1.json", "./base2.json"]
  • 路径解析支持 ~相对路径和绝对路径
  • 环境删除使用 null 移除继承的环境变量

选择策略

策略基于标签的基于继承的
文件单配置多配置
开关--tags 选项--config 选项
管理集中式分布式
最适合于团队共享,简单设置复杂环境,个性化定制

环境变量扩展

支持Claude代码兼容语法:

  • ${VAR} - 扩展为VAR的值(若未定义则报错)
  • ${VAR:-default} - 如果 VAR 未定义,则使用默认值

📋 命令

hatago init

通过交互式设置创建配置文件:

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

启动MCP Hub服务器:

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

从文件加载环境变量

使用 --env-file 在配置解析之前加载变量。这有助于解决 ${VAR} 并且 ${VAR:-default} 在不将变量全局导出的情况下使用占位符。

  • 格式: KEY=VALUEexport KEY=VALUE# 注释,空行。
  • 引号已移除;转义了支持字符 \n\r\t
  • 路径:相对于当前工作目录(CWD), ~/ 扩展到家庭。
  • 优先级:文件按给定顺序应用;已存在的 process.env 除非……否则密钥将被保留 --env-override 已提供。

✨ 性能提升(v0.0.14)

  • 启动速度提升8.44倍85.66毫秒 → 10.14毫秒
  • 包装体积缩小了17%1.04MB → 854KB(减少了181KB)
  • 简化架构移除了增强型集线器和管理层
  • 权衡取舍内置的配置监视功能已移除(请改用 nodemon/PM2 代替)

🔧 高级用法

程序化API

import { startServer } from '@himorishige/hatago-mcp-hub';

// Start server programmatically
await startServer({
  mode: 'stdio',
  config: './hatago.config.json',
  logLevel: 'info'
});

创建自定义中心(或集线器)

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

const hub = createHub({
  mcpServers: {
    memory: {
      command: 'npx',
      args: ['@modelcontextprotocol/server-memory']
    }
  }
});

// Use hub directly in your application
const tools = await hub.listTools();

🏗️ 建筑学

Client (Claude Code, etc.)
    ↓
Hatago Hub (Router + Registry)
    ↓
MCP Servers (Local, NPX, Remote)

支持的MCP服务器

本地服务器

  • 任何可执行的MCP服务器
  • Python、Node.js 或二进制服务器
  • 使用MCP协议的自定义脚本

NPX 服务器

  • @modelcontextprotocol/server-filesystem
  • @modelcontextprotocol/server-github
  • @modelcontextprotocol/server-memory
  • 任何通过npm发布的MCP服务器

远程服务器

  • DeepWiki MCP(https://mcp.deepwiki.com/sse)
  • 任何基于HTTP的MCP终端节点
  • 使用MCP协议的自定义API服务器

🐛 故障排除

常见问题

  1. “未设置 onNotification 处理器”警告

- 在HTTP模式下使用StreamableHTTP传输时是正常的 - 集线器正确处理通知

  1. 服务器连接失败

- 验证环境变量是否已设置 - 检查远程服务器URL是否可访问 - 使用 --verbose 用于详细日志的标志

  1. 工具名称冲突

- Hatago 自动添加服务器ID前缀 - 原始名称在中心节点中保留

调试模式

# Enable verbose logging
hatago serve --verbose

# Check server status
hatago status

📚 文档

🤝 贡献(或“参与贡献”)

欢迎投稿!请参阅我们的 如需更多信息。

📄 许可证

麻省理工学院许可证

🔗 链接

🙏 致谢

目录标签

目录标签

TypeScriptClaudeAI代理MCP协议本地部署服务器连接轻量级中心多工具集成性能优化

支持客户端

ClaudeCursorWindsurfVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@himorishige/hatago-mcp-hub

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP