Build production-ready multi-agent systems in minutes, not months.
π§ Implementation Status
This documentation represents the intended system design and serves as acceptance criteria for development. Caxton is currently in active development with core functionality being implemented according to the architectural vision defined in ADRs 28-30.
Current State: Domain modeling and type system foundation (see
domain-modeling-experimentbranch) Target: Configuration-driven agents with 5-10 minute onboarding experienceFeatures described below represent the planned architecture and user experience goals.
Caxton is a production-ready server that orchestrates multi-agent systems. Create simple agents using TOML configuration files, with deployable WebAssembly MCP servers providing tools and functionality. Includes built-in message routing, fault tolerance, and observability.
β οΈ Important: Caxton is a standalone server application, not a Rust library. You install and run it like any other server (Redis, Nginx, etc.) and interact with it via CLI or API. Unlike traditional databases, Caxton requires no external dependencies - not even PostgreSQL.
Caxton is a multi-agent orchestration server - like Redis for caching or PostgreSQL for data, but for coordinating intelligent agents.
You install Caxton, create agent configurations in TOML files, and it handles all the complex distributed systems challenges: message routing, fault tolerance, observability, and scaling.
β 5-10 minute agent creation - Simple TOML configuration files β Embedded memory system - Built-in SQLite + vector search, no external databases β Production-ready - Built-in observability, fault tolerance, and horizontal scaling β Zero compilation - Configuration agents run immediately, no toolchain setup β Deployable MCP servers - WebAssembly MCP servers provide tools and functionality to agents
Caxton runs as a server on your infrastructure:
Quick Install (Linux/macOS):
curl -sSL https://caxton.io/install.sh | shPackage Managers:
# macOS
brew install caxton
# Ubuntu/Debian
sudo apt install caxton
# Docker
docker run -d -p 8080:8080 caxton/caxton:latestVerify Installation:
caxton version
caxton server status# 1. Start the server (10 seconds)
caxton server start
# β Server running at http://localhost:8080
# β Dashboard available at http://localhost:8080/dashboard
# β Embedded memory system initialized
# 2. Create your first agent (2 minutes)
cat > data-analyzer.toml << EOF
name = "DataAnalyzer"
capabilities = ["data-analysis", "report-generation"]
tools = ["http_client", "csv_parser"]
memory_enabled = true
system_prompt = '''
You are a data analysis expert. You can fetch CSV data from URLs
and provide insights and summaries.
'''
documentation = '''
# DataAnalyzer Agent
I analyze data and create reports from CSV files.
'''
EOF
# 3. Deploy the configuration agent (5 seconds)
caxton deploy data-analyzer.toml
# β Agent 'DataAnalyzer' deployed and ready
# β Memory system connected
# β Tools available: http_client, csv_parser
# 4. Test it immediately (30 seconds)
caxton chat DataAnalyzer \
"Analyze the sales data at https://example.com/sales.csv"
# [DataAnalyzer] Fetching CSV data...
# [DataAnalyzer] Found 1,247 sales records from Q3 2024
# [DataAnalyzer] Key insights: Revenue up 23%, top product is Widget Pro...
# [DataAnalyzer] Storing analysis patterns in memory for future use
# That's it! You have an intelligent agent that learns and remembers.
# No compilation. No external databases. No complex setup.Caxton is a standalone application server that hosts and orchestrates agents using a hybrid architecture:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Your Infrastructure β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββ ββββββββββββββββββββββββββββββ β
β β CLI Tool β β Management Dashboard β β
β β (caxton) β β (Web UI - Future) β β
β ββββββββ¬βββββββ ββββββββββββ¬ββββββββββββββββββ β
β β β β
β β Network β β
β βββββββββββββ¬ββββββββββββββββ β
β β β
β ββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ β
β β Caxton Server Process β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β Management API Layer β β β
β β β β’ REST/HTTP API (port 8080) β β β
β β β β’ Authentication β’ Authorization β β β
β β ββββββββββββββββββ¬βββββββββββββββββββββββββββββ β β
β β β β β
β β ββββββββββββββββββΌβββββββββββββββββββββββββββββ β β
β β β Agent Runtime Environment β β β
β β β βββββββββββ βββββββββββ βββββββββββ β β β
β β β β Agent A β β Agent B β β Agent C β ... β β β
β β β β(Config) β β(Config) β β(Config) β β β β
β β β ββββββ¬βββββ ββββββ¬βββββ ββββββ¬βββββ β β β
β β β βββββββββββββΌββββββββββββ β β β
β β β β β β β
β β β ββββββββββββββββββΌβββββββββββββββββββββ β β β
β β β β Message Bus + Memory System β β β β
β β β β (SQLite + Vector Search) β β β β
β β β βββββββββββββββββββββββββββββββββββββββ β β β
β β βββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β
β β βββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β Observability Layer β β β
β β β β’ Structured Logs β’ Metrics (Prometheus) β β β
β β β β’ Distributed Traces (OpenTelemetry) β β β
β β βββββββββββββββββββββββββββββββββββββββββββββββ β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Key Points:
- Server Process: Runs as a system service (systemd, Docker, or Kubernetes)
- Simple Agent Model: Configuration agents (primary) with deployable MCP servers
- Embedded Memory: SQLite + vector search with no external dependencies
- Simple Messaging: Agents communicate via lightweight message patterns
- Management API: Control plane for deploying and managing agents
- Observable by Design: Built-in logging, metrics, and distributed tracing
Unlike traditional libraries, Caxton runs independently from your application code. You create agent configurations and deploy them - no compilation or Rust knowledge required for most use cases.
| Capability | Description |
|---|---|
| Simple Agents | Create agents in 5-10 minutes using TOML config files |
| Embedded Memory System | Built-in SQLite + vector search, no external DBs |
| Message Routing | Simple agent communication patterns |
| MCP Server Deployment | Deployable WebAssembly MCP servers provide tools |
| Fault Isolation | Agent crashes don't affect other agents or the server |
| Resource Management | CPU and memory limits per agent with monitoring |
| Observability | Logs, metrics, and traces out of the box |
| Hot Deployment | Deploy/update agents without server restart |
| API Access | Full control via REST/HTTP API |
Most agents can be created using simple TOML configuration files:
name = "ChatBot"
version = "1.0.0"
capabilities = ["conversation", "customer-support"]
tools = ["knowledge_base", "ticket_system"]
memory_enabled = true
system_prompt = '''
You are a helpful customer support agent. You can access our knowledge base
and create support tickets when needed.
'''
user_prompt_template = '''
Customer inquiry: {{message}}
Previous conversation: {{conversation_history}}
Knowledge base context: {{relevant_knowledge}}
'''
documentation = '''
# ChatBot Agent
I provide customer support by accessing our knowledge base and
creating support tickets when needed.
'''For custom tools or functionality, you can create WebAssembly MCP servers:
// Example MCP server in Rust
#[no_mangle]
pub extern "C" fn handle_tool_call(call_ptr: *const u8, call_len: usize)
-> i32 {
// Your custom tool logic here
}For detailed examples and language-specific guides, see the Building Agents Guide.
π Full Documentation - Complete guide to Caxton
- π Installation - Get Caxton installed
- β‘ Quick Start - Configuration agents in 5 minutes
- π― First Agent - Create your first configuration agent
- π§ Configuration - Configure Caxton
- π API Reference - Complete API docs
- π Production Guide - Deploy to production
Most agent frameworks either:
- Require 2-4 hours to create your first working agent
- Lock you into specific AI/LLM providers or programming languages
- Hide communication complexity (making debugging impossible)
- Require external databases and complex infrastructure setup
Caxton takes a different approach:
- 5-10 minute onboarding: Create agents with simple configuration files
- No external dependencies: Embedded memory and messaging systems
- Observable by design: Comprehensive logging and OpenTelemetry tracing
- Progressive complexity: Start with configs, upgrade to WASM when needed
Caxton is a multi-agent orchestration server that handles:
- Simple Agent Runtime: Deploy and run agents from TOML configuration files
- Embedded Memory System: SQLite + vector search with automatic knowledge management
- Simple Messaging: Lightweight agent communication patterns
- Production Observability: Structured logging, tracing, and metrics
Caxton runs as a standalone server (like PostgreSQL or Redis) and manages all agent coordination for you.
Caxton includes an embedded memory system that works out of the box:
- Zero external dependencies - Built-in SQLite + vector search using All-MiniLM-L6-v2
- Automatic knowledge management - Agents learn from interactions and store patterns
- Semantic search capabilities - Find relevant context using vector similarity
- Pluggable backends - Upgrade to Neo4j or Qdrant for high-scale deployments
Configuration agents automatically use the memory system to provide context-aware responses and learn from successful interactions. See ADR-0030 for technical details.
Agents can access external tools through the Model Context Protocol, including state persistence:
// In your agent (JavaScript example)
// Search the web
const result = await mcp_call("web_search", {
query: "latest news on quantum computing",
});
// Persist state (business provides the backend)
await mcp_call("state_tool", {
action: "store",
key: "agent_checkpoint",
value: currentState,
});Caxton provides:
- Configuration-driven agent runtime with 5-10 minute onboarding experience
- Embedded memory system with SQLite + vector search for knowledge management
- Simple messaging using lightweight agent communication patterns
- MCP server deployment for WebAssembly tools and functionality
- Observable agent communications with full tracing and debugging support
We're intentionally NOT building:
- AI/LLM providers or model hosting (agents use external providers)
- Complex orchestration languages or workflow engines
- Agent hierarchies or permissions systems beyond basic capability routing
- Infrastructure-level consensus protocols (Raft, Paxos, PBFT) - use external coordination services
- Built-in code compilation or language toolchains
These can all be built as libraries or external services that integrate with Caxton.
Caxton is developed using Claude Code, Anthropic's official CLI for Claude. This provides:
- AI-Assisted Development: Most code is written with Claude Code's assistance using the SPARC workflow
- Type-Driven Design: Emphasis on making illegal states unrepresentable through Rust's type system
- Test-Driven Development: Strict Red-Green-Refactor discipline following Kent Beck's practices
- Systematic Knowledge Building: AI agents accumulate knowledge across development sessions
The development environment uses Model Context Protocol (MCP) servers for tool access:
Cargo MCP Server (cargo namespace):
cargo_test- Run tests (replacescargo nextest run)cargo_check,cargo_clippy,cargo_build- Code quality and compilationcargo_add,cargo_remove,cargo_update- Dependency managementcargo_run- Execute project binaries
Git MCP Server (git namespace):
git_status,git_diff,git_log- Repository stategit_add,git_commit,git_push- Version control operationsgit_branch,git_checkout,git_merge- Branch management
GitHub MCP Server (github namespace):
create_pull_request,update_pull_request- PR managementget_pull_request_status,list_pull_requests- PR queriesadd_issue_comment,create_and_submit_pull_request_review- Code reviews
- Story Selection: Pick from PLANNING.md backlog
- Research: AI agent researches unknowns and documents findings
- Planning: AI agent creates TDD implementation plan
- Implementation: Three specialized AI agents handle TDD phases:
red-implementer: Writes failing testsgreen-implementer: Implements minimal passing coderefactor-implementer: Improves code structure
- Expert Review: AI agent validates architecture and type safety
- PR Creation: AI agent creates draft PRs for human review
# Install Claude Code
curl -sSL https://claude.ai/install | sh
# Clone the repository
git clone https://github.com/caxton-ai/caxton.git
cd caxton
# The MCP servers are already configured in .claude/
# Start development with SPARC workflow
claude /sparcAll AI agents store knowledge in MCP memory, building institutional knowledge that improves development quality over time.
We welcome contributions! See CONTRIBUTING.md for guidelines.
Key areas where we need help:
- Example agents and patterns
- Performance optimizations
- Language bindings for agent development
- Debugging and visualization tools
Caxton is dual-licensed under Apache 2.0 and MIT licenses.
Caxton is inspired by the Actor model, the BEAM VM's approach to fault tolerance, and decades of research in multi-agent systems. Special thanks to the WebAssembly and Rust async communities.