warmplane
OfficialWarmplane
보안 통제:
MCP 세션을 컴팩트한 capability/resource/prompt 파사드로 웜 상태로 유지하는 로컬 컨트롤 플레인.
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)주요 엔드포인트:
메서드 | 경로 | 설명 |
|
| 컴팩트 capability 인덱스 |
|
| 하이브리드 어휘 + 의미 검색 |
|
| 정규화된 실행 엔벨로프(멱등성 키, |
|
|
|
|
| 캐시된 멱등성 실행 레코드 및 재실행 횟수 나열 |
|
| 단일 캐시된 멱등성 레코드 검사 |
|
| 리소스 인덱스 |
|
| 리소스 읽기 |
|
| 프롬프트 인덱스 |
|
| 프롬프트 렌더링 |
|
| 카탈로그 변경 이벤트 피드 |
|
| 진행 중인 작업 취소 |
MCP 서버 (stdio)
warmplane mcp-server --config mcp_servers.json이 프로세스를 모든 MCP 네이티브 클라이언트에 연결하세요. 네이티브 resources/* 및 prompts/* 메서드와 함께 경량 파사드 도구(capabilities_list, capability_search, capability_describe, capability_call, capabilities_batch_call, resource_read, prompt_get, …)를 노출합니다.
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"
}
}
}또는 mcp_servers.json에 mcpHttpServer 블록을 추가하면 데몬이 두 서버를 하나의 프로세스에서 공동 호스팅합니다:
{
"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 필터링된 하이브리드 capability 검색 ($N=50$)
372.1 µs 1,000개 도구 대상 인메모리 제로 할당 어휘 태그 검색
👉 전체 벤치마크 및 프로파일링 방법론은 docs/PERFORMANCE.md를 참조하세요.
기능 개요
기능 | 도입 버전 | 요약 |
SEP-2663 Tasks Extension & Unified HITL | v0.24.0 | 공식 |
Exactly-Once Idempotency & Replay Ledger | v0.23.0 | 결정적 자동 키 생성( |
Embedded Rust Library Engine | v0.23.0 | 직접적인 인프로세스 라이브러리 인터페이스( |
MCP HTTP/SSE Server Mode | v0.22.0 | 원격 네트워크 클라이언트용 Streamable HTTP/SSE MCP 서버( |
Signal Handling & Graceful Teardown | 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 Tasks & HITL UI | v0.25.0 | 라이브 Tasks & Approvals 허브, MRTR 입력 해석 폼, Playground 비동기 토글, 임베디드 태스크 API |
SEP-2663 Tasks Extension | v0.24.0 | 비차단 |
In-Process Embedded Rust Engine | v0.23.0 | 제로 오버헤드 라이브러리 통합을 위한 |
Streamable HTTP/SSE MCP Transport | v0.22.0 | 원격 에이전트 연결을 위한 동시 호스팅 |
Named Server Constellations | v0.21.0 | 범위 지정 ETag 파티셔닝 및 stdio 필터링을 지원하는 프로필 그룹화( |
Multi-Tenant RBAC | v0.20.0 | 역할 기반 토큰 액세스, 결정적 카탈로그 파티셔닝, 테넌트 컨텍스트 전파 |
Client-Delegated MCP Sampling | v0.19.0 | 티켓 추적 및 롱폴링을 지원하는 역방향 RPC 샘플링( |
Persistent State Subsystem | v0.18.0 | 승인, 멱등성 및 OAuth2 토큰을 위한 원자적 재시작 내성 디스크 저장소( |
Graceful Shutdown & Signals | v0.18.0 | 강력한 |
MCP Resource & Prompt Studio | v0.17.0 | 360° 리소스 탐색기, 동적 폼을 지원하는 프롬프트 템플릿 렌더러, SSE 동기화 |
Multi-Step Batch Pipelines | v0.17.0 | 참조 매개변수 보간을 지원하는 비주얼 파이프라인 편집기( |
Enterprise Security & Auth | v0.16.0 | 토큰 기반 미들웨어 보호, WORM 감사 HMAC 검증, 비밀 마스킹 |
Fault Tolerance & Supervision | v0.15.0 | 저하된 시작, 서버별 서킷 브레이커, 지수 백오프 재시작 감독 |
Agent Enrichment Suite | v0.14.0 | 파사드 검색, 컨텍스트 증류( |
HITL Approval Engine | v0.13.0 | 운영자 게이트 승인 엔진, 일시 중단, 인수 편집, HMAC 웹훅 디스패치 |
WORM Audit & SIEM | v0.12.0 | 추가 전용 SHA-256 해시 체인 감사 로깅, 검증 API, Splunk/Webhook SIEM 내보내기 |
Control Deck Web UI | v0.11.0 | 서버를 위한 독립형 임베디드 웹 대시보드, 테스트 플레이그라운드, 정책 및 텔레메트리 |
Dynamic Hot-Reloading | v0.11.0 | 무중단 업스트림 마운트/언마운트, 명시적 |
변경 로그
v0.25.2 — MCPB 번들 패키징 및 공식 MCP 레지스트리 파이프라인
MCPB 배포 형식(
packaging/mcpb/,.github/workflows/release-artifacts.yml): 독립 실행형 바이너리, 부트스트랩 구성, 표준화된 매니페스트(manifest_version: "0.3")가 포함된 플랫폼별 Model Context Protocol 번들(.mcpb)의 자동화된 빌드 및 패키징을 추가했습니다.공식 MCP 레지스트리 메타데이터(
server.json): 릴리스 워크플로는 이제 공식server.schema.json사양(io.github.warmplane/warmplane)을 준수하는 정식 레지스트리 메타데이터를 다중 아키텍처 SHA-256 패키지 다이제스트와 함께 자동 생성합니다.Homebrew Tap(
Warmplane/homebrew-tap): 사전 빌드된 macOS 및 Linux 포뮬러를 사용하는 공식 tap 배포를 구성했습니다(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) 및 HITL(Human-in-the-Loop) 입력 응답 후 재개된 태스크가TaskStatus::Working상태에 무기한 남아 있던 회귀 문제를 해결했습니다. 이제 백그라운드 워커는 최종 상태(result가 포함된TaskStatus::Completed또는 구조화된 오류가 포함된TaskStatus::Failed)를TaskRegistry에 직접 안정적으로 기록합니다.임베디드 태스크 수명 주기 테스트(
tests/embedded_tests.rs,tests/tasks_tests.rs): 승인 제출 및 직접 비동기 호출 후get_task와list_tasks가 업스트림 페이로드와 함께 최종completed상태를 관찰하는지 검증하는 포괄적인 자동화 통합 테스트를 추가했습니다.
v0.25.0 — Control Deck Tasks & HITL UI, 프로세스 내 임베디드 Task API
Control Deck Tasks & Approvals Hub(
ui/src/components/tasks.ts): 검토 큐를 라이브 상태 KPI(input_required,working,completed,cancelled/failed), 인라인 MRTR 입력 해석 폼(불리언, JSON 편집기, 텍스트 필드)이 포함된 대화형 액션 카드, TTL 카운트다운 타이머, 협력적 취소 컨트롤을 갖춘 통합 Tasks & Approvals 대시보드(data-tab="tasks")로 업그레이드했습니다.MCP Playground 비동기 실행 모드: 도구 테스트 플레이그라운드에 "⚡ Async Task Mode" 토글을 추가하고, Tasks & Approvals 검토 덱으로 1클릭 이동할 수 있는 대화형
202 Accepted태스크 카드 미리보기를 추가했습니다.임베디드 Rust 태스크 관리 API(
ControlPlaneHandle): 프로세스 내ControlPlaneHandle에 직접 태스크 관리 메서드(list_tasks,get_task,update_task,cancel_task)를 노출하여, 임베딩 애플리케이션이 HTTP 또는 JSON-RPC 직렬화 오버헤드 없이 비동기 SEP-2663 태스크를 관리할 수 있게 했습니다.Overview Cockpit 및 배지 통합: Overview Cockpit에 "Tasks & HITL State" 텔레메트리 카드를 추가하고 실시간 사이드바 배지를 미해결
input_required태스크에 연결했습니다.
v0.24.0 — SEP-2663 Tasks 확장, 통합 HITL 실행 및 MCP 로드맵 정렬
SEP-2663 Tasks 확장 구현(
src/tasks.rs): 원자적 영구 저장소(tasks.json), 안전한 TTL 만료 감지, 원샷 입력 응답 채널(TaskWaitSender/TaskWaitReceiver)을 사용하여 공식io.modelcontextprotocol/tasks기능을 구현했습니다.통합 HITL 승인 및 비동기 태스크 상태 머신: HITL(Human-in-the-Loop) 승인 워크플로와 비동기 도구 실행을 SEP-2663 수명 주기에 직접 통합했습니다. 운영자 게이트 승인이 필요하거나
async_task: true/Prefer: respond-async로 요청된 도구 실행은 MRTRinputRequests를 인라인하여resultType: "task"및status: "input_required"와 함께202 Accepted를 반환합니다.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 파사드 서버 통합: 직접적인 에이전트 오케스트레이션을 위해 MCP 파사드 서버에
task_get,task_update,task_cancel도구를 노출했습니다.CLI Tasks 하위 명령 및 비동기 실행 플래그:
warmplane tasks list,warmplane tasks get <id>,warmplane tasks update <id> -r '<json>',warmplane tasks cancel <id>및--async-task플래그를warmplane call-capability에 추가했습니다.MCP 프로토콜 로드맵 전략 분석: 공식 MCP 로드맵과 무상태 전송, 세션리스 라우팅, 점진적 기능 검색에 걸친 Warmplane의 아키텍처 정렬을 분석한
docs/MCP_ROADMAP_REPORT.md를 게시했습니다.
v0.23.0 — 임베디드 Rust 엔진, 프로세스 내 Control Plane 및 파사드 어댑터 리팩터링
프로세스 내 임베디드 Rust 라이브러리 엔진(
EmbeddedWarmplane,ControlPlaneHandle): HTTP, 데몬 자식 프로세스 또는 JSON-RPC 직렬화 오버헤드 없이 Warmplane을 순수 프로세스 내 라이브러리로 노출했습니다. 호출자는EmbeddedWarmplane::start(config)또는EmbeddedWarmplane::start_from_path(path)를 통해 자체 Tokio 런타임에서 엔진을 직접 실행하고, 타입화된ControlPlaneHandle메서드(list_capabilities,describe_capability,search_capabilities,call_capability,batch_call,read_resource,get_prompt,health_status)로 상호 작용합니다.강력한 타입의 제네릭 엔벨로프 및 오류 모델: 프로그램 방식 오케스트레이션을 위해 구조화된 진단 정보(
request_id,trace_id,retry,operator)를 유지하면서warmplane::engine::types에Envelope<T>,WarmplaneError,CapabilitySummary,CapabilityDetail,ExecutionOptions,ReadResourceOptions,GetPromptOptions,EngineHealthStatus를 추가했습니다.MCP Stdio 서버 파사드 어댑터 리팩터링: 모든 도구 호출 실행, 검색, 설명, 배치 실행, 리소스/프롬프트 디스패치를
ControlPlaneHandle에 직접 위임하도록mcp_server.rs를 리팩터링하여 중복 로직을 제거하고 실행 파이프라인을 통합했습니다.임베디드 엔진 통합 테스트 스위트: 임베디드 수명 주기 시작, 저하된 서버 처리, 상태 점검, 정상 취소를 다루는 전용 통합 테스트를
tests/embedded_tests.rs에 추가했습니다.
v0.22.0 — 스트리밍 가능한 HTTP/SSE MCP 전송, 대화형 Playground 및 UI 개선
스트리밍 가능한 HTTP/SSE MCP 서버 전송(
mcp-http-server): 독립형 및 데몬 동시 호스팅 HTTP/SSE MCP 서버 엔드포인트(/mcp/sse,/mcp/messages)를 구축하여 원격 AI 에이전트와 IDE(Cursor, Windsurf, Claude Desktop)가 자동 keep-alive와 클라이언트 드리프트 없이 표준 HTTP/SSE 네트워크를 통해 연결할 수 있게 했습니다.데몬 동시 호스팅 및 구성(
mcpHttpServer): 코어/v1HTTP 데몬과 함께 HTTP/SSE MCP 서버 인스턴스를 자동으로 백그라운드 초기화할 수 있는 일급 구성 지원(mcpHttpServer)을 추가했습니다.프로필 제한 및 바인딩 인증 게이트: MCP 서버 전송에 프로필 제한(
profile)을 통합하여 원격 클라이언트에 노출되는 도구와 리소스를 엄격히 격리했습니다. 공용 비루프백 네트워크 인터페이스(0.0.0.0/ 외부 IP)에 바인딩할 때 베어러 토큰 인증을 자동으로 적용했습니다.대화형 MCP Playground 사용성 개선: Web Control Deck MCP Playground에 샘플 템플릿 주입, 동적 형식 전환, 스키마 기반 인수 생성, 실시간 매개변수 검증을 추가했습니다.
UI 전환, 충돌 검사 및 마무리 작업: 대시보드 탭 전체의 페이지 헤더 중복을 제거하고, 버터처럼 부드러운 CSS cubic-bezier 전환을 도입했으며,
prefers-reduced-motion접근성 지원이 포함된 애니메이션 모달 배경과 자동 고유 서버 ID 파생을 통한 충돌 가드를 추가했습니다.
v0.21.0 — Named Server Constellations (Profiles), 신호 수명 주기 및 통합자 생태계
명명된 서버 컨스텔레이션(프로필): 업스트림 MCP 서버 중 작업 관련 하위 집합을 명명된 컨스텔레이션(예:
coding,research,data_science)으로 그룹화할 수 있는 일급 프로필 지원(ProfileConfig)이 추가되었습니다.동적 프로필 선택 및 범위별 ETag 파티셔닝:
X-Warmplane-Profile헤더와?profile=쿼리 매개변수를 통한 요청별 프로필 스코프 지정을 지원했습니다. 카탈로그 엔드포인트(/v1/capabilities,/v1/resources,/v1/prompts) 및 검색(/v1/capabilities/search)은 활성 프로필 외부의 항목을 동적으로 정리하고 결정적 프로필 파티셔닝 ETag(sha256:...-p:<profile_id>)를 유지합니다.MCP 파사드 Stdio 프로필 필터링:
warmplane mcp-server및warmplane list-capabilities에--profile <name>CLI 옵션을 추가하여 에이전트 호스트에 엄격하게 범위가 지정된 MCP 도구 및 리소스 표면을 제공합니다.Web Control Deck 프로필 허브: Web UI 대시보드에 대화형 시각적 프로필 관리자를 추가하여 1클릭 활성 컨스텔레이션 전환, 서버 토글, 실시간 카탈로그 필터링을 지원합니다.
신호 처리 및 프로세스 종료 강화:
SIGINT(Ctrl-C)/SIGTERM에 즉각적인tokio_util::sync::CancellationToken디스패치를 통합하고, SSE 스트림 드레이닝이 차단되지 않게 했으며,kill_on_drop(true)를 통한 자식 프로세스 고아 방지를 추가하고, 3초 제한 안전 종료 시간 초과를 적용했습니다.개발자 및 통합자 생태계 가이드: 공식 Rust Integrators Guide, TypeScript Integrators Guide, Idempotency Architecture Editorial을 게시했습니다.
v0.20.0 — 멀티 테넌트 RBAC 및 결정적 카탈로그 파티셔닝
멀티 테넌트 RBAC 엔진(
src/rbac): 정적 API 토큰, 구성의 토큰-역할 매핑(rbac.tokens), 구성 가능한 비밀 키(rbac.jwt_secret)를 사용한 암호화 HMAC-SHA256 대칭 JWT 서명 검증을 지원하는 역할 기반 접근 제어 엔진을 구축했습니다.결정적 카탈로그 파티셔닝 및 범위 정리:
/v1/capabilities,/v1/resources,/v1/prompts,/v1/capabilities/search를 재구성하여 호출자 역할 및 유효 정책에 따라 항목을 동적으로 필터링합니다. 권한이 없는 항목은 카탈로그 목록 및 검색 쿼리에서 완전히 표시되지 않습니다.테넌트 컨텍스트 주입 및 부인 방지 감사: RBAC 가드 미들웨어(
src/rbac/middleware.rs)를 통해 확인된TenantContext(tenant_id,role,actor_id,grant_id,effective_policy)를 요청 확장에 주입했습니다. 검증된 테넌트/액터 메타데이터를 WORM 감사 이벤트에 자동으로 바인딩했습니다.역할 정책 재정의 및 HITL 위임: 기본 시스템 정책을 재정의하거나 교차하는 사용자 정의
allow,deny,require_approval,redact_keys규칙을 포함한 세분화된 역할 정의(RolePolicyConfig)를 지원했습니다.통합 테스트 스위트: 토큰 인증, 검색 필터링, 카탈로그 격리, 정책 경계 강제, 멀티 테넌트 감사 검증을 다루는 전용 RBAC 통합 테스트(
tests/rbac_integration.rs)를 추가했습니다.
v0.19.0 — 클라이언트 위임 MCP 샘플링, HTTP/SSE 슈퍼바이저 루프 및 강화
클라이언트 위임 MCP 샘플링(
sampling/createMessage): 클라이언트 위임 LLM 완성 역방향 RPC 처리(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)가 제공됩니다.영구 샘플링 상태: 자동 만료 수확 작업과 함께
AtomicFile<HashMap<String, PendingSamplingRequest>>를 통한 원자적이고 재시작에 강한 디스크 저장소(sampling.json)를 추가했습니다.자가 복구 스트리밍 HTTP/SSE 슈퍼바이저: 자동 재연결 백오프, 카탈로그 조정, 저하된 부팅 상태 보고와 함께 원격 HTTP/SSE MCP 서버를 슈퍼바이저 루프에 통합했습니다.
보안 및 DoS 강화: 의미 벡터 검색의 후보 capability 임베딩을
MAX_VECTOR_SEARCH_CANDIDATES = 250으로 제한하고, 감사 내보내기 쿼리를MAX_IN_MEMORY_AUDIT_EVENTS(20,000)로 제한했으며, OAuth 프록시 요청에 대해 Host 헤더 및 루프백 Origin 검사를 적용했습니다.CI 게이팅 및 TypeScript 타입체킹: Web UI CI 파이프라인에 자동화된 TypeScript 타입체킹(
tsc --noEmit)을 추가하고 중복 실행을 없애기 위해 푸시 트리거를main으로 제한했습니다.실용적 Rust 컴플라이언스: 표준 컴플라이언스 헤더(
// Rust guideline compliant YYYY-MM-DD)를 사용하여 전체 51개 소스 파일에서 100% 준수를 달성했습니다.
v0.18.0 — 영구 상태 하위 시스템, 우아한 종료, CI UI 자동화 및 E2E 테스트 스위트
영구 상태 하위 시스템: HITL 대기 승인(
approvals.json), 멱등 실행 기록(idempotency.json), OAuth2 토큰(oauth_tokens.json), 카탈로그 변경 이벤트(catalog_events.json)를 위한 원자적이고 재시작에 강한 디스크 저장소(AtomicFile<T>및StateDirectory)를 추가했습니다.McpConfig에state블록과warmplane config state show/setCLI 명령을 추가했습니다.우아한 신호 처리 및 하위 시스템 종료: Unix와 Windows에서 강력한
SIGINT(Ctrl+C) 및SIGTERM신호 캡처를 추가하고, 우아한 HTTP 서버 드레이닝, 비동기 감사 워커 플러시(AuditWorkerMsg::FlushAndShutdown), 종료 시 stdio 하위 프로세스의 깨끗한 종료를 통합했습니다.실용적 Rust 컴플라이언스: 표준 컴플라이언스 헤더(
// Rust guideline compliant YYYY-MM-DD)를 사용하여 전체 51개 소스 파일에서 100% 준수를 달성했습니다.CI 자동화 Web UI 빌드 및 드리프트 게이트: GitHub Actions CI(
ci.yml) 및 릴리스 파이프라인(release-artifacts.yml)에 Bun을 통합하고 자동화된 빌드 단계와 엄격한git diff --exit-code ui/dist/index.html드리프트 감지를 추가했습니다.포괄적인 엔드투엔드 통합 스위트: stdio MCP 프로토콜 핸드셰이크, 실시간 TCP SSE 스트리밍, 구성 핫 리로드, 자동 401 토큰 갱신을 포함한 목 OAuth2 RFC 8414 공급자 왕복, 슈퍼바이저 복구를 실행하는 전용 E2E 테스트 하네스(
tests/e2e_tests.rs)를 구현했습니다.
v0.17.0 — 360° MCP 탐색기, 시각적 배치 파이프라인 빌더 및 WORM 감사 페이지네이션
WORM 감사 다중 필드 검색 및 페이지네이션: 11개 메타데이터 필드에 대한 대소문자 구분 없는 부분 문자열 검색, 결과 상태 및 서버 필터, 오프셋/한도 페이지네이션 슬라이싱(
/v1/audit/events), 상황 인식 CSV 및 JSONL 내보내기 다운로드(/v1/audit/export)를 추가했습니다.MCP 리소스 탐색기 및 실시간 콘텐츠 리더: 프로토콜 스킴 배지(
file://,postgres://,github://,memory://,sqlite://등), 메타데이터/MIME 뷰어, 컨텍스트 증류(_jsonpath,_limit_lines,_truncate_bytes)를 지원하는 실시간 콘텐츠 리더를 갖춘 360° 리소스 검색 브라우저를 추가했습니다.MCP 프롬프트 템플릿 스튜디오:
REQUIRED검증 배지와 함께 동적 프롬프트 템플릿 탐색 및 인수 양식 생성을 추가하고, 확인된 시스템/사용자 프롬프트 봉투(/v1/prompts/get)를 렌더링합니다.진행 중 작업 취소: 실시간 실행 타이머와 즉각적인 협조적 중단(
POST /v1/operations/:id/cancel)을 갖춘 대화형 UI 실행 취소 컨트롤을 추가했습니다.시각적 다단계 배치 파이프라인 빌더: 매개변수 변수 보간(
${steps[0].result.id}) 및 노드별 내결함성(POST /v1/tools/batch_call)을 갖춘 도구 연결용 대화형 모달 파이프라인 편집기를 추가했습니다.실시간 SSE 상태 동기화: Control Deck의 리소스, 프롬프트, 카탈로그 피드를 자동으로 새로 고치도록
/v1/resources/updatesSSE 스트림을 연결했습니다.
v0.16.0 — 엔터프라이즈 보안 강화, 감사 암호화 무결성 및 수명주기 복원력
API 토큰 인증 및 미들웨어 가드: Bearer/X-Warmplane-Key 인증으로 데몬 엔드포인트를 안전하게 보호하기 위해
--auth-tokenCLI 매개변수,McpConfig.auth_token구성 필드,WARMPLANE_AUTH_TOKEN환경 변수 지원을 추가했습니다.OAuth 프록시 보안 및 비밀 마스킹: Host 검증 및 교차 출처 브라우저 차단으로 OAuth 프록시 리스너를 강화하고, 로그 출력에서
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 명령에서 출력하기 전에 비밀을 정화했습니다.슈퍼바이저 및 서킷 브레이커 조정: 슈퍼바이저 재연결 성공 시 서킷 브레이커를 자동으로 리셋하고,
HalfOpen서킷 브레이커 상태에 단일-플라이트 프로브 제한을 추가했으며, 60초 슬라이딩 윈도우 재시작 백오프를 구현했습니다. 카탈로그 조정 중 제거된 항목을 정리하고, 서버 마운트 해제 시 서킷 브레이커를 정리했습니다.리소스 상한 및 안전 제어:
MAX_BATCH_STEPS = 50및DEFAULT_BATCH_TIMEOUT_MS = 60_000실행 예산을 적용했습니다. 와일드카드 JSONPath 출력 확장을 10,000개 항목으로, 검색 결과를 100개로 제한했습니다. 알 수 없는 작업 취소에 대해POLICY_DENIED(HTTP 403) 및 404를 반환하고, 수식 주입에 대비해 CSV 감사 내보내기를 정화했습니다.CI 품질 게이트 및 종속성 감사: GitHub Actions CI에 네이티브
cargo-audit스캔을 통합하고, 보고된 모든 보안 권고를 해결하도록 종속성을 업데이트했습니다.CLI 버전 플래그:
warmplane바이너리 파서에서 표준--version및-V플래그를 활성화했습니다.
v0.15.0 — 내결함성, 부팅 복원력 및 Control Deck 기능 패리티
부팅 복원력 및 저하된 시작: 업스트림 서버(예: Docker, 원격 SSE 엔드포인트, 구성되지 않은 도구)가 실패하거나 시간 초과되면 데몬이 정상적으로 부팅됩니다. 실패한 서버는 데몬을 중단시키거나 다른 정상 업스트림을 차단하지 않고
degraded로 표시됩니다.프로세스 슈퍼바이저 및 서킷 브레이커: 상태 추적(
CLOSED,OPEN,HALF-OPEN)과 지수 백오프 재시작 감독을 갖춘 서버별 및 전역 서킷 브레이커(failureThreshold,cooldownMs,autoRestart,maxRestarts)를 제공합니다.완전한 Web UI 기능 패리티:
서버 허브: 서버 카드 편집 워크플로(
✏️ Edit), 실시간 서킷 브레이커 텔레메트리 배지, 서버 복원력 표시기.템플릿 마법사: 1클릭 큐레이팅 서버 설정 내부에 직접 포함된 내결함성 및 슈퍼바이저 구성 아코디언.
대화형 플레이그라운드: 컨텍스트 증류 컨트롤(
_jsonpath,_limit_lines,_truncate_bytes) 및 실행 지연 시간 측정.실시간 상태 표시 점(
connected🟢,degraded🟡,error🔴)이 있는 반응형 Bento-Grid 개요 카드.
CLI 복원력 구성: 헤드리스 서킷 브레이커 관리를 위한
warmplane config resilience set및warmplane config resilience show.
v0.14.0 — 에이전트 강화 스위트: 파사드 검색, 컨텍스트 증류 및 다단계 배치
MCP 파사드 하이브리드 검색: 키워드, 태그, 서버 ID, 실행 모드 필터를 갖춘
capability_search도구를 MCP stdio 파사드에 노출했습니다.컨텍스트 증류 및 잘라내기: LLM 컨텍스트 창을 과도한 출력으로부터 보호하기 위해
/v1/tools/call및capability_call에_jsonpath,_limit_lines,_truncate_bytes수정자를 추가했습니다.다단계 체인 배치 호출:
$step.field참조 보간을 통한 단일 왕복 종속 도구 실행을 위해POST /v1/tools/batch_call및capabilities_batch_call을 추가했습니다.
v0.13.0 — HITL(Human-in-the-Loop) 승인 엔진 및 서명된 웹훅
승인 인터셉터: 민감한 기능 호출에 대한 정책 기반 일시 중지(
requireApproval).운영자 REST API: 목록(
/v1/approvals), 조회, 수정된 인수로 승인(/v1/approvals/:id/approve) 또는 거부(/v1/approvals/:id/reject)를 위한 엔드포인트를 제공합니다.서명된 HMAC 웹훅: 승인 수명 주기 이벤트에 대한 SHA-256 HMAC 서명 헤더가 포함된 실시간 웹훅 전송.
구성 가능한 TTL 만료: 구조화된 취소 봉투를 반환하는 자동 타임아웃 만료(
approvalTimeoutSecs).
v0.12.0 — 암호화 WORM 감사 로그 및 SIEM 스트리밍
도구 실행 및 HITL 결정 이벤트에 대한 추가 전용 선형 SHA-256 해시 체이닝.
감사 검증 및 내보내기 엔드포인트(
/v1/audit/...), Splunk HEC 및 일반 웹훅 수집.
v0.11.0 — Control Deck 웹 UI 및 동적 업스트림 핫 리로드
Control Deck 웹 UI:
/ui및/에 임베디드된 의존성 없는 웹 대시보드로, 실시간 텔레메트리, 서버 관리자, 대화형 도구 플레이그라운드, 정책/마스킹(redaction) 관리자, 별칭 레지스트리를 제공합니다.무중단 동적 업스트림 마운팅: 데몬 프로세스를 재시작하지 않고 REST/UI/CLI를 통해 stdio, HTTP, OAuth2 업스트림 워커를 동적으로 마운트 및 언마운트합니다.
동적 카탈로그 및 ETag: 자동 SHA256 ETag 재계산과 서버 변경 시 SSE 리소스 알림을 포함하는 동시성 안전 상태 관리.
명시적 설정 핫 리로드:
mcp_servers.json의 수동 편집에 맞게 인메모리 워커를 깔끔하게 조정하는warmplane reloadCLI 명령과POST /v1/config/reload엔드포인트를 추가했습니다.
v0.10.0 — CLI 설정 관리 및 생태계 임포터
대화형
inquire마법사와 플래그 기반 헤드리스 자동화를 갖춘warmplane server(add,remove,list,get,test) 명령을 추가했습니다.안전하고 트랜잭션 방식의 설정 변경을 위해
warmplane config(init,show,import,alias,policy)를 추가했습니다.Claude Desktop, Cursor, Zed 설정에서 자동 검색 및 가져오기를 추가했습니다.
JSON 손상을 방지하는 원자적 설정 파일 쓰기(
fs::rename)를 추가했습니다.
v0.9.0 — MCP 2026-07-28 스펙 준수, MRTR 및 구독
공식 MCP Rust SDK
rmcp 3.1.2및reqwest 0.13으로 업그레이드했습니다."2025-11-25"에 대한 하위 호환성을 유지하면서 기본 프로토콜 버전을"2026-07-28"로 설정했습니다.HTTP REST, stdio 파사드, 업스트림 워커 전반에 다중 왕복 요청(MRTR) 지원(
input_responses및request_state)을 추가했습니다.캐시 힌트(
ttl_ms: 300000,cache_scope: "public")와 카탈로그 목록의 결정적 알파벳순 정렬을 추가했습니다.실시간 알림을 위해 stdio 파사드에
subscriptions_listen도구를 추가하고/v1/resources/updatesSSE 스트림을 추가했습니다.OAuth 2.0 흐름에 대해 RFC 9207 / SEP-2468
iss콜백 검증을 확인했습니다.
v0.8.0 — 의미론적 벡터 임베딩 및 FastEmbed ONNX 파이프라인
선택적
--features semantic-search에서 조밀 코사인 벡터 유사도를 갖춘 FastEmbed ONNX 임베딩 파이프라인을 통합했습니다.BM25 키워드 매칭과 조밀 벡터 검색을 결합한 하이브리드 상호 순위 융합.
v0.7.0 — 실용적 Rust 현대화 및 빌더 패턴
Microsoft의 Pragmatic Rust Guidelines(AGENTS.md)를 전면 채택했습니다. 핵심 상태(AppStateBuilder), 검색 필터(SearchFilterBuilder), 요청 컨텍스트(RequestContextBuilder)에 Builder Pattern(M-INIT-BUILDER)을 구현했습니다. 오류 안전성(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 헤더, 304 Not Modified를 반환하는 If-None-Match 조건부 요청. 커서 기반 페이지네이션이 있는 GET /v1/catalog/events 변경 피드.
v0.3.0 — 하이브리드 검색
BM25 점수화, 선택적 FastEmbed 벡터 임베딩, 태그/서버 ID 필터, 순위가 매겨진 결과를 제공하는 POST /v1/capabilities/search.
BM25 점수화, 선택적 FastEmbed 벡터 임베딩, 태그/서버 ID 필터, 순위가 매겨진 결과를 제공하는 POST /v1/capabilities/search.
문서
문서 | 설명 |
전체 사용 가이드: 설정, 모드, 모든 CLI 명령, 인증, 정책 | |
벤치마크 방법론, 지연 시간 백분위수, 프로파일링 결과 | |
OpenAPI 3.1 스펙 | |
| |
구조화 로그, 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