Skip to content

ComputerPilot MCP v0.8.0 - Cross-Platform Preview

Latest

Choose a tag to compare

@github-actions github-actions released this 14 Oct 19:51
e4930a7

ComputerPilot MCP v0.8.0 - Extensibility & Agent Foundation

ComputerPilot MCP v0.8.0 introduces the Extensibility & Agent Foundation, enabling operators to integrate external Model Context Protocol (MCP) servers alongside native tools through a strictly bounded, supervised stdio runtime.

This release preserves the native 150-tool baseline (on Windows full profile) and default zero-extension operation. External extensions are strictly opt-in, disabled by default, and require explicit local operator approval before execution.

Highlights

Bounded External stdio Transport and Process Lifecycle

  • Dedicated Connection Ownership: Each configured external MCP provider process is entered and exited by exactly one connection owner task (bounded_stdio_transport).
  • Clean Process Tree Reaping: Enforces native process tree ownership using Windows Job Objects (preventing orphan child/grandchild processes upon abrupt termination or exit) and POSIX process groups on Linux and macOS.
  • Finite Deadlines: Bounded timeouts cover startup, handshake, discovery, and tool execution. Slow providers cannot block healthy providers or delay native readiness.
  • Bounded Wire Buffers: Input buffers, line lengths, and JSON-RPC frames are strictly capped to prevent unbounded memory allocation under high throughput or malformed responses.

Schema Validation and Monotonic Catalog Generations

  • Offline Strict Schema Validation: Provider tool schemas are validated using an offline, non-network JSON Schema validator adhering to a deterministic, bounded keyword subset. Remote references, unbounded recursion, and pattern expressions are rejected.
  • Immutable Schema Fingerprint: The first accepted schema fingerprint for each tool is frozen for the entire runtime lifespan. Dynamic schema mutation during reconnects is withheld to protect client predictability.
  • Monotonic Generations: Tool catalogs are tracked as strictly monotonic published generations inside ExtensionRegistry. Catalog updates trigger coalesced notifications and increment monotonic generation numbers without performing unneeded RPC during listing.

Guarded Execution and Core Output Envelopes

  • Guarded Call Boundary: Calls pass through ExtensionLifecycleManager.execute_guarded_call, capturing an immutable admission lease and re-validating tool policy immediately prior to dispatch.
  • Standardized Core Envelope: All external tool calls return a standardized ExtensionResult structure (ok, source_type='external_mcp', extension_id, provider, tool, outcome, content, structured_content, truncated, limits, artifact, error, message).
  • Bounded Previews and Sanitized Artifacts: Large structured results are truncated into bounded inline previews. Operators can optionally enable disk-backed sanitized JSON artifacts managed by the existing retention policy.
  • Comprehensive Secret Redaction: Credential literals and environment tokens are scrubbed from stdout, stderr, logs, audit trails, health snapshots, and artifacts.

Two-Stage Mutation Checkpointing and Uncertainty Durability

  • Two-Stage Dispatch Barrier: Mutating tools operate under a two-stage journal barrier (prepared -> may_dispatch) using schema-1 operation journals.
  • Uncertainty Protection (No Blind Replay): If an external provider disconnects, crashes, times out, or returns ambiguous results after may_dispatch, the operation is durably recorded as uncertain. Blind replays and speculative retries are strictly prohibited.
  • Bounded Admission Quota: Unresolved operations are capped at a quota of 128. Resolved records are compacted (1,000 operations / 30 days) without evicting unresolved records.
  • Manual Reconciliation: Full support for inspecting, acknowledging, and resolving uncertain operations through dedicated recovery APIs.

Adaptive Execution Router Integration

  • Advisory Route Recommendations: The Adaptive Execution Router incorporates external tools as external.mcp candidates when operator intent mappings match.
  • Deterministic Priority: Determinism is capped at 4 for external tools, ensuring native determinism 5 tools take precedence on ties.
  • Explainable Policy Metadata: Recommendations provide explainable candidate rankings with operator policy estimates while keeping router recommendations strictly advisory.

Observability and Operator Console

  • Read-Only Health Projections: Bounded in-memory health snapshots project discovered, approved, eligible, and live tool counts with monotonic ages and zero provider RPC.
  • Local Control Panel: The loopback control panel (http://127.0.0.1:8766/) features a dedicated, read-only external extensions dashboard displaying provider statuses, capabilities, and telemetry.
  • Rolling Telemetry: Per-owner rolling outcome counters (last 64 calls) track durations and failure modes without dynamic provider labeling.

Offline Configuration and Publication

  • Strict Schema 1: Operator configuration (extensions.json) enforces strict schema version 1, unique IDs, absolute executable paths, and env-only credential references.
  • Atomic File Publication: Configuration updates use exclusive file locks, atomic staging, and Compare-and-Swap (CAS) revision checks.
  • Restart-Only Semantics: Configuration changes take effect only upon runtime restart; dynamic hot-reloading is disabled to ensure operational predictability.

Upgrading and Compatibility

  • Baseline Compatibility: Public server identifier remains ali_windows_agent_mcp. Full-profile native tool count remains 150 on Windows.
  • Opt-In Requirement: Extensions are disabled by default (MCP_EXTENSIONS_ENABLED=false). Existing environments run without behavioral change.
  • Disabling Extensions: Setting MCP_EXTENSIONS_ENABLED=false or leaving configuration unconfigured reverts runtime behavior completely to native mode.
  • Data Preservation: Removing or renaming extension definitions preserves all historical recovery journals, audit logs, and unresolved operation records.

Packaging Contract

v0.8.0 provides deterministic source-and-runtime release archives:

  • computerpilot-mcp-v0.8.0-windows-amd64.zip
  • computerpilot-mcp-v0.8.0-linux-amd64.tar.gz
  • computerpilot-mcp-v0.8.0-linux-arm64.tar.gz
  • computerpilot-mcp-v0.8.0-macos-amd64.tar.gz
  • computerpilot-mcp-v0.8.0-macos-arm64.tar.gz
  • SHA256SUMS.txt

Each package includes RELEASE-MANIFEST.json and excludes tracked local state, secrets, virtual environments, and test caches.