Skip to main content

AI Agent Framework — automates tasks using AI agents in Docker containers

Project description

Agento

CI License: MIT Python 3.12+

Self-hosted agent automation platform with modular integrations, Python execution runtime, Node.js toolbox, scoped config, and extension modules. Automates tasks using AI agents (Claude Code, OpenAI Codex) in Docker containers.

Why Two Runtimes?

Agento enforces a strict security boundary between the AI sandbox and credentials. The sandbox where agents run has zero access to secrets. The toolbox is the only container that holds credentials, exposed via an MCP server that the agent calls through controlled tool interfaces.

┌───────────────────────────────────────────────────────┐
│                    Docker Network                     │
│                                                       │
│  ┌─────────────┐   ┌─────────────┐   ┌─────────────┐  │
│  │   Sandbox   │   │   Toolbox   │   │     Cron    │  │
│  │   Claude/   │   │   Node.js   │   │    Python   │  │
│  │   Codex     │   │  MCP Server │   │   Consumer  │  │
│  │             │   │             │   │ + Scheduler │  │
│  │ NO secrets  │   │ Credentials │   │  Job Queue  │  │
│  └─────────────┘   └──────┬──────┘   └─────────────┘  │
│                           │                           │
│                     ┌─────┴─────┐                     │
│                     │   MySQL   │                     │
│                     └───────────┘                     │
└───────────────────────────────────────────────────────┘

Quick Start

uv tool install agento-core           # Install the CLI
mkdir my-project && cd my-project
agento install                        # Interactive wizard — scaffolds, starts, migrates

Architecture

Agento runs three Docker containers on a shared network:

  • Cron (Python) -- Job queue consumer, scheduler, CLI host. Manages the lifecycle of agent jobs, runs migrations, and dispatches events. Connects to MySQL for job state, config, and module metadata.
  • Toolbox (Node.js) -- MCP credential broker. Registers tools from modules (MySQL adapters, API clients) and exposes them over stdio. The only container with access to secrets.
  • Sandbox (Claude Code / OpenAI Codex) -- Ephemeral container where the AI agent executes. Has no credentials, no direct database access. Communicates with the toolbox exclusively through MCP tool calls.

Module System

Agento uses a Magento-inspired modular architecture. Each module is a self-contained package.

Core modules ship with the framework in src/agento/modules/ (jira, claude, codex, core, crypt, agent_view).

User modules live in app/code/ and are deployment-specific (gitignored by default).

Every module contains a module.json manifest and optional companion files:

File Purpose
module.json Module manifest (name, version, tools, knowledge)
di.json Dependency injection configuration
events.json Observer declarations for event-driven extensibility
config.json Default config values with field metadata
cron.json Scheduled job definitions
sql/*.sql Schema migrations
data_patch.json Data patches applied during setup

Config follows a 3-level fallback: ENV vars (CONFIG__MODULE__PATH) take highest priority, then DB (core_config_data), then config.json defaults. Config can be scoped per agent_view for multi-tenant setups.

Events use an observer pattern. Modules declare observers in events.json and the framework dispatches events synchronously during lifecycle hooks (job start, job complete, schedule tick, etc.).

Installation

Docker Compose (recommended)

For end users, demos, PoC, and self-hosting:

uv tool install agento-core          # or: pip install agento-core
mkdir my-project && cd my-project
agento install                        # Interactive wizard — scaffolds, starts, migrates

The installer offers Basic (recommended) and Advanced modes. Basic uses sensible defaults. Advanced lets you configure Docker project name, MySQL port, and timezone for multi-instance setups.

System check

agento doctor                         # Verify prerequisites

Creating Your First Module

agento module:add my-app \
  --description="My application module" \
  --tool mysql:mysql_prod:"Production database (read-only)"

This creates a module in app/code/my-app/ with a module.json, config.json, and knowledge/ directory. Set credentials with:

agento config:set my_app/tools/mysql_prod/host 10.0.0.1
agento config:set my_app/tools/mysql_prod/pass secret123

See Creating a Module for the full guide.

Documentation

Full developer documentation is available in docs/:

Contributing

Contributions are welcome. See CONTRIBUTING.md for guidelines on setting up a development environment, running tests, and submitting pull requests.

License

MIT. See LICENSE for the full text.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agento_core-0.2.4.tar.gz (177.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agento_core-0.2.4-py3-none-any.whl (248.2 kB view details)

Uploaded Python 3

File details

Details for the file agento_core-0.2.4.tar.gz.

File metadata

  • Download URL: agento_core-0.2.4.tar.gz
  • Upload date:
  • Size: 177.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for agento_core-0.2.4.tar.gz
Algorithm Hash digest
SHA256 3a14410c205fe2d916b1ed75bb3b41d07e6c07e19265d92419df364daab94297
MD5 2e6aff2903e64a37e6d3c585c91bf9b4
BLAKE2b-256 df17f67e4d9d357367b472e9387c27ee3f347f4b33feb63f3d4b43d753f89343

See more details on using hashes here.

Provenance

The following attestation bundles were made for agento_core-0.2.4.tar.gz:

Publisher: release.yml on agento-cc/agento

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agento_core-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: agento_core-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 248.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for agento_core-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f8b0112aa62cc539453adb38176adf830fb7a5d513d0fe7e3917e0b904f88e69
MD5 888ff9fc479fa721a15b8441115f0ea2
BLAKE2b-256 2316184d17362ff5c34cc3013e6db8199ef34df0caeb838f1ff0c39a8766f713

See more details on using hashes here.

Provenance

The following attestation bundles were made for agento_core-0.2.4-py3-none-any.whl:

Publisher: release.yml on agento-cc/agento

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page