cd /news/ai-agents/show-hn-toolhub-hierarchical-nav-for… · home topics ai-agents article
[ARTICLE · art-137521] src=github.com ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

Show HN: ToolHub – Hierarchical nav for 30 MCP tools without context bloat

ToolHub, a self-hosted open-source platform for orchestrating tools for AI agents, launched as a Show HN project that organizes 30 MCP tools into a hierarchical folder tree navigated via listTools() and callTool() to avoid overloading model context windows. ToolHub is written in Bun, runs without Docker in isolated OS temp workspaces, converts scripts in Bun, Node.js, Python, Go, Bash, PHP, Deno and C++ into agent tools, and supports nested federation of hub-to-hub instances with cycle protection. The platform supports Model Context Protocol in Stdio spawn mode and Stateful Persistent Pools, and works out-of-the-box with the open-source lab web client at labstudio.tech.

read15 min views1 publishedSep 22, 2026
Show HN: ToolHub – Hierarchical nav for 30 MCP tools without context bloat
Image: Michielbdejong (auto-discovered)

TOOL HUB is a high-performance, self-hosted, open-source platform for creating, orchestrating, federating, and securely executing tools for AI agents of any kind.

Stop hardcoding functions into system prompts and over model context windows with hundreds of API schemas. TOOL HUB provides agents with a structured, distributed skill file system featuring on-the-fly tree navigation and a unified interaction contract.

ToolHub works out-of-the-box with the open-source 🧪 lab (labstudio.tech) web client (GitHub Repo) — an ultra-lightweight, serverless LLM workspace:

Criterion ToolHub MCPJungle / MCPHub (typical MCP gateway)
Core approach Execution engine: turns any script (Bun, Python, Go, Bash, etc.) into a tool on the fly Proxy registry: registers pre-built MCP servers and grants access to them
Creating a tool Write a script → it instantly becomes an agent tool Requires an already-built MCP server implementing the protocol
Navigation Hierarchical folder tree ( listTools("/system") ) Flat list of registered servers/tools, grouped via Tool Groups
Federation Infinitely nested REMOTE nodes (hub → hub → hub) Single layer: client → gateway → servers, no recursive nesting
MCP integration Supports MCP as one category type (Stateless + Stateful Pool) MCP is the only supported format
MCP → native tool conversion Yes (MCP Promote) Not available
IDE integration Yes (Sublime Merge diff, replace-literal, native Ctrl+Z) Not available
Access control Tool toggles in admin panel, two password tiers (agent/admin) ACL/RBAC, Tool Groups, per-client tokens (in enterprise mode)
  1. Zero Docker Needed : Written inBun , running code directly in isolated OS temp workspaces. Runs effortlessly on Raspberry Pi, lightweight VPS, or bare-metal servers. (Containerization/VM wrappers can still be attached on the runner layer).
  2. Language Agnostic : Turn any script inBun, Node.js, Python, Go, Bash, PHP, Deno, C++ into an AI tool. If a command runs in a terminal, it becomes an agent skill.
  3. Strict Hierarchical Navigation : Tools are organized as a filesystem folder tree. Models browse categories vialistTools() , select the target tool, and execute it viacallTool() .
  4. Infinite Federation : Connect ToolHub instances into nested tree networks with automated path normalization and cycle protection.
  5. Dual-Mode MCP Engine : Support for Model Context Protocol (MCP) in standard Stdio spawn mode andStateful Persistent Pools for memory-heavy sessions (Puppeteer, SSH, databases).
                                  ┌────────────────────────┐
                                  │   AI AGENT / SDK CLIENT│
                                  └───────────┬────────────┘
                                              │ HTTP Requests
                                              ▼
