Skip to main content
Glama
Warmplane

warmplane

Official
by Warmplane

Warmplane

Latest Release crates.io docs.rs License: MIT Rust Guideline Checks Security Audit

Controles de seguridad: WORM + HMAC audit HITL + policy OAuth2 + PKCE Secret redaction SIEM + OTLP

El plano de control local que mantiene las sesiones MCP activas con fachadas compactas de capacidades, recursos y avisos.

v0.25.2 — Registro de cambios · Guía de usuario · Rendimiento · Documento técnico · OpenAPI

Warmplane ejecuta múltiples servidores MCP ascendentes detrás de un único proceso local, mantiene esas sesiones persistentes y expone una superficie compacta y consciente de políticas para herramientas, recursos y avisos, accesible a través de HTTP, CLI y clientes nativos de MCP.


Inicio rápido

1. Instalación

Usando Homebrew (macOS y Linux):

brew tap warmplane/tap
brew install warmplane

O mediante Cargo:

cargo install warmplane

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

O desde el código fuente:

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

2. Configurar servidores ascendentes

Gestione servidores de forma interactiva o impórtelos desde herramientas existentes:

# 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

O cree manualmente 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. Validar y luego iniciar

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

Related MCP server: MCP Server Proxy

Modos de ejecución

Los tres modos comparten el mismo estado de backend, alias, comprobaciones de políticas y comportamiento de tiempo de espera.

Daemon HTTP

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

Puntos finales clave:

Método

Ruta

Descripción

GET

/v1/capabilities

Índice compacto de capacidades

POST

/v1/capabilities/search

Búsqueda híbrida léxica + semántica

POST

/v1/tools/call

Envoltorio de ejecución normalizado (admite claves de idempotencia, _jsonpath, _limit_lines, _truncate_bytes)

POST

/v1/tools/batch_call

Ejecución encadenada de múltiples pasos con interpolación de referencias $step.field

GET

/v1/idempotency/records

Lista los registros de ejecución de idempotencia en caché y los recuentos de reproducción

GET

/v1/idempotency/records/:key

Inspecciona un único registro de idempotencia en caché

GET

/v1/resources

Índice de recursos

POST

/v1/resources/read

Leer recurso

GET

/v1/prompts

Índice de avisos

POST

/v1/prompts/get

Renderizar aviso

GET

/v1/catalog/events

Flujo de eventos de cambio de catálogo

POST

/v1/operations/:id/cancel

Cancelar una operación en curso

Servidor MCP (stdio)

warmplane mcp-server --config mcp_servers.json

