MCP Tools Hub
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Tools Hublist available tools"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Tools Hub
Веб-интерфейс для просмотра и вызова MCP-инструментов с чат-агентом, планировщиком и оркестрацией цепочек вызовов.
Быстрый старт
# Установка зависимостей
npm install
# Настройка окружения
cp .env.example .env
# Отредактировать CHAT_API_KEY в .env
# Запуск
npm start
# → http://localhost:3000Related MCP server: Swagger MCP Server
Тестирование
# Только локальные инструменты
npm test
# Все тесты (локальные + внешние)
npm run test:all
# Только E2E-тест оркестрации
npm run test:orchАрхитектура
src/
├── api/ # REST-роуты (tools, scheduler, admin)
├── mcp/
│ ├── tools/ # Локальные инструменты + registry
│ ├── server.js # MCP-сервер (SSE transport)
│ └── client-manager.js # Подключение к внешним MCP-серверам
├── public/ # Фронтенд (app.js, chat.js, styles.css, index.html)
├── scheduler/ # Планировщик (reminder + periodic)
└── shared/ # Config, Logger, AppContextДлинный флоу (Orchestration)
Чат-агент умеет выполнять цепочки из нескольких инструментов, где LLM сама решает, какой инструмент вызвать следующим, на основе результатов предыдущих шагов.
Пример цепочки из 4 шагов
Запрос пользователя:
Получи пользователя #1, сохрани его имя в заметку,
создай напоминание через 2 секунды о заметке, и покажи сводку задач.Ожидаемая цепочка вызовов:
┌─────────────────────────────────────────────────┐
│ Шаг 1: get_user(userId: 1) │
│ → "Leanne Graham, Gwenborough" │
├─────────────────────────────────────────────────┤
│ Шаг 2: save_note(title: "Leanne Graham", │
│ content: "Пользователь #1") │
│ → "Заметка сохранена: notes/Leanne Graham.md" │
├─────────────────────────────────────────────────┤
│ Шаг 3: create_reminder(message: "Напомни о │
│ заметке Leanne Graham", delaySeconds:2)│
│ → "Напоминание создано через 2 сек" │
├─────────────────────────────────────────────────┤
│ Шаг 4: get_summary() │
│ → "Всего заметок: 5, задач в scheduler: 2..." │
├─────────────────────────────────────────────────┤
│ Ответ LLM: "Готово. Пользователь Leanne Graham │
│ сохранён, напоминание создано. Вот сводка..." │
└─────────────────────────────────────────────────┘Механизм:
LLM получает запрос → анализирует → решает какие инструменты нужны
Вызывает
get_userчерезTOOL_CALLСервер выполняет инструмент, возвращает результат LLM
LLM анализирует результат → решает вызвать
save_noteПовторяет пока не выполнит все шаги (макс 5)
После выполнения всех шагов — отвечает пользователю
Ветвление: LLM может принимать разные решения на основе данных:
Если get_weather вернул t > 15°C → save_note("Тепло")
Если t <= 15°C → save_note("Холодно")
Параллельные вызовы: Если LLM возвращает несколько TOOL_CALL на одной строке, они выполняются через Promise.all.
Отложенные задачи: create_reminder c callback.messages — планировщик запускает LLM-цепочку через N секунд и пушит результат через SSE.
SSE-события
Тип | Назначение |
| Промежуточный шаг цепочки (real-time обновление UI) |
| Результат цепочки от планировщика (scheduler callback) |
Формат TOOL_CALL
TOOL_CALL: {"tool": "имя_инструмента", "arguments": {}}Строго одной строкой
JSON без дополнительного текста внутри
Несколько TOOL_CALL через
\n— параллельное выполнение
Источники инструментов
локальный — встроенные инструменты (
src/mcp/tools/*.js)внешний:everything — @modelcontextprotocol/server-everything
внешний:math — второй экземпляр server-everything (для демонстрации multi-сервера)
Переменные окружения (.env)
PORT=3000 # Порт сервера
LOG_LEVEL=info # Уровень логирования
MCP_EXTERNAL_ENABLED=true # Включить внешние MCP-серверы
MCP_EXTERNAL_SERVERS=... # Список серверов (id,command,args;...)
CHAT_API_KEY=sk-... # API-ключ DeepSeek
CHAT_MODEL=deepseek-chat # Модель для чатаThis server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for progressive tool usage at any scale (see https://klavis.ai)
POC MCP server. Tool say_hello returns 'Welcome' (agent -> MCP -> API path).
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA Python-based MCP server that integrates OpenAPI-described REST APIs into MCP workflows, enabling dynamic exposure of API endpoints as MCP tools.155MIT
- AlicenseAqualityCmaintenanceMCP server that provides tools for exploring and testing APIs through Swagger/OpenAPI documentation.5251 npm12MIT
- AlicenseAqualityFmaintenanceA universal MCP server that exposes all UTCP-registered tools to MCP clients while providing a web interface for tool management.710 npm204MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server that provides tools to create and list tasks by calling a REST API.-