┌─────────────────────────────────────────────────────────────────────────────────────────┐
│                                   TOOL HUB CORE SYSTEM                                  │
│                                                                                         │
│  ┌───────────────────────────────────────────────────────────────────────────────────┐  │
│  │                              Fastify Router & Auth                                │  │
│  │   • Agent Auth (x-agent-password)         • Admin Auth (x-admin-password)         │  │
│  └──────┬──────────────────────────────────────────┬─────────────────────────────────┘  │
│         │                                          │                                    │
│         ▼                                          ▼                                    │
│  ┌──────────────┐                          ┌──────────────┐                             │
│  │  Agent API   │                          │  Admin API   │                             │
│  │  (/*)        │                          │ (/admin/api/*)                             │
│  └──────┬───────┘                          └──────┬───────┘                             │
│         │                                         │                                     │
│         └────────────────────┬────────────────────┘                                     │
│                              ▼                                                          │
│                     UNIFIED ROUTER ENGINE                                               │
│                              │                                                          │
│      ┌───────────────────────┼───────────────────────┐                                  │
│      ▼                       ▼                       ▼                                  │
│ ┌─────────┐             ┌─────────┐             ┌─────────┐                             │
│ │  LOCAL  │             │ REMOTE  │             │   MCP   │                             │
│ └────┬────┘             └────┬────┘             └────┬────┘                             │
│      │                       │                       │                                  │
│      ▼                       ▼                       ▼                                  │
│  Workspace              HubSDK Proxy            MCP Engine                              │
│  Execution             (Infinite Tree)      ┌────────┴────────┐                         │
│  (Bun/Py/Go...)                             ▼                 ▼                         │
│                                         Stateless        Stateful Pool                  │
│                                        (Stdio Spawn)    (Persistent PID)                │
└─────────────────────────────────────────────────────────────────────────────────────────┘
1. Workspace Isolation  →  2. Injection  →  3. Build/Install  →  4. Run & Telemetry
  (/tmp/hub_run_xxx/)        (Code & Deps)      (installCmd)       (runCmd + ENV)
  1. Workspace Isolation : Creates a dedicated temp directory (/tmp/hub_run_<timestamp>_<hash> ).
  2. File Injection : Injects source intocodeFileName and dependencies intodepFileName .
  3. Payload Passing : Injects parameters intoinput.json and mirrors each key asINPUT_<KEY_NAME> environment variables.
  4. Dependency Installation : RunsinstallCmd (e.g.pip install -r requirements.txt ) if dependencies exist.
  5. Execution & Telemetry : ExecutesrunCmd with timeout controls, reads output fromoutput.json orstdout , logs execution metrics into Audit Logs.
  6. Workspace Purge : Completely wipes the isolated temp directory.
  • Atomic AST Edits (replace-literal) : AI targets exact line replacements in ~2ms with zero token waste.

  • Sublime Merge Integration : Real-time diff preview inside your editor; accept/reject changes in one click.

  • Native Undo Stack : AI modifications integrate with nativeCtrl+Z undo history.

  • Skill Portability : Export folders, schemas, and runners into.toolpack bundles.

  • Revision Journal : Automatic snapshots on every edit with one-click rollbacks.

Type Purpose Operation
LOCAL Native tool workspace Executes scripts locally through configured runners.
REMOTE ToolHub proxy tunnel Recursive gateway to remote nodes via HubSDK .
MCP External MCP server Stdio-driven Model Context Protocol server.

Stateless MCP (Stdio) : Full lifecycle per call:spawn$\rightarrow$ initialize$\rightarrow$ tools/call$\rightarrow$ exit. 2. Stateful MCP Pool (mcpIsStateful) : Keeps processes alive in memory for complex sessions (Puppeteer, SSH). Hot calls execute in10–30ms . Auto-terminates after 5 minutes of idle (TTL=300s ) with auto-recovery on crash. 3. MCP Promote : One-click promotion of remote MCP definitions into editable native database tools.

  • Deep Nesting : Server A connects to Server B, which links to Server C, exposed as a unified path (/office/home/lights/turn_on ).
  • Cycle Protection : Graph analysis prevents cyclic recursive traversal loops.
  • Transparent Routing :HubSDK handles path normalization and credential forwarding automatically.
<hub>listTools("/system")</hub>
js
<hub>callTool("/sublime/replace-literal", {
  "find": "const PORT = 3000;",
  "replace": "const PORT = 8080;"
})</hub>
  • Agent Security (x-agent-password) : Protects skill discovery and execution routes ( GET /* ,POST /* ).
  • Admin Studio Security (x-admin-password) : Protects management APIs and web console (/admin/* ).
git clone https://github.com/Talos-Popcorn/toolhub.git
cd toolhub

bun install

bun run db:push

bun run db:seed


bun run dev
  • Web Console :http://localhost:5173/admin/ (or port3000 in production)
  • Swagger Docs :http://localhost:3000/docs(Available only in bun run dev mode)
  • Default Admin Password :admin (or chosen during seed)
  • Default Agent Password :123 (or chosen during seed)
import { HubSDK } from './SDK/JS/sdk';

const hub = new HubSDK('http://localhost:3000', '123');

async function runAgentLoop(userQuery: string) {
  const systemPrompt = await hub.getSmartPrompt();
  
  const messages = [
    { role: 'system', content: systemPrompt },
    { role: 'user', content: userQuery }
  ];

  while (true) {
    const aiResponse = await llm.generate(messages);
    const action = await hub.processAgentResponse(aiResponse);

    if (!action.called) {
      console.log('Agent Response:', aiResponse);
      break;
    }

    messages.push({ role: 'assistant', content: aiResponse });
    messages.push({ 
      role: 'user', 
      content: `HUB_RESULT: ${JSON.stringify(action.result)}` 
    });
  }
}
bun run build

bun run start

This project is distributed under the AGPL-3.0 License (free for personal use and open-source modifications).

Commercial Use: A commercial license is required to use 🛠️ ToolHub within closed corporate environments or proprietary products without AGPL-3.0 copyleft restrictions.

Contact email: collab@labstudio.tech.

TOOL HUB — это высокопроизводительная self-hosted платформа с открытым исходным кодом для создания, управления, федерации и безопасного исполнения инструментов (tools) для AI-агентов любого типа.

Хватит хардкодить функции в системные промпты и перегружать контекст модели сотнями описаний API. TOOL HUB предоставляет агенту структурированную распределённую файловую систему навыков с навигацией «на лету» и единым контрактом взаимодействия.

ToolHub из коробки интегрирован с открытым веб-клиентом 🧪 lab (labstudio.tech) (GitHub Repo) — легковесным serverless-интерфейсом для общения с LLM:

Критерий ToolHub MCPJungle / MCPHub (типичный MCP-gateway)
Суть подхода Движок исполнения: превращает любой скрипт (Bun, Python, Go, Bash и т.д.) в tool на лету Прокси-реестр: регистрирует уже готовые MCP-серверы и раздаёт к ним доступ
Создание tool'а Пишешь скрипт → он сразу становится инструментом агента Нужен готовый MCP-сервер, который кто-то уже реализовал по протоколу
Навигация Иерархическое дерево папок ( listTools("/system") ) Плоский список зарегистрированных серверов/тулов, группировка через Tool Groups
Федерация Бесконечно вложенные REMOTE-узлы (хаб → хаб → хаб) Один уровень: клиент → gateway → серверы, без рекурсивной вложенности
MCP-интеграция Поддерживает MCP как один из типов категорий (Stateless + Stateful Pool) MCP — единственный поддерживаемый формат
Конвертация MCP → нативный tool Есть (MCP Promote) Отсутствует
IDE-интеграция Есть (Sublime Merge diff, replace-literal, Ctrl+Z) Отсутствует
Контроль доступа Toggle тулов в админке, два уровня паролей (agent/admin) ACL/RBAC, Tool Groups, per-client токены (в enterprise-режиме)
  1. Без лишних барьеров (Zero Docker Needed) : Написана наBun и исполняет код напрямую во временных пространствах ОС. Работает на Raspberry Pi, скромных VPS и физических серверах без оверхеда контейнеризации.
  2. Языковая агностика : Инструментом агента может стать любой скрипт наBun, Node.js, Python, Go, Bash, PHP, Deno, C++ . Если команда исполняется в консоли — она становится навыком ИИ.
  3. Строгая иерархическая навигация : Дерево папок позволяет модели не держать в памяти сотни схем, а открывать категории черезlistTools() и запускать нужный инструмент черезcallTool() .
  4. Бесконечная федерация : Узлы ToolHub объединяются в древовидные структуры любой вложенности с нормализацией путей и защитой от рекурсивных циклов.
  5. Двухрежимная MCP-экосистема : Поддержка Model Context Protocol (MCP) как в разовом формате Stdio (spawn-call-kill), так и в виде горячего пула процессов (Stateful Persistent Pool ) для сессий с активным состоянием памяти.
                                  ┌────────────────────────┐
                                  │   AI AGENT / SDK CLIENT│
                                  └───────────┬────────────┘
                                              │ HTTP Requests
                                              ▼
┌─────────────────────────────────────────────────────────────────────────────────────────┐
│                                   TOOL HUB CORE SYSTEM                                  │
│                                                                                         │
│  ┌───────────────────────────────────────────────────────────────────────────────────┐  │
│  │                              Fastify Router & Auth                                │  │
│  │   • Agent Auth (x-agent-password)         • Admin Auth (x-admin-password)         │  │
│  └──────┬──────────────────────────────────────────┬─────────────────────────────────┘  │
│         │                                          │                                    │
│         ▼                                          ▼                                    │
│  ┌──────────────┐                          ┌──────────────┐                             │
│  │  Agent API   │                          │  Admin API   │                             │
│  │  (/*)        │                          │ (/admin/api/*)                             │
│  └──────┬───────┘                          └──────┬───────┘                             │
│         │                                         │                                     │
│         └────────────────────┬────────────────────┘                                     │
│                              ▼                                                          │
│                     UNIFIED ROUTER ENGINE                                               │
│                              │                                                          │
│      ┌───────────────────────┼───────────────────────┐                                  │
│      ▼                       ▼                       ▼                                  │
│ ┌─────────┐             ┌─────────┐             ┌─────────┐                             │
│ │  LOCAL  │             │ REMOTE  │             │   MCP   │                             │
│ └────┬────┘             └────┬────┘             └────┬────┘                             │
│      │                       │                       │                                  │
│      ▼                       ▼                       ▼                                  │
│  Workspace              HubSDK Proxy            MCP Engine                              │
│  Execution             (Infinite Tree)      ┌────────┴────────┐                         │
│  (Bun/Py/Go...)                             ▼                 ▼                         │
│                                         Stateless        Stateful Pool                  │
│                                        (Stdio Spawn)    (Persistent PID)                │
└─────────────────────────────────────────────────────────────────────────────────────────┘
1. Создание Workspace  →  2. Инъекция файлов  →  3. Инсталляция  →  4. Исполнение & Output
   (/tmp/hub_run_xxx/)       (Code & Deps)           (installCmd)       (runCmd + ENV)
  1. Изоляция Workspace : Бэкенд создает уникальную изолированную папку во временной директории ОС (/tmp/hub_run_<timestamp>_<hash> ).
  2. Инъекция кода и зависимостей : Код записывается вcodeFileName , а манифест пакетов — вdepFileName .
  3. Передача аргументов : Формируетсяinput.json в корне воркспейса, а параметры дублируются в переменные окруженияINPUT_<KEY_NAME> .
  4. Установка зависимостей : Если заданы зависимости иinstallCmd , выполняется сборка (напр.,pip install -r requirements.txt ).
  5. Запуск и снятие метрик (runCmd) : Запускается процесс с таймаутом timeoutMs , результат считывается изoutput.json илиstdout , а телеметрия отправляется в Audit Logs.
  6. Очистка : Воркспейс принудительно удаляется из файловой системы.
  • Атомарные правки (replace-literal) : Агент меняет строго конкретные строки кода за 2 мс без перерасхода токенов.

  • Интеграция с Sublime Merge : Наглядный визуальный Diff в окне редактора с принятием правок в 1 клик.

  • Нативный Ctrl+Z : Правки от ИИ работают через стандартный Undo-стек редактора.

  • Шеринг навыков : Экспорт категорий со всеми подпапками, кодом и схемами в.toolpack .

  • Журнал ревизий : Автоматическая фиксация снимков при каждом сохранении с откатом в 1 клик.

Тип Назначение Принцип работы
LOCAL Локальная папка с инструментами Исполнение скриптов через встроенный движок раннеров.
REMOTE Проксирование на другой ToolHub Рекурсивный туннель к удаленному узлу через HubSDK .
MCP Интеграция стороннего MCP-сервера Запуск внешнего MCP-сервера через Stdio.

Stateless MCP (Stdio) : Полный цикл на каждый вызов:spawn$\rightarrow$ initialize$\rightarrow$ tools/call$\rightarrow$ kill. 2. Stateful MCP Pool (mcpIsStateful) : Удержание процесса в памяти (Puppeteer, SSH, СУБД). Повторные вызовы исполняются за10–30 мс . Автозавершение при простое более 5 минут (TTL = 300s ) и самовосстановление при сбоях. 3. MCP Promote : Конвертация динамических инструментов MCP в базу данных как нативных редактируемыхTool в 1 клик.

  • Бесконечная вложенность : Сервер A подключает Сервер B, который содержит подключение к Серверу C (/office/home/lights/turn_on ).
  • Защита от циклов : Автоматическое обнаружение и купирование взаимных рекурсивных ссылок.
  • Прозрачность вызовов :HubSDK берет на себя нормализацию путей, проксирование и авторизацию.
<hub>listTools("/system")</hub>
js
<hub>callTool("/sublime/replace-literal", {
  "find": "const PORT = 3000;",
  "replace": "const PORT = 8080;"
})</hub>
  • Agent Security (x-agent-password) : Защищает агентские API-роуты ( GET /* иPOST /* ).
  • Admin Studio Security (x-admin-password) : Защищает административные ручки управления (/admin/api/* ).
git clone https://github.com/Talos-Popcorn/toolhub.git
cd toolhub

bun install

bun run db:push

bun run db:seed


bun run dev
  • Панель управления :http://localhost:5173/admin/ (или порт3000 в прод-сборке)
  • Swagger документация :http://localhost:3000/docs(Доступна только в режиме разработки bun run dev)
  • Дефолтный пароль админки :admin (или заданный при сиде)
  • Дефолтный пароль агента :123 (или заданный при сиде)
import { HubSDK } from './SDK/JS/sdk';

const hub = new HubSDK('http://localhost:3000', '123');

async function runAgentLoop(userQuery: string) {
  const systemPrompt = await hub.getSmartPrompt();
  
  const messages = [
    { role: 'system', content: systemPrompt },
    { role: 'user', content: userQuery }
  ];

  while (true) {
    const aiResponse = await llm.generate(messages);
    const action = await hub.processAgentResponse(aiResponse);

    if (!action.called) {
      console.log('Ответ агента:', aiResponse);
      break;
    }

    messages.push({ role: 'assistant', content: aiResponse });
    messages.push({ 
      role: 'user', 
      content: `HUB_RESULT: ${JSON.stringify(action.result)}` 
    });
  }
}
bun run build

bun run start

Проект распространяется под лицензией AGPL-3.0 (бесплатен для личного использования и open-source модификаций).

Для коммерческого использования: Для использования 🛠️ ToolHub внутри закрытых корпоративных контуров или проприетарных продуктов без ограничений AGPL-3.0 требуется коммерческая лицензия.

Почта для связи: collab@labstudio.tech.

TOOL HUB 是一款高性能、支持私有化部署的开源平台,专为各类 AI 智能体设计,提供技能与工具 (Tools) 的创建、编排、联邦化管理与安全执行环境。

告别在系统提示词中硬编码函数以及 API Schema 严重消耗上下文的痛点。TOOL HUB 为智能体构建了结构化的分布式技能文件系统,支持即时目录导航与标准统一的交互契约。

ToolHub 原生无缝集成开源 Web 客户端 🧪 lab (labstudio.tech) (GitHub 仓库) —— 超轻量、无后端的 Serverless 大模型交互工作台:

对比项 ToolHub MCPJungle / MCPHub(典型 MCP 网关)
核心思路 执行引擎:将任意脚本(Bun、Python、Go、Bash 等)即时转化为工具 代理注册表:注册已实现好的 MCP 服务器并分配访问权限
创建工具 编写脚本 → 立即成为智能体可用的工具 需要已按 MCP 协议实现好的服务器
导航方式 层级文件夹树( listTools("/system") 已注册服务器/工具的平铺列表,通过 Tool Groups 分组
联邦架构 无限嵌套的 REMOTE 节点(hub → hub → hub) 单层结构:客户端 → 网关 → 服务器,无递归嵌套
MCP 集成 将 MCP 作为分类之一支持(无状态 + 有状态进程池) MCP 是唯一支持的格式
MCP → 原生工具转换 支持(MCP Promote) 不支持
IDE 集成 支持(Sublime Merge 差异对比、replace-literal、原生撤销) 不支持
访问控制 管理面板中开关工具,双层密码(agent/admin) ACL/RBAC、Tool Groups、按客户端分配令牌(企业模式下)
  1. 无需 Docker (Zero Docker Needed) : 基于Bun 构建,代码直接在操作系统隔离的临时工作区运行。即使在 Raspberry Pi 或轻量 VPS 上也能毫秒级极速响应。
  2. 多语言无缝兼容 : 任何Bun, Node.js, Python, Go, Bash, PHP, Deno, C++ 脚本均可直接作为技能运行。终端能执行的命令,均可转为 AI 工具。
  3. 分层技能树导航 : 技能按文件目录组织,模型无需常驻数百个工具描述,只需通过listTools() 浏览目录并通过callTool() 按需调用。
  4. 无限联邦网络 (Infinite Federation) : 支持多个 ToolHub 节点相互挂载为树状子目录,自动处理路径规范化并杜绝循环引用。
  5. 双模 MCP 生态 : 全面支持 Model Context Protocol (MCP),提供标准 Stdio 模式与针对复杂会话(Puppeteer、SSH、数据库)的常驻热进程池 (Stateful Persistent Pool)
                                  ┌────────────────────────┐
                                  │   AI AGENT / SDK CLIENT│
                                  └───────────┬────────────┘
                                              │ HTTP Requests
                                              ▼
┌─────────────────────────────────────────────────────────────────────────────────────────┐
│                                   TOOL HUB CORE SYSTEM                                  │
│                                                                                         │
│  ┌───────────────────────────────────────────────────────────────────────────────────┐  │
│  │                              Fastify Router & Auth                                │  │
│  │   • Agent Auth (x-agent-password)         • Admin Auth (x-admin-password)         │  │
│  └──────┬──────────────────────────────────────────┬─────────────────────────────────┘  │
│         │                                          │                                    │
│         ▼                                          ▼                                    │
│  ┌──────────────┐                          ┌──────────────┐                             │
│  │  Agent API   │                          │  Admin API   │                             │
│  │  (/*)        │                          │ (/admin/api/*)                             │
│  └──────┬───────┘                          └──────┬───────┘                             │
│         │                                         │                                     │
│         └────────────────────┬────────────────────┘                                     │
│                              ▼                                                          │
│                     UNIFIED ROUTER ENGINE                                               │
│                              │                                                          │
│      ┌───────────────────────┼───────────────────────┐                                  │
│      ▼                       ▼                       ▼                                  │
│ ┌─────────┐             ┌─────────┐             ┌─────────┐                             │
│ │  LOCAL  │             │ REMOTE  │             │   MCP   │                             │
│ └────┬────┘             └────┬────┘             └────┬────┘                             │
│      │                       │                       │                                  │
│      ▼                       ▼                       ▼                                  │
│  Workspace              HubSDK Proxy            MCP Engine                              │
│  Execution             (Infinite Tree)      ┌────────┴────────┐                         │
│  (Bun/Py/Go...)                             ▼                 ▼                         │
│                                         Stateless        Stateful Pool                  │
│                                        (Stdio Spawn)    (Persistent PID)                │
└─────────────────────────────────────────────────────────────────────────────────────────┘
1. 创建隔离工作区  →  2. 写入文件/参数  →  3. 安装依赖包  →  4. 运行与捕获输出
 (/tmp/hub_run_xxx/)     (Code & Deps)       (installCmd)       (runCmd + ENV)
  1. 工作区隔离 : 在系统临时目录创建专属独立文件夹 (/tmp/hub_run_<timestamp>_<hash> )。
  2. 代码与依赖写入 : 分别写入codeFileNamedepFileName
  3. 参数注入 : 生成input.json 并同步映射至INPUT_<KEY_NAME> 环境变量。
  4. 依赖安装 : 若存在依赖则执行installCmd (如pip install -r requirements.txt )。
  5. 执行与遥测 : 运行runCmd ,捕获output.jsonstdout ,执行耗时与日志同步存入审计日志。
  6. 环境销毁 : 彻底清理并删除临时工作区。
  • 原子级代码替换 (replace-literal) : 智能体 2ms 内完成精确行级替换,杜绝全文件重写带来的 Token 浪费。

  • Sublime Merge 可视化 Diff : 在编辑器内实时预览 AI 修改,一键接受或拒绝变更。

  • 原生撤销栈支持 : AI 的修改完美集成在编辑器的Ctrl+Z 历史记录中。

  • 技能包共享 : 支持将分类目录、代码及 Schema 整体导出为.toolpack

  • 版本快照 : 每次保存自动生成版本修订快照,支持一键回滚。

分类类型 定位 运行机制
LOCAL 本地工具目录 通过内置运行器引擎在本地工作区执行。
REMOTE ToolHub 节点代理 通过 HubSDK 递归转发至远程节点。
MCP 外部 MCP 服务端 通过 Stdio 进程通信集成 Model Context Protocol。

Stateless MCP (Stdio) : 每次调用即时执行生命周期:spawn$\rightarrow$ initialize$\rightarrow$ tools/call$\rightarrow$ 退出。 2. Stateful MCP Pool (mcpIsStateful) : 为复杂会话(Puppeteer 浏览器、SSH 等)保持内存常驻。后续调用仅需10–30ms 。空闲 5 分钟自动释放 (TTL=300s ),异常退出自动恢复。 3. MCP Promote : 一键将 MCP 动态工具转换为数据库原生可编辑的本地Tool

<hub>listTools("/system")</hub>
js
<hub>callTool("/sublime/replace-literal", {
  "find": "const PORT = 3000;",
  "replace": "const PORT = 8080;"
})</hub>
  • 智能体认证 (x-agent-password) : 保护技能目录查询与执行接口 ( GET /* ,POST /* )。
  • 管理后台认证 (x-admin-password) : 保护管理控制台及核心配置接口 (/admin/* )。
git clone https://github.com/Talos-Popcorn/toolhub.git
cd toolhub

bun install

bun run db:push

bun run db:seed


bun run dev
  • 控制台界面 :http://localhost:5173/admin/ (生产环境为3000 端口)
  • Swagger 接口文档 :http://localhost:3000/docs(仅在 bun run dev 开发模式下开启)
  • 默认管理员密码 :admin (或安装时所设密码)
  • 默认智能体密钥 :123 (或安装时所设密钥)
import { HubSDK } from './SDK/JS/sdk';

const hub = new HubSDK('http://localhost:3000', '123');

async function runAgentLoop(userQuery: string) {
  const systemPrompt = await hub.getSmartPrompt();
  
  const messages = [
    { role: 'system', content: systemPrompt },
    { role: 'user', content: userQuery }
  ];

  while (true) {
    const aiResponse = await llm.generate(messages);
    const action = await hub.processAgentResponse(aiResponse);

    if (!action.called) {
      console.log('智能体响应结果:', aiResponse);
      break;
    }

    messages.push({ role: 'assistant', content: aiResponse });
    messages.push({ 
      role: 'user', 
      content: `HUB_RESULT: ${JSON.stringify(action.result)}` 
    });
  }
}
bun run build

bun run start

本项目基于 AGPL-3.0 许可证 开源分发(个人使用与开源衍生修改完全免费)。

商业授权: 若要在不受 AGPL-3.0 传染性开源约束的前提下,将 🛠️ ToolHub 部署于封闭的企业内网或集成至专有商业产品中,需获取商业授权许可证。

联系邮箱:collab@labstudio.tech

Built for the future of autonomous, distributed AI agents.

── more in #ai-agents 4 stories · sorted by recency
── more on @toolhub 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-toolhub-hier…] indexed:0 read:15min 2026-09-22 ·