Apunte cualquier cliente nativo de MCP a este proceso. Expone herramientas de fachada ligeras (capabilities_list, capability_search, capability_describe, capability_call, capabilities_batch_call, resource_read, prompt_get, …) junto con métodos nativos resources/* y prompts/*.

Configuración de Claude Desktop / Cursor:

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

Servidor MCP (HTTP/SSE)

Expone la misma fachada sobre HTTP/SSE transmisible para que clientes remotos (pipelines de CI, clústeres de agentes multihost o clientes de escritorio remotos) puedan conectarse sin un proceso local:

# 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

Conéctese desde cualquier cliente HTTP de MCP:

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

Alternativamente, agregue un bloque mcpHttpServer a mcp_servers.json y el daemon alojará ambos servidores en un solo proceso:

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

Consulte §4.7 de la Guía de usuario para la referencia completa de configuración.

Operaciones y configuración de 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

Aspectos destacados de rendimiento

Warmplane está diseñado con abstracciones de costo cero en Rust puro, manteniendo los bucles de agentes ágiles:

  • 50.4 ns Validación de caché ETag (If-None-Match $\rightarrow$ 304 Not Modified)

  • 159.8 ns Deduplicación de aciertos de caché idempotente

  • 1.58 µs Hash de versión de catálogo incremental SHA-256 ($N=10$)

  • 15.9 µs Búsqueda de capacidades híbrida filtrada ($N=50$)

  • 372.1 µs Búsqueda de etiquetas léxicas en memoria sin asignación en 1,000 herramientas

👉 Consulte los puntos de referencia completos y la metodología de perfilado en docs/PERFORMANCE.md.


Resumen de características

Característica

Desde

Resumen

Extensión de tareas SEP-2663 y HITL unificado

v0.24.0

Soporte oficial de io.modelcontextprotocol/tasks con máquina de estados atómica, ejecución asíncrona de herramientas de larga duración (202 Accepted + resultType: "task"), cancelación cooperativa (POST /v1/tasks/:id/cancel), gestión de caducidad TTL y suspensión unificada de Human-in-the-Loop (HITL) y resolución de argumentos

Idempotencia exactamente una vez y libro de reproducción

v0.23.0

Derivación determinista de claves automáticas (idk_<sha256>), caché de encabezado X-Warmplane-Deduplicated: true, seguimiento de recuento de reproducción, rastro de auditoría WORM vinculado (idempotency_key, is_replay) y API de inspección /v1/idempotency/records

Motor de biblioteca Rust integrado

v0.23.0

Interfaz de biblioteca directa en proceso (EmbeddedWarmplane, ControlPlaneHandle) con envoltorios de respuesta fuertemente tipados (Envelope<T>), ejecución directa de herramientas/recursos/avisos y cancelación elegante en el runtime Tokio del llamador

Modo de servidor MCP HTTP/SSE

v0.22.0

Servidor MCP HTTP/SSE transmisible (mcp-http-server) para clientes de red remotos; alojamiento conjunto del daemon mediante bloque de configuración mcpHttpServer; restricción de perfil, aplicación de autenticación en enlaces no loopback, apagado elegante de estado compartido

Manejo de señales y apagado elegante

v0.21.0

Cancelación inmediata de señales (CancellationToken), terminación instantánea de flujos SSE, protección limpia de huérfanos de stdio (kill_on_drop) y tiempos de espera de drenaje acotados

3. Ejecutar y conectar

# 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

Capacidades principales

Capacidad

Versión

Descripción

Control Deck Tasks & HITL UI

v0.25.0

Centro de Tasks y Approvals en vivo, formularios de resolución de entradas MRTR, conmutador asíncrono del Playground y API de tareas integrada

SEP-2663 Tasks Extension

v0.24.0

Capacidad no bloqueante io.modelcontextprotocol/tasks, máquina de estados HITL unificada, comandos REST y CLI

In-Process Embedded Rust Engine

v0.23.0

EmbeddedWarmplane y ControlPlaneHandle para integración de biblioteca con cero sobrecarga

Streamable HTTP/SSE MCP Transport

v0.22.0

Transporte MCP /mcp/sse co-alojado para la conectividad de agentes remotos

Named Server Constellations

v0.21.0

Agrupación de perfiles (profiles) con particionado de ETag por ámbito y filtrado stdio

Multi-Tenant RBAC

v0.20.0

Acceso mediante tokens basado en roles, particionado determinista del catálogo, propagación del contexto de inquilino

Client-Delegated MCP Sampling

v0.19.0

Muestreo RPC inverso (sampling/createMessage) con seguimiento de tickets y long-polling

Persistent State Subsystem

v0.18.0

Almacenamiento en disco atómico y resistente a reinicios (AtomicFile<T>) para aprobaciones, idempotencia y tokens OAuth2

Graceful Shutdown & Signals

v0.18.0

Manejo robusto de SIGINT/SIGTERM, vaciado asíncrono de workers, prevención de procesos hijos huérfanos

MCP Resource & Prompt Studio

v0.17.0

Explorador de recursos de 360°, renderizador de plantillas de prompts con formularios dinámicos y sincronización SSE

Multi-Step Batch Pipelines

v0.17.0

Editor visual de pipelines con interpolación de parámetros por referencia (POST /v1/tools/batch_call)

Enterprise Security & Auth

v0.16.0

Protección de middleware basada en tokens, verificación HMAC de auditoría WORM y enmascaramiento de secretos

Fault Tolerance & Supervision

v0.15.0

Arranque degradado, interruptores de circuito por servidor, supervisión de reinicio con backoff exponencial

Agent Enrichment Suite

v0.14.0

Búsqueda de fachada, destilación de contexto (_jsonpath/_limit_lines) y ejecución por lotes de varios pasos

HITL Approval Engine

v0.13.0

Motor de aprobación con puerta de operador, suspensión, edición de argumentos y despacho de webhooks HMAC

WORM Audit & SIEM

v0.12.0

Registro de auditoría de solo anexión encadenado por hash SHA-256, API de verificación y exportación SIEM a Splunk/Webhook

Control Deck Web UI

v0.11.0

Panel web embebido independiente para servidores, playground de pruebas, políticas y telemetría

Dynamic Hot-Reloading

v0.11.0

Montaje/desmontaje ascendente sin tiempo de inactividad, warmplane reload explícito y /v1/config/reload


Registro de cambios

v0.25.2 — Empaquetado de bundles MCPB y pipeline del registro MCP oficial

  • Formato de distribución MCPB (packaging/mcpb/, .github/workflows/release-artifacts.yml): Se añadió la compilación y el empaquetado automatizados de Model Context Protocol Bundles específicos de plataforma (.mcpb) que contienen binarios independientes, configuraciones de arranque y manifiestos estandarizados (manifest_version: "0.3").

  • Metadatos oficiales del registro MCP (server.json): Los flujos de trabajo de publicación ahora generan automáticamente metadatos de registro canónicos que cumplen con la especificación oficial server.schema.json (io.github.warmplane/warmplane) con resúmenes SHA-256 de paquetes multiarquitectura.

  • Homebrew Tap (Warmplane/homebrew-tap): Se configuró la distribución oficial del tap con fórmulas precompiladas para macOS y Linux (brew tap warmplane/tap && brew install warmplane).

v0.25.1 — Corrección de la máquina de estados de finalización de tareas asíncronas

  • Finalización de tareas asíncronas (src/engine/mod.rs, src/http_v1/execute.rs): Se resolvió una regresión por la cual las ejecuciones de capacidades asíncronas (async_task: true o Prefer: respond-async) y las tareas reanudadas tras respuestas de entrada Human-in-the-Loop (HITL) permanecían indefinidamente en TaskStatus::Working. Los workers en segundo plano ahora registran de forma fiable el estado terminal (TaskStatus::Completed con result, o TaskStatus::Failed con error estructurado) directamente en TaskRegistry.

  • Pruebas de ciclo de vida de tareas integradas (tests/embedded_tests.rs, tests/tasks_tests.rs): Se añadieron pruebas de integración automatizadas exhaustivas que verifican que get_task y list_tasks observan el estado terminal completed con la carga útil ascendente tras el envío de aprobaciones y llamadas asíncronas directas.

v0.25.0 — Tasks y UI HITL del Control Deck, API de tareas integradas en proceso

  • Centro de Tasks y Approvals del Control Deck (ui/src/components/tasks.ts): Se actualizó la cola de revisión para convertirla en un panel unificado de Tasks y Approvals (data-tab="tasks") con KPIs de estado en vivo (input_required, working, completed, cancelled/failed), tarjetas de acción interactivas con formularios de resolución de entradas MRTR incrustados (booleanos, editores JSON, campos de texto), temporizadores de cuenta regresiva TTL y controles de cancelación cooperativa.

  • Modo de ejecución asíncrona del Playground MCP: Se añadió el conmutador "⚡ Async Task Mode" en el playground de pruebas de herramientas y una vista previa interactiva de tarjeta de tarea 202 Accepted con navegación en 1 clic al panel de revisión de Tasks y Approvals.

  • API de gestión de tareas en Rust integrada (ControlPlaneHandle): Se expusieron métodos directos de gestión de tareas en el ControlPlaneHandle en proceso (list_tasks, get_task, update_task, cancel_task), lo que permite a las aplicaciones embebidas gestionar tareas asíncronas SEP-2663 sin la sobrecarga de serialización HTTP o JSON-RPC.

  • Integración del Overview Cockpit y las insignias: Se añadió la tarjeta de telemetría "Tasks & HITL State" en el Overview Cockpit y se vincularon las insignias de la barra lateral en tiempo real a las tareas pendientes input_required.

v0.24.0 — Extensión de tareas SEP-2663, ejecución HITL unificada y alineación con la hoja de ruta de MCP

  • Implementación de la extensión de tareas SEP-2663 (src/tasks.rs): Se implementó la capacidad oficial io.modelcontextprotocol/tasks con almacenamiento persistente atómico (tasks.json), detección segura de caducidad TTL y canales de respuesta de entrada oneshot (TaskWaitSender / TaskWaitReceiver).

  • Máquina de estados unificada de aprobaciones HITL y tareas asíncronas: Se unificaron los flujos de trabajo de aprobación Human-in-the-Loop y las ejecuciones asíncronas de herramientas directamente sobre el ciclo de vida SEP-2663. Las ejecuciones de herramientas que requieren aprobación mediante puerta de operador o que se solicitan con async_task: true / Prefer: respond-async devuelven 202 Accepted con resultType: "task" y status: "input_required", incluyendo los inputRequests MRTR.

  • API REST HTTP de tareas (/v1/tasks/*): Se añadieron endpoints REST completos para la inspección y el control de tareas: GET /v1/tasks (listar), GET /v1/tasks/:id (consultar estado/resultado), POST /v1/tasks/:id/update (enviar inputResponses para despertar al worker) y POST /v1/tasks/:id/cancel (cancelación cooperativa).

  • Integración del servidor de fachada MCP: Se expusieron las herramientas task_get, task_update y task_cancel en el servidor de fachada MCP para la orquestación directa de agentes.

  • Subcomandos de tareas de la CLI y flag de ejecución asíncrona: Se añadieron warmplane tasks list, warmplane tasks get <id>, warmplane tasks update <id> -r '<json>', warmplane tasks cancel <id> y el flag --async-task a warmplane call-capability.

  • Análisis estratégico de la hoja de ruta del protocolo MCP: Se publicó docs/MCP_ROADMAP_REPORT.md que analiza la hoja de ruta oficial de MCP y la alineación arquitectónica de Warmplane en transportes sin estado, enrutamiento sin sesiones y descubrimiento progresivo de capacidades.

v0.23.0 — Motor Rust integrado, plano de control en proceso y refactorización del adaptador de fachada

  • Biblioteca de motor Rust integrada en proceso (EmbeddedWarmplane, ControlPlaneHandle): Se expuso Warmplane como una biblioteca puramente en proceso, sin la sobrecarga de HTTP, proceso hijo daemon o serialización JSON-RPC. Los llamadores inician el motor directamente en su propio runtime de Tokio mediante EmbeddedWarmplane::start(config) o EmbeddedWarmplane::start_from_path(path) e interactúan a través de los métodos tipados de ControlPlaneHandle (list_capabilities, describe_capability, search_capabilities, call_capability, batch_call, read_resource, get_prompt, health_status).

  • Envoltorios genéricos fuertemente tipados y modelos de error: Se añadieron Envelope<T>, WarmplaneError, CapabilitySummary, CapabilityDetail, ExecutionOptions, ReadResourceOptions, GetPromptOptions y EngineHealthStatus en warmplane::engine::types, preservando diagnósticos estructurados (request_id, trace_id, retry, operator) para la orquestación programática.

  • Refactorización del adaptador de fachada del servidor MCP Stdio: Se refactorizó mcp_server.rs para delegar toda la ejecución de llamadas a herramientas, búsqueda, descripciones, ejecución por lotes y despacho de recursos/prompts directamente a ControlPlaneHandle, eliminando la lógica duplicada y unificando los pipelines de ejecución.

  • Suite de pruebas de integración del motor integrado: Se añadieron pruebas de integración dedicadas en tests/embedded_tests.rs que cubren el inicio del ciclo de vida integrado, el manejo de servidores degradados, la inspección del estado de salud y la cancelación ordenada.

v0.22.0 — Transporte MCP HTTP/SSE transmisible, Playground interactivo y pulido de la UI

  • Transporte de servidor MCP HTTP/SSE transmisible (mcp-http-server): Se construyeron endpoints de servidor MCP HTTP/SSE independientes y co-alojados con el daemon (/mcp/sse, /mcp/messages), lo que permite a agentes de IA remotos e IDEs (Cursor, Windsurf, Claude Desktop) conectarse a través de redes HTTP/SSE estándar con keep-alives automáticos y cero deriva del cliente.

  • Co-alojamiento y configuración con el daemon (mcpHttpServer): Se añadió soporte de configuración de primera clase (mcpHttpServer) que permite la inicialización automática en segundo plano de instancias del servidor MCP HTTP/SSE directamente junto al daemon HTTP /v1 principal.

  • Restricción de perfil y puerta de autenticación vinculada: Se integró la restricción de perfil (profile) en el transporte del servidor MCP, aislando estrictamente las herramientas y los recursos expuestos a clientes remotos. Se aplicó automáticamente la autenticación mediante token bearer al enlazar a interfaces de red públicas no loopback (0.0.0.0 / IPs externas).

  • Ergonomía del Playground MCP interactivo: Se añadieron inyección de plantillas de ejemplo, cambio dinámico de formato, generación de argumentos basada en esquemas y validación de parámetros en vivo en el Playground MCP del Web Control Deck.

  • Transiciones de UI, comprobaciones de colisión y pulido: Se deduplicaron los encabezados de página en las pestañas del panel, se introdujeron transiciones CSS cubic-bezier muy fluidas, fondos modales animados con soporte de accesibilidad prefers-reduced-motion y se añadieron protecciones contra colisiones con derivación automática de ID de servidor único.

v0.21.0 — Constelaciones de servidores con nombre (perfiles), ciclo de vida de señales y ecosistema de integradores

  • Constelaciones de servidores con nombre (Perfiles): Se añadió soporte de perfiles de primera clase (ProfileConfig) que permite agrupar subconjuntos de servidores MCP ascendentes relevantes para una tarea en constelaciones con nombre (p. ej. coding, research, data_science).

  • Selección dinámica de perfiles y partición de ETags con ámbito: Se añadió soporte de ámbito de perfil por solicitud mediante cabeceras X-Warmplane-Profile y parámetros de consulta ?profile=. Los endpoints de catálogo (/v1/capabilities, /v1/resources, /v1/prompts) y la búsqueda (/v1/capabilities/search) eliminan dinámicamente los elementos fuera del perfil activo y mantienen ETags deterministas particionados por perfil (sha256:...-p:<profile_id>).

  • Filtrado de perfiles stdio de la fachada MCP: Se añadió la opción CLI --profile <name> a warmplane mcp-server y warmplane list-capabilities, proporcionando a los hosts de agentes una superficie de herramientas y recursos MCP estrictamente limitada.

  • Centro de perfiles del Web Control Deck: Se añadió un gestor visual interactivo de perfiles en el panel de la interfaz web con cambio de constelación activa en 1 clic, alternancia de servidores y filtrado de catálogo en vivo.

  • Manejo de señales y refuerzo del cierre de procesos: Se integró el envío inmediato de tokio_util::sync::CancellationToken en SIGINT (Ctrl-C) / SIGTERM, se desbloqueó el vaciado del flujo SSE, se añadió prevención de procesos huérfanos mediante kill_on_drop(true) y se aplicó un tiempo de espera de cierre de seguridad acotado de 3 segundos.

  • Guías para el ecosistema de desarrolladores e integradores: Se publicaron la Guía oficial para integradores de Rust, la Guía para integradores de TypeScript y el Editorial sobre la arquitectura de idempotencia.

  • Motor RBAC multiinquilino (src/rbac): Se construyó un motor de control de acceso basado en roles compatible con tokens API estáticos, asignaciones de token a rol en la configuración (rbac.tokens) y verificación de firma JWT simétrica HMAC-SHA256 criptográfica con clave secreta configurable (rbac.jwt_secret).

  • Partición determinista del catálogo y poda por ámbito: Se reestructuraron /v1/capabilities, /v1/resources, /v1/prompts y /v1/capabilities/search para filtrar dinámicamente los elementos según el rol del llamador y la política efectiva. Los elementos no autorizados son completamente invisibles en los listados de catálogo y las consultas de búsqueda.

  • Inyección de contexto de inquilino y auditoría de no repudio: Se inyectó TenantContext resuelto (tenant_id, role, actor_id, grant_id, effective_policy) en las extensiones de solicitud mediante el middleware de guardia RBAC (src/rbac/middleware.rs). Los metadatos verificados de inquilino/actor se vincularon automáticamente en los eventos de auditoría WORM.

  • Anulaciones de políticas de rol y delegación HITL: Se admitieron definiciones de roles detalladas (RolePolicyConfig) con reglas personalizadas allow, deny, require_approval y redact_keys, que anulan o se cruzan con la política base del sistema.

  • Suite de pruebas de integración: Se añadieron pruebas de integración RBAC dedicadas (tests/rbac_integration.rs) que cubren autenticación por token, filtrado de búsqueda, aislamiento de catálogo, aplicación de límites de políticas y verificación de auditoría multiinquilino.

v0.19.0 — Muestreo MCP delegado por el cliente, bucle de supervisión HTTP/SSE y refuerzo

  • Muestreo MCP delegado por el cliente (sampling/createMessage): Se implementó el manejo de RPC inversa de finalización LLM delegada por el cliente (src/sampling.rs). Los servidores o agentes ascendentes envían solicitudes de muestreo, generando tickets rastreados (samp_<timestamp>_<seq>) con endpoints de ciclo de vida síncronos de sondeo largo o asíncronos (POST /v1/sampling/create_message, GET /v1/sampling/requests, GET /v1/sampling/requests/:id, POST /v1/sampling/requests/:id/respond).

  • Estado de muestreo persistente: Se añadió almacenamiento en disco atómico y resistente a reinicios (sampling.json) mediante AtomicFile<HashMap<String, PendingSamplingRequest>> con tareas automáticas de caducidad y recolección.

  • Supervisor HTTP/SSE transmisible autocurativo: Se integraron servidores MCP remotos HTTP/SSE en el bucle de supervisión con retroceso de reconexión automático, reconciliación de catálogo e informes de estado de arranque degradado.

  • Refuerzo de seguridad y DoS: Se limitaron los embeddings de capacidades candidatas para la búsqueda vectorial semántica a MAX_VECTOR_SEARCH_CANDIDATES = 250; se acotaron las consultas de exportación de auditoría a MAX_IN_MEMORY_AUDIT_EVENTS (20.000); se impusieron comprobaciones de la cabecera Host y del origen de bucle invertido en las solicitudes del proxy OAuth.

  • Puertas de CI y verificación de tipos TypeScript: Se añadió la verificación de tipos TypeScript automatizada (tsc --noEmit) al pipeline de CI de la interfaz web y se restringieron los disparadores de push a main para eliminar ejecuciones duplicadas.

  • Cumplimiento pragmático de Rust: Se logró una adherencia del 100% en los 51 archivos fuente con cabeceras de cumplimiento estándar (// Rust guideline compliant YYYY-MM-DD).

v0.18.0 — Subsistema de estado persistente, cierre gradual, automatización de CI de la UI y suite de pruebas E2E

  • Subsistema de estado persistente: Se añadió almacenamiento en disco atómico y resistente a reinicios (AtomicFile<T> y StateDirectory) para aprobaciones pendientes de humano en el bucle (approvals.json), registros de ejecución idempotentes (idempotency.json), tokens OAuth2 (oauth_tokens.json) y eventos de mutación de catálogo (catalog_events.json). Se añadió el bloque state en McpConfig y los comandos CLI warmplane config state show/set.

  • Manejo gradual de señales y cierre de subsistemas: Se añadió captura robusta de SIGINT (Ctrl+C) y SIGTERM en Unix y Windows, se integró el vaciado gradual del servidor HTTP, los vaciados del trabajador de auditoría asíncrono (AuditWorkerMsg::FlushAndShutdown) y la terminación limpia de los procesos de subprocesos stdio al apagar.

  • Cumplimiento pragmático de Rust: Se logró una adherencia del 100% en los 51 archivos fuente con cabeceras de cumplimiento estándar (// Rust guideline compliant YYYY-MM-DD).

  • Compilación automatizada de la interfaz web en CI y puerta de deriva: Se integró Bun en el CI de GitHub Actions (ci.yml) y en los pipelines de publicación (release-artifacts.yml), con pasos de compilación automatizados y detección estricta de deriva mediante git diff --exit-code ui/dist/index.html.

  • Suite de pruebas integral de extremo a extremo: Se implementó un banco de pruebas E2E dedicado (tests/e2e_tests.rs) que ejercita negociaciones de protocolo MCP stdio, transmisión SSE TCP en vivo, recarga de configuración en caliente, recorridos completos de proveedor OAuth2 simulado según RFC 8414 con renovación de tokens 401 silenciosa y recuperación del supervisor.

v0.17.0 — Explorador MCP 360°, constructor visual de pipelines por lotes y paginación de auditoría WORM

  • Búsqueda multifactorial y paginación de auditoría WORM: Se añadió búsqueda de subcadenas sin distinción de mayúsculas y minúsculas en 11 campos de metadatos, filtros de estado de resultado y servidor, particionado de paginación con límite/desplazamiento (/v1/audit/events) y descargas de exportación CSV y JSONL conscientes del contexto (/v1/audit/export).

  • Explorador de recursos MCP y lector de contenido en vivo: Se añadió un navegador de descubrimiento de recursos de 360° con insignias de esquema de protocolo (file://, postgres://, github://, memory://, sqlite://, etc.), visor de metadatos/MIME y lector de contenido en vivo compatible con destilación de contexto (_jsonpath, _limit_lines, _truncate_bytes).

  • Estudio de plantillas de mensajes MCP: Se añadió navegación dinámica de plantillas de mensajes y generación de formularios de argumentos con insignias de validación REQUIRED, que muestran los envoltorios de mensajes de sistema/usuario resueltos (/v1/prompts/get).

  • Cancelación de operaciones en curso: Se añadieron controles interactivos de cancelación de ejecución en la interfaz con temporizadores de ejecución en vivo y cancelación cooperativa instantánea (POST /v1/operations/:id/cancel).

  • Constructor visual de pipelines por lotes de varios pasos: Se añadió un editor modal interactivo de pipelines para encadenar herramientas con interpolación de variables de parámetros (${steps[0].result.id}) y tolerancia a fallos por nodo (POST /v1/tools/batch_call).

  • Sincronización de estado SSE en tiempo real: Se conectó el flujo SSE /v1/resources/updates para actualizar automáticamente los recursos, mensajes y fuentes de catálogo en el Control Deck.

v0.16.0 — Refuerzo de seguridad empresarial, integridad criptográfica de auditoría y resiliencia del ciclo de vida

  • Autenticación por token API y protección con middleware: Se añadió el parámetro CLI --auth-token, el campo de configuración McpConfig.auth_token y la compatibilidad con la variable de entorno WARMPLANE_AUTH_TOKEN para proteger de forma segura los endpoints del daemon con autenticación Bearer/X-Warmplane-Key.

  • Seguridad del proxy OAuth y enmascaramiento de secretos: Se reforzó el listener del proxy OAuth con validación de Host y bloqueo de navegadores de origen cruzado; se enmascararon los secretos state y code_challenge PKCE en la salida de registros.

  • Integridad criptográfica de auditoría WORM y firma HMAC: Se incluyeron los 20 campos de metadatos persistidos en los resúmenes de la cadena hash (work_item_id, client_ip, resource_uri, execution_latency_us, error_message); se añadieron cálculos de resumen con clave HMAC-SHA256 y generación de puntos de control para anclaje criptográfico externo.

  • Saneamiento y redacción de secretos: Se mejoró la coincidencia de redacción sin distinción de mayúsculas y minúsculas con una lista integrada de claves sensibles predeterminadas (token, secret, password, key, authorization, etc.); se restringieron los eventos de webhook HITL externos a solo transmitir sanitized_args; se sanearon los secretos antes de imprimirlos en los comandos CLI.

  • Coordinación del supervisor y del interruptor de circuito: Se restablecieron automáticamente los interruptores de circuito al reconectar el supervisor correctamente; se añadieron límites de sondeo de vuelo único en el estado HalfOpen del interruptor de circuito; se implementó un retroceso de reinicio de ventana deslizante de 60 segundos; se podaron los elementos eliminados durante la reconciliación del catálogo; se limpiaron los interruptores de circuito al desmontar el servidor.

  • Límites de recursos y controles de seguridad: Se aplicaron los presupuestos de ejecución MAX_BATCH_STEPS = 50 y DEFAULT_BATCH_TIMEOUT_MS = 60_000; se limitó la expansión de salida JSONPath con comodines a 10.000 elementos y los resultados de búsqueda a 100; se devolvieron POLICY_DENIED (HTTP 403) y 404 para la cancelación de operaciones desconocidas; se sanearon las exportaciones de auditoría CSV contra la inyección de fórmulas.

  • Puertas de calidad de CI y auditorías de dependencias: Se integró el escaneo nativo cargo-audit en el CI de GitHub Actions; se actualizaron las dependencias resolviendo todos los avisos notificados.

  • Indicador de versión CLI: Se habilitaron los indicadores estándar --version y -V en el analizador del binario warmplane.

v0.15.0 — Tolerancia a fallos, resiliencia de arranque y paridad de funciones del Control Deck

  • Resiliencia de arranque y inicio degradado: Arranque gradual del daemon cuando los servidores ascendentes (como Docker, endpoints SSE remotos o herramientas no configuradas) fallan o agotan el tiempo de espera. Los servidores con errores se marcan como degraded sin bloquear el daemon ni obstaculizar otros ascendentes saludables.

  • Supervisor de procesos e interruptores de circuito: Interruptores de circuito por servidor y globales (failureThreshold, cooldownMs, autoRestart, maxRestarts) con seguimiento de estado (CLOSED, OPEN, HALF-OPEN) y supervisión de reinicio con retroceso exponencial.

  • Paridad completa de funciones de la interfaz web:

    • Centro de servidores: flujo de edición de tarjetas de servidor (✏️ Edit), insignias de telemetría de interruptor de circuito en vivo e indicadores de resiliencia del servidor.

    • Asistente de plantillas: acordeón de configuración de tolerancia a fallos y supervisor directamente dentro de la configuración de servidor curada en 1 clic.

    • Parque de juegos interactivo: controles de destilación de contexto (_jsonpath, _limit_lines, _truncate_bytes) y mediciones de latencia de ejecución.

    • Tarjetas de resumen responsivas en cuadrícula bento con puntos indicadores de salud en tiempo real (connected 🟢, degraded 🟡, error 🔴).

  • Configuración de resiliencia CLI: warmplane config resilience set y warmplane config resilience show para la gestión de interruptores de circuito sin interfaz gráfica.

v0.14.0 — Suite de enriquecimiento de agentes: búsqueda de fachada, destilación de contexto y procesamiento por lotes de varios pasos

  • Búsqueda híbrida de fachada MCP: Se expuso la herramienta capability_search a través de la fachada stdio MCP con filtros de palabra clave, etiqueta, ID de servidor y modo de ejecución.

  • Destilación y truncamiento de contexto: Se añadieron los modificadores _jsonpath, _limit_lines y _truncate_bytes a /v1/tools/call y capability_call para proteger las ventanas de contexto LLM de salidas sobredimensionadas.

  • Llamadas por lotes encadenadas de varios pasos: Se añadieron POST /v1/tools/batch_call y capabilities_batch_call para ejecuciones de herramientas dependientes en un solo recorrido de ida y vuelta con interpolación de referencias $step.field.

v0.13.0 — Motor de aprobación de humano en el bucle (HITL) y webhooks firmados

  • Approval Interceptor: Suspensión basada en políticas para llamadas de capacidades sensibles (requireApproval).

  • Operator REST API: Endpoints para listar (/v1/approvals), inspeccionar, aprobar con argumentos modificados (/v1/approvals/:id/approve) o rechazar (/v1/approvals/:id/reject).

  • Signed HMAC Webhooks: Despacho de webhooks en tiempo real con cabeceras de firma HMAC SHA-256 en eventos del ciclo de vida de aprobaciones.

  • Configurable TTL Expiration: Expiración automática por tiempo de espera (approvalTimeoutSecs) que devuelve sobres de cancelación estructurados.

v0.12.0 — Registro de auditoría WORM criptográfico y transmisión SIEM

  • Encadenamiento lineal de hashes SHA-256 de solo añadidura sobre eventos de ejecución de herramientas y decisiones HITL.

  • Endpoints de verificación y exportación de auditoría (/v1/audit/...), ingesta de Splunk HEC y Webhook genérico.

v0.11.0 — Control Deck Web UI y recarga dinámica en caliente de upstream

  • Control Deck Web UI: Panel web integrado sin dependencias en /ui y / con telemetría en vivo, administrador de servidores, área de pruebas interactiva de herramientas, administrador de políticas/redacción y registro de alias.

  • Zero-Downtime Dynamic Upstream Mounting: Montar y desmontar dinámicamente trabajadores upstream de stdio, HTTP y OAuth2 a través de REST/UI/CLI sin reiniciar el proceso demonio.

  • Dynamic Catalogs & ETags: Gestión de estado segura para concurrencia con recálculo automático de ETag SHA256 y notificaciones de recursos SSE en cambios de servidor.

  • Explicit Config Hot-Reload: Se añadió el comando CLI warmplane reload y el endpoint POST /v1/config/reload para reconciliar limpiamente los trabajadores en memoria con las ediciones manuales de mcp_servers.json.

v0.10.0 — Gestión de configuración CLI e importadores de ecosistema

  • Se añadieron los comandos warmplane server (add, remove, list, get, test) con asistentes interactivos inquire y automatización sin interfaz controlada por banderas.

  • Se añadió warmplane config (init, show, import, alias, policy) para mutaciones de configuración seguras y transaccionales.

  • Se añadió auto-descubrimiento e importación desde ajustes de Claude Desktop, Cursor y Zed.

  • Se añadieron escrituras atómicas de archivos de configuración (fs::rename) que previenen la corrupción de JSON.

v0.9.0 — Cumplimiento de especificación MCP 2026-07-28, MRTR y suscripciones

  • Se actualizó al SDK oficial de MCP para Rust rmcp 3.1.2 y reqwest 0.13.

  • Se estableció la versión de protocolo predeterminada a "2026-07-28" con compatibilidad hacia atrás para "2025-11-25".

  • Se añadió soporte para Solicitudes de Múltiples Viajes de Ida y Vuelta (MRTR) (input_responses y request_state) en HTTP REST, fachada stdio y trabajadores upstream.

  • Se añadieron sugerencias de caché (ttl_ms: 300000, cache_scope: "public") y ordenamiento alfabético determinista en los listados de catálogo.

  • Se añadió la herramienta subscriptions_listen a la fachada stdio y el flujo SSE /v1/resources/updates para notificaciones en tiempo real.

  • Se validó la verificación de callback iss RFC 9207 / SEP-2468 para flujos OAuth 2.0.

v0.8.0 — Embeddings vectoriales semánticos y pipeline FastEmbed ONNX

  • Se integró el pipeline de embeddings FastEmbed ONNX con similitud de vectores coseno densos bajo el opcional --features semantic-search.

  • Fusión híbrida de rango recíproco que combina coincidencia de palabras clave BM25 y búsqueda de vectores densos.

v0.7.0 — Modernización pragmática de Rust y patrones de constructor

Adopción completa de las Directrices Pragmáticas de Rust de Microsoft (AGENTS.md). Se implementó el Builder Pattern (M-INIT-BUILDER) para el estado central (AppStateBuilder), filtros de búsqueda (SearchFilterBuilder) y contexto de solicitud (RequestContextBuilder). Se mejoró la seguridad de errores (M-PANIC-IS-STOP), el registro estructurado (M-LOG-STRUCTURED), la documentación canónica (M-CANONICAL-DOCS) y la interoperabilidad flexible de traits (M-IMPL-ASREF).

v0.6.0 — Idempotencia, cancelación y metadatos de reintento

Pase Idempotency-Key / X-Idempotency-Key para deduplicar llamadas de herramientas concurrentes. Aborte cualquier solicitud en curso mediante el endpoint de cancelación o CLI. Cada sobre de respuesta ahora incluye metadatos estructurados "retry" (classification + state) para lógica de reintento consciente del orquestador.

v0.5.0 — Contexto de solicitud y correlación

RequestContext estructurado (operation_id, work_item_id, actor_id, grant_id) entrelazado a través de todos los sobres de ejecución y tramos de trazado. Respaldo de cabeceras HTTP (X-Request-ID, X-Operation-ID, X-Actor-ID, X-Grant-ID).

v0.4.0 — Versionado de catálogo y validación de caché

Versión de catálogo SHA-256. Cabeceras ETag en todas las lecturas de catálogo, solicitudes condicionales If-None-Match que devuelven 304 Not Modified. Fuente de cambios GET /v1/catalog/events con paginación basada en cursor.

v0.3.0 — Búsqueda híbrida

POST /v1/capabilities/search con puntuación BM25, embeddings vectoriales FastEmbed opcionales, filtros de etiqueta/ID de servidor y resultados clasificados. POST /v1/capabilities/search con puntuación BM25, embeddings vectoriales FastEmbed opcionales, filtros de etiqueta/ID de servidor y resultados clasificados.


Documentación

Document

Description

docs/USER-GUIDE.md

Guía de uso completa: configuración, modos, todos los comandos CLI, autenticación, políticas

docs/PERFORMANCE.md

Metodología de evaluación comparativa, percentiles de latencia y resultados de perfilado

docs/openapi.yaml

Especificación OpenAPI 3.1

docs/config.schema.json

Esquema JSON para mcp_servers.json

docs/OBSERVABILITY.md

Registros estructurados, configuración OTLP, correlación de trazas

docs/INSTALL.md

Variantes de compilación, notas de distribución

docs/DEPLOYMENT.md

Manual de despliegue en producción

F
license - not found
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
5dRelease cycle
34Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Hosted AgentLux MCP server for marketplace, identity, creator, services, and social flows.

  • Agent-native collaboration network: orchestrate a team of long-running agents from any MCP client.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Warmplane/warmplane'

If you have feedback or need assistance with the MCP directory API, please join our Discord server