jaato
Multi-provider AI orchestration framework with plugin-based tool execution, function calling, and context management.
Choose Your Path
Whether you're building applications, extending functionality, or contributing to the framework itself, we have a guide tailored for you.
Building with jaato
Use jaato as a library to build AI-powered applications with tool execution, multi-turn conversations, and context management.
- Connect to AI providers (Anthropic, Google, GitHub, Ollama, and more)
- Configure and use built-in plugins
- Manage conversation sessions and context
- Integrate MCP servers for extended capabilities
- Handle connection recovery and session persistence
Extending jaato
Create custom tool plugins to add new capabilities. Build both in-tree plugins and external packages that others can install.
- Implement the ToolPlugin protocol
- Define tool schemas and executors
- Package plugins for external distribution
- Test and document your plugins
Contributing to jaato
Help build the framework itself. Contribute to core functionality, add new provider support, or improve existing features.
- Framework architecture and internals
- Building model provider plugins
- Implementing GC (garbage collection) strategies
- Testing and code contribution guidelines
Assessing jaato
Evaluate jaato's architecture for enterprise readiness. Review the model harness, event protocol, permission system, and recovery mechanisms.
- Model harness architecture and instruction assembly
- Server-client event protocol and transport layers
- Permission system and safety controls
- Tool system, deferred loading, and discoverability
- Context management and garbage collection
- IPC recovery and interrupted turn handling
Using jaato TUI
Install and run jaato on your terminal. Set up a provider, authenticate, configure context management, and start chatting with AI.
- Install from TestPyPI and launch the server + TUI
- Choose an AI provider and authenticate
- Configure garbage collection and sessions
- Customize keybindings and themes
Installation
Application developers can choose between the full server or just the lightweight SDK.
# Create a virtual environment
python3 -m venv jaato-env
source jaato-env/bin/activate # Windows: jaato-env\Scripts\activate
# Option 1: Full setup (most users)
pip install \
--extra-index-url https://test.pypi.org/simple/ \
jaato-sdk jaato-server jaato-tui
# Option 2: SDK only (for building custom clients)
pip install \
--extra-index-url https://test.pypi.org/simple/ \
jaato-sdk
SDK-only is ideal for building custom clients against a running jaato server.
See the Quickstart Guide or the
jaato-sdk/README.md
for example code.
Plugin developers need jaato installed to develop against the plugin protocol. Start with the out-of-tree plugin template.
# Install jaato
pip install \
--extra-index-url https://test.pypi.org/simple/ \
jaato-sdk jaato-server
# Get the plugin template
git clone --depth 1 https://github.com/Jaato-framework-and-examples/jaato.git temp-jaato
cp -r temp-jaato/out-of-tree-plugins/moon-phase my-plugin
rm -rf temp-jaato
cd my-plugin
# Install your plugin in development mode
pip install -e .
See the Building Plugins Guide for complete documentation.
Framework contributors should clone the repository to work on jaato itself. This gives you access to all source code, tests, and development tools.
# Clone the repository
git clone https://github.com/Jaato-framework-and-examples/jaato.git
cd jaato
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install all three packages in development mode
pip install -e jaato-sdk/. -e "jaato-server/.[all]" -e "jaato-tui/.[all]"
# Run tests to verify setup
pytest
Read the Contributor Guide to understand the codebase and contribution workflow.
Why jaato?
Multi-Provider Support
Abstract provider layer supporting Anthropic, Google GenAI, GitHub Models, Ollama, and more. Switch providers without changing application code.
Plugin Architecture
Extensible plugin system for tools, garbage collection strategies, and model providers. Built-in plugins for CLI, MCP, file editing, and more.
Function Calling
Robust function calling with automatic tool execution loops, permission checking, and real-time output streaming.
Context Management
Built-in garbage collection strategies to handle long conversations. Truncation, summarization, and hybrid approaches.
Session Persistence
Save and resume conversation sessions. Auto-resume last session, manage multiple sessions, and replay history.
MCP Integration
First-class support for Model Context Protocol servers. Auto-discover tools from connected MCP servers.