Caxton Documentation
Welcome to the comprehensive documentation for Caxton, the production-ready multi-agent application server.
What is Caxton?
Caxton is a specialized server for coordinating smart software components called “agents” - like Redis for caching or Nginx for web serving, but for managing intelligent automation. You install Caxton, deploy your agents (written in any language that compiles to WebAssembly), and it handles all the complex distributed systems challenges: message routing, fault tolerance, observability, and scaling - all without requiring any external databases or dependencies.
What problems does Caxton solve?
Building intelligent automation is hard. Here are common challenges Caxton addresses:
Coordinating Multiple AI Systems
- Problem: You have different AI models (LLMs, vision models, specialized algorithms) that need to work together
- Solution: Caxton routes messages between agents, so your GPT-4 agent can request image analysis from your vision agent
Scaling Smart Applications
- Problem: Your AI application works great for one user, but breaks under load or when processing multiple requests
- Solution: Caxton handles resource management, queuing, and scaling so your agents stay responsive
Integrating with Existing Systems
- Problem: Your AI agents need to read databases, call APIs, send emails, or interact with other services
- Solution: Caxton’s tool system (MCP bridges) lets agents safely interact with external systems
Making AI Systems Observable
- Problem: When your AI application misbehaves, you can’t see what went wrong or why
- Solution: Caxton provides built-in tracing and monitoring so you can debug distributed AI workflows
Real-World Examples
- Customer Service: Route inquiries between specialist agents (billing, technical, sales)
- Content Processing: Coordinate agents that analyze, summarize, and moderate user-generated content
- E-commerce: Have agents handle inventory, recommendations, and fraud detection working together
- Data Analysis: Pipeline where agents clean data, run analysis, and generate reports
Quick Links
Quick Start
Get up and running with Caxton in 5 minutes
🤖Build Your First Agent
Step-by-step guide to creating and deploying agents
📖API Reference
Complete REST and gRPC API documentation
🏛️Architecture Decisions
Understand the design choices behind Caxton
Core Concepts
Agents
Think of agents as small, focused programs that handle specific tasks. For example:
- A billing agent that processes payments and invoices
- A notification agent that sends emails and texts
- A data agent that reads from databases and APIs
Each agent runs in its own secure sandbox with configurable memory and CPU limits, like lightweight containers but even safer.
Messages
Agents communicate by sending structured messages to each other, similar to REST API calls but between your own components. For example:
{
"type": "request",
"from": "customer-service",
"to": "billing-agent",
"content": "Please create invoice for order #12345"
}
Caxton uses a simplified version of industry-standard agent messaging protocols, keeping the useful parts (reliable delivery, request tracking) while discarding academic complexity. See ADR-0012 for our pragmatic approach.
Observability
When your agents are working together, you need to see what’s happening. Caxton provides:
- Distributed tracing: Follow a customer request across multiple agents
- Performance metrics: See which agents are slow or failing
- Structured logging: Debug issues with detailed, searchable logs
All built-in from day one using industry-standard OpenTelemetry.
Tools (MCP Integration)
Agents often need to interact with external systems. Rather than giving agents direct database access (risky), Caxton provides controlled “tools” they can use:
- Database queries through secure connections
- API calls with rate limiting and error handling
- File system access with proper permissions
- Integration with services like Slack, GitHub, or your internal APIs
This uses the Model Context Protocol (MCP) standard for safe, observable external interactions.
Documentation Structure
Getting Started
- Quick Start - Get Caxton running in minutes
- Installation - Detailed installation instructions for all platforms
- Your First Agent - Build and deploy your first agent
- Configuration - Server and agent configuration reference
Developer Resources
- API Reference - REST and gRPC API documentation
- Rust API Docs - Complete Rust API reference on docs.rs
Operations & Production
- DevOps & Security Guide - Production deployment, monitoring, and security best practices
Architecture & Design
- Architecture Overview - System architecture and design principles
- Architecture Decision Records - Detailed documentation of architectural choices
- Roadmap - Project roadmap and planned features
Contributing
- Contributing Guide - How to contribute to Caxton
- Security Policy - Security guidelines and vulnerability reporting
Need Help?
💬 Community Support
Join our GitHub Discussions to ask questions and share experiences
🐛 Report Issues
Found a bug? Report it on our Issue Tracker
📺 Examples
Check out example agents and use cases in our examples directory