warmplane
OfficialWarmplane
Контроль безопасности:
Локальная панель управления, которая поддерживает 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-search2. Настройка вышестоящих серверов
Управляйте серверами в интерактивном режиме или импортируйте из существующих инструментов:
# 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.jsonRelated MCP server: mcp-gateway
Режимы запуска
Все три режима используют одно и то же внутреннее состояние, алиасы, проверки политик и поведение тайм-аутов.
HTTP-демон
warmplane daemon --config mcp_servers.json
# Serves /v1/... on the configured port (default 9090)Ключевые конечные точки:
Метод | Путь | Описание |
|
| Компактный индекс возможностей |
|
| Гибридный лексический и семантический поиск |
|
| Нормализованная обёртка выполнения (поддерживает ключи идемпотентности, |
|
| Цепочное многошаговое выполнение с интерполяцией ссылок |
|
| Список кэшированных записей идемпотентного выполнения и счётчиков повторов |
|
| Просмотр одной кэшированной записи идемпотентности |
|
| Индекс ресурсов |
|
| Прочитать ресурс |
|
| Индекс промптов |
|
| Отрендерить промпт |
|
| Лента событий изменений каталога |
|
| Отменить выполняющуюся операцию |
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 | Официальная поддержка |
Идемпотентность ровно один раз и журнал повторов | v0.23.0 | Детерминированное автоматическое создание ключей ( |
Встраиваемый библиотечный движок на Rust | v0.23.0 | Прямой внутрипроцессный библиотечный интерфейс ( |
Режим MCP-сервера HTTP/SSE | v0.22.0 | Потоковый MCP-сервер HTTP/SSE ( |
Обработка сигналов и корректное завершение работы | v0.21.0 | Немедленная отмена по сигналу ( |
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 | Некритичная возможность |
Встроенный Rust-движок в процессе | v0.23.0 |
|
Потоковый HTTP/SSE MCP-транспорт | v0.22.0 | Совместно размещённый MCP-транспорт |
Именованные созвездия серверов | v0.21.0 | Группировка профилей ( |
Многопользовательский RBAC | v0.20.0 | Доступ на основе ролей, детерминированное разделение каталога, распространение контекста арендатора |
Делегированная выборка MCP-семплов | v0.19.0 | Обратный RPC-сэмплинг ( |
Подсистема постоянного состояния | v0.18.0 | Атомарное устойчивое к перезапуску дисковое хранилище ( |
Корректное завершение работы и сигналы | v0.18.0 | Надёжная обработка |
MCP-студия ресурсов и подсказок | v0.17.0 | Обозреватель ресурсов на 360°, рендерер шаблонов подсказок с динамическими формами и синхронизация через SSE |
Многошаговые пакетные конвейеры | v0.17.0 | Визуальный редактор конвейеров с интерполяцией ссылочных параметров ( |
Корпоративная безопасность и аутентификация | v0.16.0 | Защита промежуточного ПО на основе токенов, проверка HMAC аудита WORM и маскирование секретов |
Отказоустойчивость и супервизия | v0.15.0 | Деградированный запуск, автоматические выключатели на сервер, супервизия перезапуска с экспоненциальной задержкой |
Набор обогащения агентов | v0.14.0 | Фасадный поиск, дистилляция контекста ( |
Механизм утверждения HITL | v0.13.0 | Механизм утверждения оператором, приостановка, редактирование аргументов и отправка вебхуков HMAC |
Аудит WORM и SIEM | v0.12.0 | Добавляемый только в конец журнал аудита с SHA-256 хэш-цепочкой, API проверки и экспорт в Splunk/Webhook SIEM |
Веб-интерфейс Control Deck | v0.11.0 | Автономная встроенная веб-панель для серверов, тестовый полигон, политики и телеметрия |
Динамическая горячая перезагрузка | v0.11.0 | Монтирование/размонтирование вышестоящих серверов без простоя, явные |
Журнал изменений
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", встраиваяinputRequestsMRTR.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-сервера непосредственно рядом с основным демоном/v1HTTP.Ограничение профиля и обязательная аутентификация при привязке: Интегрировано ограничение профиля (
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и команды CLIwarmplane 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/updatesSSE подключён для автоматического обновления ресурсов, промптов и каналов каталога на панели управления.
v0.16.0 — Усиление корпоративной безопасности, криптографическая целостность аудита и устойчивость жизненного цикла
Аутентификация по API-токенам и защита промежуточным ПО: Добавлены параметр CLI
--auth-token, поле конфигурацииMcpConfig.auth_tokenи поддержка переменной окруженияWARMPLANE_AUTH_TOKENдля безопасной защиты конечных точек демона аутентификацией Bearer/X-Warmplane-Key.Безопасность OAuth-прокси и маскирование секретов: Усилен слушатель OAuth-прокси проверкой Host и блокировкой межсайтовых браузерных запросов; секреты
stateи PKCEcode_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 серверов и ранжированными результатами.
Документация
Документ | Описание |
Полное руководство по использованию: конфигурация, режимы, все команды CLI, аутентификация, политики | |
Методология бенчмарков, процентили задержек и результаты профилирования | |
Спецификация OpenAPI 3.1 | |
JSON-схема для | |
Структурированные логи, конфигурация OTLP, корреляция трассировок | |
Варианты сборки, заметки о распространеии | |
Руководство по развёртыванию в продакшене |
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
Governed MCP gateway: one endpoint for your tools, with credential custody and audit log.
Stateless MCP gateway and OTel span-streaming bridge for hosted MCP servers.
Toolstile is a managed MCP gateway that connects remote MCP servers behind one endpoint, with per-agent permissions, shared accounts and activity logs. Connect at https://mcp.toolstile.com/mcp over Streamable HTTP with OAuth; sign in at https://toolstile.com, select a workspace and connect your upstream servers. Available tools, resources and prompts depend on that workspace and the agent's granted access.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceServes as a single local MCP entry point that proxies configured upstream MCP tools to multiple coding agents, keeps sessions warm, serializes exclusive services, and provides SQLite-backed task, lock, and memory tools.MIT
- AlicenseNot gradedqualityBmaintenanceEnables 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 npm1MIT
- AlicenseNot gradedqualityBmaintenanceAggregates many MCP servers behind one local endpoint with namespaced tools, profiles, policy, budgets, audit logs, and a dashboard over stdio or HTTP.32 npm1MIT
- AlicenseNot gradedqualityAmaintenanceEnables 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 npmMIT