Warmplane
The local control plane that keeps MCP sessions warm.
v0.16.0 — Changelog · User Guide · Performance · Whitepaper · OpenAPI
Warmplane runs multiple upstream MCP servers behind one local process, keeps those sessions persistent, and exposes a compact, policy-aware surface for tools, resources, and prompts — accessible via HTTP, CLI, and MCP-native clients.
Quick Start
1. Build
# Optional: local ONNX vector embeddings (FastEmbed)
2. Configure Upstream Servers
Manage servers interactively or import from existing tools:
# Interactive setup wizard
# Or add non-interactively
# Or import directly from Claude Desktop / Cursor
Or manually create mcp_servers.json:
3. Validate, then start
Run Modes
All three modes share the same backend state, aliases, policy checks, and timeout behaviour.
HTTP Daemon
# Serves /v1/... on the configured port (default 9090)
Key endpoints:
| Method | Path | Description |
|---|---|---|
GET |
/v1/capabilities |
Compact capability index |
POST |
/v1/capabilities/search |
Hybrid lexical + semantic search |
GET |
/v1/capabilities/:id |
On-demand capability detail |
POST |
/v1/tools/call |
Normalized execution envelope (supports _jsonpath, _limit_lines, _truncate_bytes) |
POST |
/v1/tools/batch_call |
Chained multi-step execution with $step.field reference interpolation |
GET |
/v1/resources |
Resource index |
POST |
/v1/resources/read |
Read resource |
GET |
/v1/prompts |
Prompt index |
POST |
/v1/prompts/get |
Render prompt |
GET |
/v1/catalog/events |
Catalog change event feed |
POST |
/v1/operations/:id/cancel |
Cancel an in-flight operation |
MCP Server (stdio)
Point any MCP-native client at this process. It exposes lightweight facade tools (capabilities_list, capability_search, capability_describe, capability_call, capabilities_batch_call, resource_read, prompt_get, …) alongside native resources/* and prompts/* methods.
Claude Desktop / Cursor config:
CLI Configuration & Operations
# Interactive server setup wizard
# Import settings from Claude Desktop or Cursor
# Hot-reload in-memory workers from mcp_servers.json without restarting
# Inspect & test servers
# Ecosystem config import (Claude Desktop, Cursor, Zed)
# Aliases and Policies
# Capability and Execution CLI
Performance Highlights
Warmplane is engineered with pure Rust zero-cost abstractions, keeping agent loops snappy:
- 50.4 ns ETag Cache Validation (
If-None-Match$\rightarrow$304 Not Modified) - 159.8 ns Idempotent Cache-Hit Deduplication
- 1.58 µs SHA-256 Incremental Catalog Version Hashing ($N=10$)
- 15.9 µs Filtered Hybrid Capability Search ($N=50$)
- 372.1 µs In-Memory Zero-Allocation Lexical Tag Search across 1,000 Tools
👉 See the complete benchmarks and profiling methodology in docs/PERFORMANCE.md.
Feature Overview
| Feature | Since | Summary |
|---|---|---|
| Security Hardening & WORM Integrity | v0.16.0 | API token gate, OAuth proxy guard, HMAC audit verification, sliding-window backoff, resource caps |
| Fault Tolerance & Supervision | v0.15.0 | Supervisor restart loop, configurable circuit breakers, and degraded boot |
| Agent Enrichment Suite | v0.14.0 | Facade search, context distillation (_jsonpath/_limit_lines), and multi-step batch execution |
| HITL Approval Engine | v0.13.0 | Operator gate approval engine, suspension, argument editing, and HMAC webhook dispatch |
| WORM Audit & SIEM | v0.12.0 | Append-only SHA-256 hash-chained audit logging, verification API, and Splunk/Webhook SIEM export |
| Control Deck Web UI | v0.11.0 | Standalone embedded web dashboard for servers, testing playground, policy & telemetry |
| Dynamic Hot-Reloading | v0.11.0 | Zero-downtime upstream mounting/unmounting, explicit warmplane reload & /v1/config/reload |
| CLI Config & Interactive Setup | v0.10.0 | warmplane server & warmplane config wizards, atomic JSON writes |
| Ecosystem Import | v0.10.0 | 1-click import from Claude Desktop, Cursor, and Zed settings |
| MCP 2026-07-28 & MRTR | v0.9 | Full spec compliance, rmcp 3.1.2, cache hints, Multi Round-Trip Requests |
| Subscriptions Feed | v0.9 | subscriptions_listen tool & /v1/resources/updates SSE feed |
| Semantic Vector Search | v0.8.0 | FastEmbed ONNX embedding pipeline with cosine ranking |
| Pragmatic Rust Architecture | v0.7.0 | Builder patterns (M-INIT-BUILDER), robust panic safety, structured logging |
| Idempotency & Retry | v0.6.0 | Idempotency-Key deduplication and structured "retry" metadata envelopes |
| Cancellation | v0.6.0 | POST /v1/operations/:id/cancel / cancel-operation CLI |
| Request context | v0.5.0 | operation_id, actor_id, grant_id in envelopes + HTTP header fallback |
| Catalog versioning | v0.4.0 | SHA-256 ETag, If-None-Match → 304, change event feed |
| Hybrid search | v0.3.0 | BM25 lexical + vector search with filters |
| Alias registry | v0.1.0 | Short stable aliases over upstream capability IDs |
| Compact indexes | v0.1.0 | Lazy, token-efficient catalog — detail only on demand |
| Policy profiles | v0.1.0 | Allow/deny lists, redact keys, role-scoped exposure |
| Normalized envelopes | v0.1.0 | Consistent result, timeout, and error format across all modes |
| OTLP traces | v0.1.0 | OpenTelemetry export, trace_id reflected in envelopes |
Changelog
v0.16.0 — Enterprise Security Hardening, Audit Cryptographic Integrity & Lifecycle Resilience
- API Token Authentication & Middleware Guarding: Added
--auth-tokenCLI parameter,McpConfig.auth_tokenconfiguration field, andWARMPLANE_AUTH_TOKENenvironment variable support to securely protect daemon endpoints with Bearer/X-Warmplane-Key authentication. - OAuth Proxy Security & Secret Masking: Hardened the OAuth proxy listener with Host validation and cross-origin browser blocking; masked
stateand PKCEcode_challengesecrets in log output. - Cryptographic WORM Audit Integrity & HMAC Signing: Included all 20 persisted metadata fields in hash chain digests (
work_item_id,client_ip,resource_uri,execution_latency_us,error_message); added HMAC-SHA256 keyed digest calculations and checkpoint generation for external cryptographic anchoring. - Secret Sanitization & Redaction: Enhanced case-insensitive redaction matching with built-in default sensitive key list (
token,secret,password,key,authorization, etc.); restricted external HITL webhook events to only transmitsanitized_args; sanitized secrets before printing in CLI commands. - Supervisor & Circuit Breaker Coordination: Automatically reset circuit breakers on successful supervisor reconnection; added single-flight probe limits in
HalfOpencircuit breaker state; implemented 60-second sliding-window restart backoff; pruned removed items during catalog reconciliation; cleaned up circuit breakers on server unmount. - Resource Caps & Safety Controls: Enforced
MAX_BATCH_STEPS = 50andDEFAULT_BATCH_TIMEOUT_MS = 60_000execution budget; capped wildcard JSONPath output expansion to 10,000 items and search results to 100; returnedPOLICY_DENIED(HTTP 403) and 404 for unknown operation cancellation; sanitized CSV audit exports against formula injection. - CI Quality Gates & Dependency Audits: Integrated native
cargo-auditscanning in GitHub Actions CI; updated dependencies resolving all reported advisories. - CLI Version Flag: Enabled standard
--versionand-Vflags in thewarmplanebinary parser.
v0.15.0 — Fault Tolerance, Boot Resilience & Control Deck Feature Parity
- Boot Resilience & Degraded Startup: Graceful daemon boot when upstream servers (such as Docker, remote SSE endpoints, or unconfigured tools) fail or timeout. Failed servers are flagged as
degradedwithout crashing the daemon or blocking other healthy upstreams. - Process Supervisor & Circuit Breakers: Per-server and global circuit breakers (
failureThreshold,cooldownMs,autoRestart,maxRestarts) with state tracking (CLOSED,OPEN,HALF-OPEN) and exponential backoff restart supervision. - Full Web UI Feature Parity:
- Server Hub: Server card edit workflow (
✏️ Edit), live circuit breaker telemetry badges, and server resilience indicators. - Template Wizard: Fault tolerance and supervisor configuration accordion directly inside 1-click curated server setup.
- Interactive Playground: Context distillation controls (
_jsonpath,_limit_lines,_truncate_bytes) and execution latency measurements. - Responsive Bento-Grid overview cards with real-time health indicator dots (
connected🟢,degraded🟡,error🔴).
- Server Hub: Server card edit workflow (
- CLI Resilience Configuration:
warmplane config resilience setandwarmplane config resilience showfor headless circuit breaker management.
v0.14.0 — Agent Enrichment Suite: Facade Search, Context Distillation & Multi-Step Batching
- MCP Facade Hybrid Search: Exposed
capability_searchtool over MCP stdio facade with keyword, tag, server ID, and execution mode filters. - Context Distillation & Truncation: Added
_jsonpath,_limit_lines, and_truncate_bytesmodifiers to/v1/tools/callandcapability_callto protect LLM context windows from oversized outputs. - Multi-Step Chained Batch Calls: Added
POST /v1/tools/batch_callandcapabilities_batch_callfor single-roundtrip dependent tool executions with$step.fieldreference interpolation.
v0.13.0 — Human-in-the-Loop (HITL) Approval Engine & Signed Webhooks
- Approval Interceptor: Policy-driven suspension for sensitive capability calls (
requireApproval). - Operator REST API: Endpoints to list (
/v1/approvals), inspect, approve with modified arguments (/v1/approvals/:id/approve), or reject (/v1/approvals/:id/reject). - Signed HMAC Webhooks: Real-time webhook dispatch with SHA-256 HMAC signature headers on approval lifecycle events.
- Configurable TTL Expiration: Automatic timeout expiration (
approvalTimeoutSecs) returning structured cancellation envelopes.
v0.12.0 — Cryptographic WORM Audit Log & SIEM Streaming
- Append-only linear SHA-256 hash chaining over tool execution and HITL decision events.
- Audit verification and export endpoints (
/v1/audit/...), Splunk HEC and generic Webhook ingestion.
v0.11.0 — Control Deck Web UI & Dynamic Upstream Hot-Reloading
- Control Deck Web UI: Embedded zero-dependency web dashboard at
/uiand/with live telemetry, server manager, interactive tool playground, policy/redaction manager, and alias registry. - Zero-Downtime Dynamic Upstream Mounting: Dynamically mount and unmount stdio, HTTP, and OAuth2 upstream workers via REST/UI/CLI without restarting the daemon process.
- Dynamic Catalogs & ETags: Concurrency-safe state management with automatic SHA256 ETag recomputation and SSE resource notifications on server changes.
- Explicit Config Hot-Reload: Added
warmplane reloadCLI command andPOST /v1/config/reloadendpoint to cleanly reconcile in-memory workers against manual edits tomcp_servers.json.
v0.10.0 — CLI Configuration Management & Ecosystem Importers
- Added
warmplane server(add,remove,list,get,test) commands with interactiveinquirewizards and flag-driven headless automation. - Added
warmplane config(init,show,import,alias,policy) for safe, transactional configuration mutations. - Added auto-discovery and import from Claude Desktop, Cursor, and Zed settings.
- Added atomic configuration file writes (
fs::rename) preventing JSON corruption.
v0.9.0 — MCP 2026-07-28 Spec Compliance, MRTR & Subscriptions
- Upgraded to official MCP Rust SDK
rmcp 3.1.2andreqwest 0.13. - Set default protocol version to
"2026-07-28"with backward compatibility for"2025-11-25". - Added Multi Round-Trip Requests (MRTR) support (
input_responsesandrequest_state) across HTTP REST, stdio facade, and upstream workers. - Added cache hints (
ttl_ms: 300000,cache_scope: "public") and deterministic alphabetical sorting on catalog listings. - Added
subscriptions_listentool to stdio facade and/v1/resources/updatesSSE stream for real-time notifications. - Validated RFC 9207 / SEP-2468
isscallback verification for OAuth 2.0 flows.
v0.8.0 — Semantic Vector Embeddings & FastEmbed ONNX Pipeline
- Integrated FastEmbed ONNX embedding pipeline with dense cosine vector similarity under optional
--features semantic-search. - Hybrid reciprocal rank fusion combining BM25 keyword matching and dense vector search.
v0.7.0 — Pragmatic Rust Modernization & Builder Patterns
Full adoption of Microsoft's Pragmatic Rust Guidelines (AGENTS.md). Implemented Builder Pattern (M-INIT-BUILDER) for core state (AppStateBuilder), search filters (SearchFilterBuilder), and request context (RequestContextBuilder). Enhanced error safety (M-PANIC-IS-STOP), structured logging (M-LOG-STRUCTURED), canonical documentation (M-CANONICAL-DOCS), and flexible trait interop (M-IMPL-ASREF).
v0.6.0 — Idempotency, Cancellation & Retry Metadata
Pass Idempotency-Key / X-Idempotency-Key to deduplicate concurrent tool calls. Abort any in-flight request via cancel endpoint or CLI. Every response envelope now includes structured "retry" metadata (classification + state) for orchestrator-aware retry logic.
v0.5.0 — Request Context & Correlation
Structured RequestContext (operation_id, work_item_id, actor_id, grant_id) threaded through all execution envelopes and tracing spans. HTTP header fallback (X-Request-ID, X-Operation-ID, X-Actor-ID, X-Grant-ID).
v0.4.0 — Catalog Versioning & Cache Validation
SHA-256 catalog version. ETag headers on all catalog reads, If-None-Match conditional requests returning 304 Not Modified. GET /v1/catalog/events change feed with cursor-based pagination.
v0.3.0 — Hybrid Search
POST /v1/capabilities/search with BM25 scoring, optional FastEmbed vector embeddings, tag/server-ID filters, and ranked results.
POST /v1/capabilities/search with BM25 scoring, optional FastEmbed vector embeddings, tag/server-ID filters, and ranked results.
Docs
| Document | Description |
|---|---|
| docs/USER-GUIDE.md | Complete usage guide: config, modes, all CLI commands, auth, policy |
| docs/PERFORMANCE.md | Benchmark methodology, latency percentiles, and profiling results |
| docs/openapi.yaml | OpenAPI 3.1 spec |
| docs/config.schema.json | JSON Schema for mcp_servers.json |
| docs/OBSERVABILITY.md | Structured logs, OTLP config, trace correlation |
| docs/INSTALL.md | Build variants, distribution notes |
| docs/DEPLOYMENT.md | Production deployment runbook |