Skip to main content
Glama
Warmplane

warmplane

Official
by Warmplane

Warmplane

Последний релиз crates.io docs.rs Лицензия: MIT Проверки рекомендаций Rust Аудит безопасности

Контроль безопасности: Аудит WORM + HMAC HITL + политики OAuth2 + PKCE Редактирование секретов SIEM + OTLP

Локальная панель управления, которая поддерживает MCP-сессии тёплыми с помощью компактных фасадов возможностей/ресурсов/промптов.

v0.25.2 — Журнал изменений · Руководство пользователя · Производительность · Белая книга · OpenAPI

Warmplane запускает несколько вышестоящих MCP-серверов за одним локальным процессом, поддерживает эти сессии постоянными и предоставляет компактный, учитывающий политики интерфейс для инструментов, ресурсов и промптов — доступный через HTTP, CLI и MCP-нативные клиенты.


Быстрый старт

1. Установка

С помощью Homebrew (macOS и Linux):

brew tap warmplane/tap
brew install warmplane

Или через Cargo:

cargo install warmplane

# Optional: with local ONNX vector embeddings (FastEmbed)
cargo install warmplane --features semantic-search

Или из исходного кода:

git clone https://github.com/Warmplane/warmplane.git
cd warmplane
cargo install --path . --features semantic-search

2. Настройка вышестоящих серверов

Управляйте серверами в интерактивном режиме или импортируйте из существующих инструментов:

# Interactive setup wizard
warmplane server add

# Or add non-interactively
warmplane server add filesystem --command npx --arg "-y" --arg "@modelcontextprotocol/server-filesystem" --arg "/tmp"
warmplane server add context7 --url "https://mcp.context7.ai/sse" --bearer-env "CONTEXT7_API_KEY"

# Or import directly from Claude Desktop / Cursor
warmplane config import

Или создайте файл mcp_servers.json вручную:

{
  "port": 9090,
  "toolTimeoutMs": 15000,
  "capabilityAliases": { "sqlite.read_query": "db.query" },
  "resourceAliases":  { "filesystem.file:///tmp/readme.txt": "fs.readme" },
  "promptAliases":    { "github.code_review": "prompt.code-review" },
  "policy": {
    "allow": ["db.*", "fs.*", "prompt.*"],
    "deny":  ["fs.secret"],
    "redactKeys": ["token", "api_key", "password"]
  },
  "profiles": {
    "coding": {
      "servers": ["filesystem", "sqlite"],
      "description": "Local coding and data inspection tools"
    }
  },
  "mcpServers": {
    "sqlite":     { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-sqlite", "./test.db"] },
    "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"] }
  }
}

3. Проверьте, затем запустите

warmplane server list
warmplane validate-config --config mcp_servers.json
warmplane daemon --config mcp_servers.json

Related MCP server: mcp-gateway

Режимы запуска

Все три режима используют одно и то же внутреннее состояние, алиасы, проверки политик и поведение тайм-аутов.

HTTP-демон

warmplane daemon --config mcp_servers.json
# Serves /v1/... on the configured port (default 9090)

Ключевые конечные точки:

Метод

Путь

Описание

GET

/v1/capabilities

Компактный индекс возможностей

POST

/v1/capabilities/search

Гибридный лексический и семантический поиск

POST

/v1/tools/call

Нормализованная обёртка выполнения (поддерживает ключи идемпотентности, _jsonpath, _limit_lines, _truncate_bytes)

POST

/v1/tools/batch_call

Цепочное многошаговое выполнение с интерполяцией ссылок $step.field

GET

/v1/idempotency/records

Список кэшированных записей идемпотентного выполнения и счётчиков повторов

GET

/v1/idempotency/records/:key

Просмотр одной кэшированной записи идемпотентности

GET

/v1/resources

Индекс ресурсов

POST

/v1/resources/read

Прочитать ресурс

GET

/v1/prompts

Индекс промптов

POST

/v1/prompts/get

Отрендерить промпт

GET

/v1/catalog/events

Лента событий изменений каталога

POST

/v1/operations/:id/cancel

Отменить выполняющуюся операцию

MCP-сервер (stdio)

warmplane mcp-server --config mcp_servers.json

