Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Product Scope

This document defines what the Antikythera MCP Framework is, what deployment targets it supports, and what surfaces its public API exposes.

What it is

Antikythera is a Rust-based MCP client framework designed to:

  • prepare and process LLM message flows while leaving the actual model API call to the embedding host
  • connect to MCP tool servers over STDIO and HTTP transports
  • run agent and tool-calling flows with structured step management
  • expose agent logic as a portable server-side WASM component (wasm32-wasip1)
  • provide a native CLI for interactive and automated use

Deployment targets

TargetBuild commandOutput
Native CLIcargo build -p antikythera-cli --releaseantikythera binary
Server-side WASM componentcargo component build -p antikythera-sdk --release --target wasm32-wasip1.wasm component

No browser WASM, no C FFI, and no embedded HTTP server are provided by the framework. A host that embeds the WASM component is responsible for its own transport layer (REST, gRPC, WebSocket, or custom).

Public SDK surface

The antikythera-sdk crate provides the stable integration surface:

AreaKey types
Client and configAppConfig, McpClient, ClientConfig, ChatRequest, PreparedChatTurn
Agent infrastructureAgent, AgentOptions, AgentOutcome, ToolDescriptor
Host model delegationDynamicModelProvider, ModelProvider, HostModelClient, HostModelTransport
Multi-agentMultiAgentOrchestrator, AgentProfile, AgentTask
Routing strategiesDirectRouter, RoundRobinRouter, FirstAvailableRouter, RoleRouter
LoggingConfigLogger, AgentLogger, TransportLogger
SessionSession history types, import/export

CLI modes

The antikythera binary accepts a --mode flag:

ModeDescription
stdio (default)Interactive TUI chat session
setupConfiguration wizard for providers and servers
multi-agentOrchestrator harness for multi-agent task dispatch
wasm-harnessHost-FFI WASM probe for runtime/session/tool-registry validation

Architecture philosophy

The framework is designed around one principle: the host owns the interface layer.

flowchart LR
    HOST[Host application] --> WASM[WASM component]
    HOST --> LLM[LLM provider]
    HOST --> TOOLS[MCP tool servers]
    HOST --> TRANSPORT[Transport: REST / gRPC / custom]
    WASM --> LOGIC[Agent logic and reasoning loop]

The WASM component handles agent reasoning, session continuity, history shaping, and response parsing. The host handles every external integration: LLM calls, tool execution, persistence, and protocol exposure. This keeps the component portable across runtimes and avoids embedding infrastructure concerns inside the framework.

Feature flags

FlagPurposeStatus
multi-agentMulti-agent orchestration runtimeStable
componentServer-side WASM component bindingsActive development
wasm-runtimeWasmtime host for running WASM agentsActive development
wizardConfiguration wizard in CLIStable
cacheResponse caching layerStable
http-providersDeprecated compatibility flag; no active direct model client pathDeprecated
native-transportSTDIO and HTTP MCP transportStable