Подключите любой MCP-нативный клиент к этому процессу. Он предоставляет лёгкие фасадные инструменты (capabilities_list, capability_search, capability_describe, capability_call, capabilities_batch_call, resource_read, prompt_get, …) наряду с нативными методами resources/* и prompts/*.

Конфигурация Claude Desktop / Cursor:

{
  "mcpServers": {
    "warmplane": {
      "command": "warmplane",
      "args": ["mcp-server", "--config", "mcp_servers.json"]
    }
  }
}

MCP-сервер (HTTP/SSE)

Предоставляет тот же фасад через Streamable HTTP/SSE, чтобы удалённые клиенты — CI-конвейеры, многомашинные кластеры агентов или удалённые настольные клиенты — могли подключаться без локального процесса:

# Local-only (default, no auth required)
warmplane mcp-http-server --config mcp_servers.json

# Network-accessible (requires authToken in config)
warmplane mcp-http-server --config mcp_servers.json --bind 0.0.0.0 --port 9191

# Profile-restricted
warmplane mcp-http-server --config mcp_servers.json --profile coding

Подключение с любого MCP HTTP-клиента:

{
  "mcpServers": {
    "warmplane": {
      "url": "http://localhost:9191/mcp"
    }
  }
}

Как вариант, добавьте блок mcpHttpServer в mcp_servers.json, и демон будет запускать оба сервера в одном процессе:

{
  "mcpHttpServer": { "port": 9191 },
  "mcpServers": { ... }
}

Полную справочную информацию по конфигурации см. в §4.7 Руководства пользователя.

Конфигурация и операции CLI

# Interactive server setup wizard
warmplane server add

# Import settings from Claude Desktop or Cursor
warmplane config import

# Hot-reload in-memory workers from mcp_servers.json without restarting
warmplane reload

# Inspect & test servers
warmplane server list
warmplane server test github

# Ecosystem config import (Claude Desktop, Cursor, Zed)
warmplane config import

# Aliases and Policies
warmplane config alias set tool git-commit github.create_commit
warmplane config policy allow "github.*" "fetch.*"

# Capability and Execution CLI (supports --profile <name>)
warmplane list-capabilities --profile coding
warmplane search-capabilities "triage logs" --limit 5 --profile coding
warmplane describe-capability db.query --profile coding

warmplane call-capability db.query \
  --params '{"query":"SELECT 1"}' \
  --request-id req-101 --actor-id user-7 \
  --idempotency-key op-20-run-1 \
  --profile coding

warmplane read-resource fs.readme --profile coding
warmplane get-prompt prompt.code-review --arguments '{"code":"fn main() {}"}' --profile coding

warmplane list-catalog-events --after evt_3
warmplane cancel-operation req-101

Основные показатели производительности

Warmplane создан на чистых Rust-абстракциях с нулевой стоимостью, что обеспечивает высокую отзывчивость циклов агентов:

  • 50.4 ns Проверка кэша ETag (If-None-Match $\rightarrow$ 304 Not Modified)

  • 159.8 ns Дедупликация идемпотентных попаданий в кэш

  • 1.58 µs Инкрементальное хеширование версии каталога SHA-256 ($N=10$)

  • 15.9 µs Фильтрованный гибридный поиск возможностей ($N=50$)

  • 372.1 µs Внутрипроцессный лексический поиск тегов без выделения памяти по 1,000 инструментам

👉 Полные бенчмарки и методологию профилирования см. в docs/PERFORMANCE.md.


Обзор возможностей

Возможность

Начиная с

Краткое описание

SEP-2663 Tasks Extension и единый HITL

v0.24.0

Официальная поддержка io.modelcontextprotocol/tasks с атомарным конечным автоматом, асинхронным выполнением долго работающих инструментов (202 Accepted + resultType: "task"), кооперативной отменой (POST /v1/tasks/:id/cancel), управлением истечением TTL и единой приостановкой и разрешением аргументов Human-in-the-Loop (HITL)

Идемпотентность ровно один раз и журнал повторов

v0.23.0

Детерминированное автоматическое создание ключей (idk_<sha256>), кэширование с заголовком X-Warmplane-Deduplicated: true, отслеживание количества повторов, связывание с аудиторским следом WORM (idempotency_key, is_replay) и API инспекции /v1/idempotency/records

Встраиваемый библиотечный движок на Rust

v0.23.0

Прямой внутрипроцессный библиотечный интерфейс (EmbeddedWarmplane, ControlPlaneHandle) со строго типизированными обёртками ответов (Envelope<T>), прямым выполнением инструментов/ресурсов/промптов и корректной отменой в рантайме Tokio вызывающего кода

Режим MCP-сервера HTTP/SSE

v0.22.0

Потоковый MCP-сервер HTTP/SSE (mcp-http-server) для удалённых сетевых клиентов; совместный запуск с демоном через конфигурационный блок mcpHttpServer; ограничение профилей, принудительная аутентификация при привязке не к loopback, корректное завершение общего состояния

Обработка сигналов и корректное завершение работы

v0.21.0

Немедленная отмена по сигналу (CancellationToken), мгновенное завершение SSE-потока, корректная защита от осиротевших дочерних процессов stdio (kill_on_drop) и ограниченные безопасные тайм-ауты завершения

3. Запуск и подключение

# Start HTTP daemon & Web Control Deck on http://127.0.0.1:9090
warmplane daemon

# Expose warmplane as a standard stdio MCP facade to Claude Desktop or Cursor
warmplane mcp-server

Ключевые возможности

Возможность

Версия

Описание

Control Deck: задачи и HITL-интерфейс

v0.25.0

Живой центр задач и утверждений, формы ввода MRTR, переключатель асинхронного режима Playground и встроенный API задач

Расширение задач SEP-2663

v0.24.0

Некритичная возможность io.modelcontextprotocol/tasks, унифицированный конечный автомат HITL, команды REST и CLI

Встроенный Rust-движок в процессе

v0.23.0

EmbeddedWarmplane и ControlPlaneHandle для интеграции библиотеки с нулевыми накладными расходами

Потоковый HTTP/SSE MCP-транспорт

v0.22.0

Совместно размещённый MCP-транспорт /mcp/sse для удалённого подключения агентов

Именованные созвездия серверов

v0.21.0

Группировка профилей (profiles) с разделением ETag по областям и фильтрацией stdio

Многопользовательский RBAC

v0.20.0

Доступ на основе ролей, детерминированное разделение каталога, распространение контекста арендатора

Делегированная выборка MCP-семплов

v0.19.0

Обратный RPC-сэмплинг (sampling/createMessage) с отслеживанием тикетов и длинным опросом

Подсистема постоянного состояния

v0.18.0

Атомарное устойчивое к перезапуску дисковое хранилище (AtomicFile<T>) для утверждений, идемпотентности и токенов OAuth2

Корректное завершение работы и сигналы

v0.18.0

Надёжная обработка SIGINT/SIGTERM, асинхронная очистка рабочих процессов, предотвращение осиротевших дочерних процессов

MCP-студия ресурсов и подсказок

v0.17.0

Обозреватель ресурсов на 360°, рендерер шаблонов подсказок с динамическими формами и синхронизация через SSE

Многошаговые пакетные конвейеры

v0.17.0

Визуальный редактор конвейеров с интерполяцией ссылочных параметров (POST /v1/tools/batch_call)

Корпоративная безопасность и аутентификация

v0.16.0

Защита промежуточного ПО на основе токенов, проверка HMAC аудита WORM и маскирование секретов

Отказоустойчивость и супервизия

v0.15.0

Деградированный запуск, автоматические выключатели на сервер, супервизия перезапуска с экспоненциальной задержкой

Набор обогащения агентов

v0.14.0

Фасадный поиск, дистилляция контекста (_jsonpath/_limit_lines) и многошаговое пакетное выполнение

Механизм утверждения HITL

v0.13.0

Механизм утверждения оператором, приостановка, редактирование аргументов и отправка вебхуков HMAC

Аудит WORM и SIEM

v0.12.0

Добавляемый только в конец журнал аудита с SHA-256 хэш-цепочкой, API проверки и экспорт в Splunk/Webhook SIEM

Веб-интерфейс Control Deck

v0.11.0

Автономная встроенная веб-панель для серверов, тестовый полигон, политики и телеметрия

Динамическая горячая перезагрузка

v0.11.0

Монтирование/размонтирование вышестоящих серверов без простоя, явные warmplane reload и /v1/config/reload


Журнал изменений

v0.25.2 — Упаковка пакетов MCPB и конвейер официального реестра MCP

  • Формат распространения MCPB (packaging/mcpb/, .github/workflows/release-artifacts.yml): Добавлена автоматическая сборка и упаковка платформенно-специфичных пакетов Model Context Protocol (.mcpb), содержащих автономные бинарные файлы, конфигурации начальной загрузки и стандартизированные манифесты (manifest_version: "0.3").

  • Метаданные официального реестра MCP (server.json): Рабочие процессы выпуска теперь автоматически генерируют канонические метаданные реестра, соответствующие официальной спецификации server.schema.json (io.github.warmplane/warmplane) с многоплатформенными SHA-256 дайджестами пакетов.

  • Homebrew Tap (Warmplane/homebrew-tap): Настроено официальное распространение через tap с предварительно собранными формулами для macOS и Linux (brew tap warmplane/tap && brew install warmplane).

v0.25.1 — Исправление конечного автомата асинхронного завершения задач

  • Асинхронная финализация задач (src/engine/mod.rs, src/http_v1/execute.rs): Устранена регрессия, из-за которой асинхронные выполнения возможностей (async_task: true или Prefer: respond-async) и задачи, возобновлённые после ответов Human-in-the-Loop (HITL), оставались в состоянии TaskStatus::Working бесконечно. Фоновые рабочие процессы теперь надёжно записывают конечное состояние (TaskStatus::Completed с result или TaskStatus::Failed со структурированной ошибкой) непосредственно в TaskRegistry.

  • Встроенные тесты жизненного цикла задач (tests/embedded_tests.rs, tests/tasks_tests.rs): Добавлены комплексные автоматизированные интеграционные тесты, проверяющие, что get_task и list_tasks наблюдают конечное состояние completed с полезной нагрузкой от вышестоящего сервера после отправки утверждений и прямых асинхронных вызовов.

v0.25.0 — Control Deck: задачи и HITL-интерфейс, встроенный API задач в процессе

  • Центр задач и утверждений Control Deck (ui/src/components/tasks.ts): Очередь проверки обновлена до единой панели задач и утверждений (data-tab="tasks") с живыми KPI статусов (input_required, working, completed, cancelled/failed), интерактивными карточками действий со встроенными формами ввода MRTR (логические значения, JSON-редакторы, текстовые поля), таймерами обратного отсчёта TTL и элементами управления кооперативной отменой.

  • Режим асинхронного выполнения MCP Playground: Добавлен переключатель "⚡ Async Task Mode" в тестовом полигоне инструментов и интерактивное предпросмотр карточки задачи 202 Accepted с переходом в один клик к панели задач и утверждений.

  • Встроенный Rust API управления задачами (ControlPlaneHandle): Предоставлены прямые методы управления задачами на встроенном ControlPlaneHandle (list_tasks, get_task, update_task, cancel_task), позволяющие встраиваемым приложениям управлять асинхронными задачами SEP-2663 без накладных расходов на HTTP или JSON-RPC сериализацию.

  • Интеграция обзорной панели и бейджей: Добавлена карточка телеметрии "Tasks & HITL State" в обзорную панель, а также связанные бейджи на боковой панели для задач с состоянием input_required.

v0.24.0 — Расширение задач SEP-2663, унифицированное выполнение HITL и согласование дорожной карты MCP

  • Реализация расширения задач SEP-2663 (src/tasks.rs): Реализована официальная возможность io.modelcontextprotocol/tasks с атомарным постоянным хранилищем (tasks.json), безопасным обнаружением истечения TTL и одноразовыми каналами ответов на ввод (TaskWaitSender / TaskWaitReceiver).

  • Унифицированный конечный автомат утверждений HITL и асинхронных задач: Унифицированы рабочие процессы утверждений Human-in-the-Loop и асинхронное выполнение инструментов непосредственно на жизненном цикле SEP-2663. Выполнения инструментов, требующие утверждения оператором или запрошенные с async_task: true / Prefer: respond-async, возвращают 202 Accepted с resultType: "task" и status: "input_required", встраивая inputRequests MRTR.

  • HTTP REST API задач (/v1/tasks/*): Добавлены комплексные REST-конечные точки для проверки и управления задачами: GET /v1/tasks (список), GET /v1/tasks/:id (опрос статуса/результата), POST /v1/tasks/:id/update (отправка inputResponses для пробуждения рабочего процесса) и POST /v1/tasks/:id/cancel (кооперативная отмена).

  • Интеграция фасадного MCP-сервера: Предоставлены инструменты task_get, task_update и task_cancel на фасадном MCP-сервере для прямой оркестрации агентами.

  • Подкоманды CLI для задач и флаг асинхронного выполнения: Добавлены warmplane tasks list, warmplane tasks get <id>, warmplane tasks update <id> -r '<json>', warmplane tasks cancel <id> и флаг --async-task для warmplane call-capability.

  • Стратегический анализ дорожной карты протокола MCP: Опубликован docs/MCP_ROADMAP_REPORT.md с анализом официальной дорожной карты MCP и архитектурного соответствия Warmplane в отношении безсостояний транспортов, маршрутизации без сессий и прогрессивного обнаружения возможностей.

v0.23.0 — Встроенный Rust-движок, панель управления в процессе и рефакторинг фасадного адаптера

  • Встроенный библиотечный Rust-движок в процессе (EmbeddedWarmplane, ControlPlaneHandle): Warmplane предоставлен как чистая библиотека в процессе без HTTP, дочернего процесса демона или накладных расходов на JSON-RPC сериализацию. Вызывающие стороны запускают движок непосредственно в своём собственном Tokio-рантайме через EmbeddedWarmplane::start(config) или EmbeddedWarmplane::start_from_path(path) и взаимодействуют через типизированные методы ControlPlaneHandle (list_capabilities, describe_capability, search_capabilities, call_capability, batch_call, read_resource, get_prompt, health_status).

  • Строго типизированные универсальные конверты и модели ошибок: Добавлены Envelope<T>, WarmplaneError, CapabilitySummary, CapabilityDetail, ExecutionOptions, ReadResourceOptions, GetPromptOptions и EngineHealthStatus в warmplane::engine::types, сохраняя структурированную диагностику (request_id, trace_id, retry, operator) для программной оркестрации.

  • Рефакторинг фасадного адаптера MCP Stdio-сервера: mcp_server.rs рефакторизован для делегирования всего выполнения вызовов инструментов, поиска, описаний, пакетного выполнения и диспетчеризации ресурсов/подсказок непосредственно в ControlPlaneHandle, устраняя дублирование логики и унифицируя конвейеры выполнения.

  • Набор интеграционных тестов встроенного движка: Добавлены выделенные интеграционные тесты в tests/embedded_tests.rs, покрывающие запуск встроенного жизненного цикла, обработку деградированных серверов, проверку состояния здоровья и корректную отмену.

v0.22.0 — Потоковый HTTP/SSE MCP-транспорт, интерактивный Playground и полировка интерфейса

  • Потоковый HTTP/SSE MCP-серверный транспорт (mcp-http-server): Созданы автономные и совместно размещённые с демоном HTTP/SSE MCP-серверные конечные точки (/mcp/sse, /mcp/messages), позволяющие удалённым AI-агентам и IDE (Cursor, Windsurf, Claude Desktop) подключаться через стандартные сети HTTP/SSE с автоматическими keep-alive и нулевым дрейфом клиента.

  • Совместное размещение с демоном и конфигурация (mcpHttpServer): Добавлена поддержка конфигурации первого класса (mcpHttpServer), обеспечивающая автоматическую фоновую инициализацию экземпляров HTTP/SSE MCP-сервера непосредственно рядом с основным демоном /v1 HTTP.

  • Ограничение профиля и обязательная аутентификация при привязке: Интегрировано ограничение профиля (profile) на MCP-серверном транспорте, строго изолирующее инструменты и ресурсы, доступные удалённым клиентам. Автоматически применяется аутентификация по bearer-токену при привязке к публичным не-loopback сетевым интерфейсам (0.0.0.0 / внешние IP).

  • Эргономика интерактивного MCP Playground: Добавлены вставка образцов шаблонов, динамическое переключение форматов, генерация аргументов на основе схемы и живая проверка параметров в веб-панели Control Deck MCP Playground.

  • Переходы интерфейса, проверки коллизий и полировка: Устранено дублирование заголовков страниц на вкладках панели, добавлены плавные CSS-переходы cubic-bezier, анимированные фоны модальных окон с поддержкой доступности prefers-reduced-motion, а также добавлены защитные проверки коллизий с автоматическим выводом уникальных идентификаторов серверов.

v0.21.0 — Именованные созвездия серверов (профили), жизненный цикл сигналов и экосистема интеграторов

  • Именованные созвездия серверов (профили): Добавлена первоклассная поддержка профилей (ProfileConfig), позволяющая группировать релевантные задаче подмножества вышестоящих MCP-серверов в именованные созвездия (например, coding, research, data_science).

  • Динамический выбор профиля и разделение ETag по профилям: Поддержано профильное ограничение области действия на уровне запроса через заголовки X-Warmplane-Profile и параметры запроса ?profile=. Конечные точки каталога (/v1/capabilities, /v1/resources, /v1/prompts) и поиска (/v1/capabilities/search) динамически исключают элементы за пределами активного профиля и поддерживают детерминированные ETag, разделённые по профилям (sha256:...-p:<profile_id>).

  • Фильтрация профилей в MCP-фасаде stdio: Добавлена опция CLI --profile <name> для warmplane mcp-server и warmplane list-capabilities, предоставляющая агентским хостам строго ограниченную поверхность MCP-инструментов и ресурсов.

  • Концентратор профилей в веб-панели управления: Добавлен интерактивный визуальный менеджер профилей в веб-интерфейсе панели управления с переключением активного созвездия в один клик, переключателями серверов и живой фильтрацией каталога.

  • Обработка сигналов и усиление завершения процессов: Интегрирована немедленная диспетчеризация tokio_util::sync::CancellationToken при SIGINT (Ctrl-C) / SIGTERM, разблокирован дренаж SSE-потоков, добавлена защита от осиротевших дочерних процессов через kill_on_drop(true), а также принудительный ограниченный тайм-аут безопасного завершения в 3 секунды.

  • Руководства для разработчиков и интеграторов: Опубликованы официальные Руководство для интеграторов Rust, Руководство для интеграторов TypeScript и Редакционная статья об архитектуре идемпотентности.

v0.20.0 — Многопользовательский RBAC и детерминированное разделение каталога

  • Многопользовательский движок RBAC (src/rbac): Создан движок управления доступом на основе ролей с поддержкой статических API-токенов, сопоставлений токен-роль в конфигурации (rbac.tokens) и криптографической проверки симметричных JWT-подписей HMAC-SHA256 с настраиваемым секретным ключом (rbac.jwt_secret).

  • Детерминированное разделение каталога и исключение области действия: Переработаны /v1/capabilities, /v1/resources, /v1/prompts и /v1/capabilities/search для динамической фильтрации элементов по роли вызывающего и действующей политике. Неавторизованные элементы полностью невидимы в списках каталога и поисковых запросах.

  • Внедрение контекста арендатора и аудит с неотказуемостью: Внедрён разрешённый TenantContext (tenant_id, role, actor_id, grant_id, effective_policy) в расширения запросов через промежуточное ПО RBAC-защиты (src/rbac/middleware.rs). Проверенные метаданные арендатора/исполнителя автоматически привязываются к событиям аудита WORM.

  • Переопределения ролевых политик и делегирование HITL: Поддержаны детальные определения ролей (RolePolicyConfig) с пользовательскими правилами allow, deny, require_approval и redact_keys, переопределяющими или пересекающимися с базовой системной политикой.

  • Набор интеграционных тестов: Добавлены выделенные интеграционные тесты RBAC (tests/rbac_integration.rs), покрывающие аутентификацию по токенам, фильтрацию поиска, изоляцию каталога, соблюдение границ политик и проверку многопользовательского аудита.

v0.19.0 — Делегированный клиенту MCP-сэмплинг, супервизорский цикл HTTP/SSE и усиление защиты

  • Делегированный клиенту MCP-сэмплинг (sampling/createMessage): Реализована обработка обратного RPC для делегированного клиенту завершения LLM (src/sampling.rs). Вышестоящие серверы или агенты отправляют запросы на сэмплинг, создавая отслеживаемые тикеты (samp_<timestamp>_<seq>) с синхронным длинным опросом или асинхронными конечными точками жизненного цикла (POST /v1/sampling/create_message, GET /v1/sampling/requests, GET /v1/sampling/requests/:id, POST /v1/sampling/requests/:id/respond).

  • Постоянное состояние сэмплинга: Добавлено атомарное, устойчивое к перезапуску дисковое хранилище (sampling.json) через AtomicFile<HashMap<String, PendingSamplingRequest>> с автоматическими задачами очистки по истечении срока действия.

  • Самовосстанавливающийся супервизор потокового HTTP/SSE: Удалённые HTTP/SSE MCP-серверы интегрированы в супервизорский цикл с автоматическим повторным подключением с экспоненциальной задержкой, согласованием каталога и отчётом о деградированном статусе при загрузке.

  • Усиление безопасности и защиты от DoS: Ограничено число кандидатов эмбеддингов для семантического векторного поиска до MAX_VECTOR_SEARCH_CANDIDATES = 250; ограничены запросы экспорта аудита до MAX_IN_MEMORY_AUDIT_EVENTS (20 000); введены проверки заголовка Host и Origin loopback для запросов OAuth-прокси.

  • CI-гейты и проверка типов TypeScript: Добавлена автоматическая проверка типов TypeScript (tsc --noEmit) в CI-конвейер веб-интерфейса, а триггеры push ограничены веткой main для устранения дублирующих запусков.

  • Прагматичное соответствие Rust: Достигнуто 100% соответствие во всех 51 исходных файлах со стандартными заголовками соответствия (// Rust guideline compliant YYYY-MM-DD).

v0.18.0 — Подсистема постоянного состояния, корректное завершение, автоматизация CI для UI и набор E2E-тестов

  • Подсистема постоянного состояния: Добавлено атомарное, устойчивое к перезапуску дисковое хранилище (AtomicFile<T> и StateDirectory) для ожидающих одобрения Human-in-the-Loop (approvals.json), записей идемпотентного выполнения (idempotency.json), OAuth2-токенов (oauth_tokens.json) и событий мутаций каталога (catalog_events.json). Добавлен блок state в McpConfig и команды CLI warmplane config state show/set.

  • Корректная обработка сигналов и завершение подсистем: Добавлен надёжный захват сигналов SIGINT (Ctrl+C) и SIGTERM на Unix и Windows, интегрировано корректное завершение HTTP-сервера, сброс асинхронного аудит-воркера (AuditWorkerMsg::FlushAndShutdown) и чистое завершение дочерних процессов stdio при выключении.

  • Прагматичное соответствие Rust: Достигнуто 100% соответствие во всех 51 исходных файлах со стандартными заголовками соответствия (// Rust guideline compliant YYYY-MM-DD).

  • Автоматизированная сборка веб-интерфейса в CI и гейт дрейфа: Интегрирован Bun в GitHub Actions CI (ci.yml) и конвейеры выпуска (release-artifacts.yml) с автоматическими шагами сборки и строгим обнаружением дрейфа через git diff --exit-code ui/dist/index.html.

  • Комплексный набор сквозных интеграционных тестов: Реализован выделенный E2E-тестовый каркас (tests/e2e_tests.rs), проверяющий рукопожатия протокола MCP stdio, живую потоковую передачу TCP SSE, горячую перезагрузку конфигурации, полные циклы мок-провайдера OAuth2 RFC 8414 с тихим обновлением токена при 401 и восстановление супервизора.

v0.17.0 — 360° MCP-обозреватель, визуальный конвейер пакетной обработки и пагинация WORM-аудита

  • Многофакторный поиск и пагинация WORM-аудита: Добавлен регистронезависимый поиск по подстроке в 11 полях метаданных, фильтры по статусу результата и серверу, пагинация с offset/limit (/v1/audit/events) и контекстно-зависимые экспорты CSV и JSONL (/v1/audit/export).

  • Обозреватель ресурсов MCP и живой просмотр содержимого: Добавлен браузер обнаружения ресурсов 360° с бейджами схем протоколов (file://, postgres://, github://, memory://, sqlite:// и т.д.), просмотрщиком метаданных/MIME и живым просмотром содержимого с поддержкой дистилляции контекста (_jsonpath, _limit_lines, _truncate_bytes).

  • Студия шаблонов промптов MCP: Добавлен просмотр динамических шаблонов промптов и генерация форм аргументов с бейджами валидации REQUIRED, отображающими разрешённые конверты системных/пользовательских промптов (/v1/prompts/get).

  • Отмена выполняющихся операций: Добавлены интерактивные элементы управления отменой выполнения в UI с живыми таймерами выполнения и мгновенной кооперативной отменой (POST /v1/operations/:id/cancel).

  • Визуальный конвейер многошаговой пакетной обработки: Добавлен интерактивный модальный редактор конвейеров для объединения инструментов в цепочки с интерполяцией переменных параметров (${steps[0].result.id}) и отказоустойчивостью на уровне узлов (POST /v1/tools/batch_call).

  • Синхронизация состояния в реальном времени через SSE: Поток /v1/resources/updates SSE подключён для автоматического обновления ресурсов, промптов и каналов каталога на панели управления.

v0.16.0 — Усиление корпоративной безопасности, криптографическая целостность аудита и устойчивость жизненного цикла

  • Аутентификация по API-токенам и защита промежуточным ПО: Добавлены параметр CLI --auth-token, поле конфигурации McpConfig.auth_token и поддержка переменной окружения WARMPLANE_AUTH_TOKEN для безопасной защиты конечных точек демона аутентификацией Bearer/X-Warmplane-Key.

  • Безопасность OAuth-прокси и маскирование секретов: Усилен слушатель OAuth-прокси проверкой Host и блокировкой межсайтовых браузерных запросов; секреты state и PKCE code_challenge маскируются в выводе журналов.

  • Криптографическая целостность WORM-аудита и HMAC-подпись: Все 20 сохраняемых полей метаданных включены в дайджесты хэш-цепочки (work_item_id, client_ip, resource_uri, execution_latency_us, error_message); добавлены вычисления ключевых дайджестов HMAC-SHA256 и создание контрольных точек для внешнего криптографического якорения.

  • Санация и редактирование секретов: Улучшено регистронезависимое сопоставление редактирования со встроенным списком чувствительных ключей по умолчанию (token, secret, password, key, authorization и т.д.); внешние события вебхуков HITL ограничены передачей только sanitized_args; секреты санируются перед выводом в командах CLI.

  • Координация супервизора и автоматических выключателей: Автоматический сброс автоматических выключателей при успешном переподключении супервизора; добавлены ограничения single-flight проб в состоянии HalfOpen автоматического выключателя; реализована экспоненциальная задержка перезапуска со скользящим окном 60 секунд; удаление исключённых элементов при согласовании каталога; очистка автоматических выключателей при отключении сервера.

  • Ограничения ресурсов и средства контроля безопасности: Введены бюджеты выполнения MAX_BATCH_STEPS = 50 и DEFAULT_BATCH_TIMEOUT_MS = 60_000; ограничено расширение вывода подстановочных JSONPath до 10 000 элементов и результатов поиска до 100; возвращаются POLICY_DENIED (HTTP 403) и 404 для отмены неизвестных операций; санируются CSV-экспорты аудита от инъекций формул.

  • Гейты качества CI и аудит зависимостей: Интегрировано нативное сканирование cargo-audit в GitHub Actions CI; обновлены зависимости с устранением всех зарегистрированных предупреждений.

  • Флаг версии CLI: Включены стандартные флаги --version и -V в парсере бинарного файла warmplane.

v0.15.0 — Отказоустойчивость, устойчивость загрузки и паритет функций панели управления

  • Устойчивость загрузки и деградированный запуск: Корректный запуск демона при сбое или тайм-ауте вышестоящих серверов (таких как Docker, удалённые конечные точки SSE или не настроенные инструменты). Сбойные серверы помечаются как degraded без падения демона или блокировки других работоспособных вышестоящих серверов.

  • Супервизор процессов и автоматические выключатели: Автоматические выключатели на уровне сервера и глобальные (failureThreshold, cooldownMs, autoRestart, maxRestarts) с отслеживанием состояния (CLOSED, OPEN, HALF-OPEN) и супервизией перезапуска с экспоненциальной задержкой.

  • Полный паритет функций веб-интерфейса:

    • Концентратор серверов: рабочий процесс редактирования карточки сервера (✏️ Edit), живые бейджи телеметрии автоматических выключателей и индикаторы устойчивости сервера.

    • Мастер шаблонов: аккордеон конфигурации отказоустойчивости и супервизора непосредственно внутри настройки сервера в один клик.

    • Интерактивная игровая площадка: элементы управления дистилляцией контекста (_jsonpath, _limit_lines, _truncate_bytes) и измерения задержки выполнения.

    • Адаптивные обзорные карточки Bento-Grid с точками состояния здоровья в реальном времени (connected 🟢, degraded 🟡, error 🔴).

  • Конфигурация устойчивости в CLI: warmplane config resilience set и warmplane config resilience show для управления автоматическими выключателями без графического интерфейса.

v0.14.0 — Набор обогащения агентов: поиск в фасаде, дистилляция контекста и многошаговая пакетная обработка

  • Гибридный поиск в MCP-фасаде: Инструмент capability_search доступен через MCP-фасад stdio с фильтрами по ключевым словам, тегам, ID сервера и режиму выполнения.

  • Дистилляция и усечение контекста: Добавлены модификаторы _jsonpath, _limit_lines и _truncate_bytes к /v1/tools/call и capability_call для защиты контекстных окон LLM от чрезмерно больших выходных данных.

  • Многошаговые цепочечные пакетные вызовы: Добавлены POST /v1/tools/batch_call и capabilities_batch_call для зависимых выполнений инструментов за один цикл с интерполяцией ссылок $step.field.

v0.13.0 — Движок одобрения Human-in-the-Loop (HITL) и подписанные вебхуки

  • Перехватчик утверждений: Приостановка на основе политik для вызовов чувствительных возможностей (requireApproval).

  • Операторский REST API: Эндпоинты для списка (/в1/approvals), просмотра, утверждения с изменёнными аргументами (/в1/approvals/:id/approve) или отклонения (/в1/approvals/:id/reject).

  • Подписанные HMac-вебхуки: Отправка вебхуков в реальном времени с заголовками подписи SHA-256 HMac по событиям жизненного цикла утверждений.

  • Настраиваемое истечение TTL: Автоматическое истечение тайм-аута (approvalTimeoutSecs) с возвратом структурированных конвертов отмены.

v0.12.0 — Криптографический WORM-журнал аудита и стриминг в SIEM

  • Линейная хеш-цепочка SHA-256 с режимом append-only, покрывающая события выполнения инструментов и принятия решений HITL.

  • Эндпоинты проверки и экспорта аудита (/в1/audit/...), приём в Splunk HEC и через универсальные вебхуки.

v0.11.0 — Веб-интерфейс Control Deck и динамikческая горячая перезагрузка апстримов

  • Веб-интерфейс Control Deck: Встроенная веб-панель без зависимостей по адресам /uи и / с телеметрией в реальном времени, менеджером серверов, интерактивной песочницей инструментов, менеджером полitik/редактирования и реестром псевдонимов.

  • Динамическое монтирование апстримов без простоев: Динамическое подключение и отключение апстрим-воркеров stdio, HTTP и OAuth2 через REST/UI/CLI без перезапуска процесса демона.

  • Динамические каталоги и ETags: Потокобезопасное управление состоянием с автоматическим пересчётом ETag по SHA256 и SSE-уведомлениями о ресурсах при изменениях сервера.

  • Явная горячая перезагрузка конфигурации: Добавлена команда CLI warmplane reload и эндпоинт POST /в1/config/reload для аккуратного согласования in-memory воркеров с ручными изменениями в mcp_servers.json.

v0.10.0 — Управление конфигурацией через CLI и импортёры экосистем

  • Добавлены команды warmplane server (add, removе, list, get, test) с интерактивными мастерами inquire и автоматизацией в режиме headless на основе флагов.

  • Добавлены команды warmplane config (init, show, import, alias, policy) для безопасных, транзакционных изменений конфигурации.

  • Добавлены автоматическое обнаружение и импорт из настроек Claude Desktop, Cursor и Zed.

  • Добавлена атомарная запись файлов конфигурации (fs::rename) для предотвращения повреждения JSON.

v0.9.0 — Соотвествие специикации MCP 2026-07-28, MRTR и подписки

  • Выполнено обновление до оициального MCP Rust SDK rmcp 3.1.2 и reqwest 0.13.

  • Установлена версия протокола по умолчанию "2026-07-28" с обратной совместимостью для "2025-11-25".

  • Добавлена поддержка Multi Round-Trip Requests (MRTR) (input_responses и request_state) в HTTP REST, stdio-фасаде и апстрим-воркерах.

  • Добавлены подсказки кэша (ttl_ms: 300000, cache_scope: "public") и детерминированная алфавитная сортировка в списках каталога.

  • Добавлен инструмент subscriptions_listen в stdio-фасад и SSE-поток /в1/resources/updates для уведомлений в реальном времени.

  • Подтверждена проверка iss в колбэках по RFC 9207 / SEP-2468 для потоков OAuth 2.0.

v0.8.0 — Семантические векторные эмбеддинги и конвейер FastEmbed ONNX

  • Интегрирован конвейер эмбеддингов FastEmbed ONNX с плотным косинусным сходством векторов под опциональным флагом --features semantic-search.

  • Гибридное слияние по взаимному рангу (reciprocal rank fusion), объединяющее BM25-соотвествие по ключевым словам и поиск по плотным векторам.

v0.7.0 — Прагматичная модернизация Rust и паттерны строителей

Полное внедрение рекомендаций Microsoft Pragmatic Rust Guidelines (AGENTS.md). Реализован паттерн Builder Pattern (M-INIT-BUILDER) для основного состояния (AppStateBuilder), фильтров поиска (SearchFilterBuilder) и контекста запроса (RequestContextBuilder). Улучшены безопасность при ошибках (M-PANIC-IS-STOP), структурированное логирование (M-LOG-STRUCTURED), каноническая докуентация (M-CANONICAL-DOCS) и гибкая совместимость трейтов (M-IMPL-ASREF).

v0.6.0 — Идемпотентность, отмена и метаданные повторов

Передавайте Idempotency-Key / X-Idempotency-Key для дедупликации конкурентных вызовов инструментов. Прерывайте любой выпоняющийся запрос через эндпоинт отмены или CLI. Каждый конверт ответа теперь включает структурированные метаданные "retry" (classification + state) для логики повторов с учётом оркестратора.

v0.5.0 — Контекст запроса и корреляция

Структурированный RequestContext (operation_id, work_item_id, actor_id, grant_id) проходит через все конверты выполнения и спэны трассировки. Запасной вариант через HTTP-заголовки (X-Request-ID, X-Operation-ID, X-Actor-ID, X-Grant-ID).

v0.4.0 — Версионирование каталога и проверка кэша

Версия каталога SHA-256. Заголовки ETag при всех чтениях каталога, условные запросы If-None-Match возвращают 304 Not Modified. Лента изменений GET /v1/catalog/events с курсорной пагинацией.

v0.3.0 — Гибридный поиск

POST /v1/capabilities/search с BM25-оценкой, опциональными векторными эмбеддингами FastEmbed, фильтрами по тегам/ID серверов и ранжированными результатами. POST /v1/capabilities/search с BM25-оценкой, опциональными векторными эмбеддингами FastEmbed, фильтрами по тегам/ID серверов и ранжированными результатами.


Документация

Документ

Описание

docs/USER-GUIDE.md

Полное руководство по использованию: конфигурация, режимы, все команды CLI, аутентификация, политики

docs/PERFORMANCE.md

Методология бенчмарков, процентили задержек и результаты профилирования

docs/openapi.yaml

Спецификация OpenAPI 3.1

docs/config.chema.json

JSON-схема для mcp_servers.json

docs/OBSERVABILITY.md

Структурированные логи, конфигурация OTLP, корреляция трассировок

docs/INSTALL.md

Варианты сборки, заметки о распространеии

docs/DEPLOYMENT.md

Руководство по развёртыванию в продакшене

Maintenance

ActivityMaintained
ResponsivenessWithin a week

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables unified access to multiple MCP backend servers through one local daemon, with curated per-client tool profiles, allow/deny policies, audit logging, and drift protection.
    32 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Aggregates many MCP servers behind one local endpoint with namespaced tools, profiles, policy, budgets, audit logs, and a dashboard over stdio or HTTP.
    32 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables connecting to and managing multiple backend MCP resource servers while routing tool and resource requests to the appropriate server and exposing their combined capabilities through a unified SSE, Streamable HTTP, or Stdio interface.
    105 npm
    MIT