Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Agento

Security by design, not by prompt.

CI License: MIT Python 3.12+

Stop running agents in YOLO mode. Build them with isolation, policy, and modular control.

Agento is an open-source, self-hosted platform for building modular agentic software with hard runtime boundaries, controlled tool access, secure secrets handling, and deployment-specific extensibility.

Modern agent stacks are powerful, but in practice they are often glued together from prompts, scripts, MCP servers, and broad permissions. The result is fragile and risky: duplicated files, unclear tool access policies, missing human approval steps, over-permissioned agents, and no clean way to route the right task to the right agent and model.

Agento is extensible by design. Creating and sharing custom modules is simple. Want to distribute your QA agent as a reusable template? Package it as a self-contained module and share it with your team, your clients, or the community.

Why Agento?

  • Secure by architecture — agents run in an isolated sandbox without direct access to secrets.
  • Controlled tool access — enforce policies for tools like email, browser, and external systems.
  • Modular by default — extend behavior through modules, not by patching core code.
  • Deployment-specific customization — adapt agents, policies, and workflows per workspace or environment.
  • Routing-ready — decide which agent, model, and tool policy should handle each task.
  • Built for self-hosting — keep control over your infrastructure, credentials, and runtime boundaries.

The problem

Teams adopting AI agents quickly run into the same issues:

  • too many separate agents with duplicated prompt and config files,
  • unclear separation between runtime, tools, and secrets,
  • agents operating with permissions that are too broad,
  • missing or weak HITL / approval flows,
  • no enforceable policy layer for actions like sending email or browsing the web,
  • no clean routing layer for deciding which task should go to which agent and model.

We keep hearing the same failure stories: deleted workspaces, leaked emails, agents browsing beyond intended domains, and automations acting with more access than they should ever have had.

The solution

Agento brings structure, security, and extensibility to agentic systems through:

  • task routing
  • runtime isolation
  • tool access policies
  • secrets separation
  • filesystem and environment separation
  • custom MCP-based security proxy
  • module-driven extensibility

Inspiration

Agento is inspired by Magento Open Source — especially its extensibility, extension-first architecture, and strong community model — but rethought for the age of AI agents, MCP tools, and secure autonomous workflows.

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 / Pi -- the set is open, see the harness contract) -- 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, pi, 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

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

Admin TUI

agento admin launches an interactive terminal dashboard for operational visibility and configuration management.

Admin TUI

  • Dashboard -- system health, recent jobs, credentials, agent views at a glance
  • Jobs -- browse, filter, search, view details, replay jobs
  • Agents -- manage agent views, trigger workspace builds
  • Credentials -- usage stats, clear error state, deregister
  • Config -- schema-driven editor with scope selector and live search

Keyboard-first with full mouse support. See Admin TUI docs for details.

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.

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.16.2rc1.tar.gz (712.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.16.2rc1-py3-none-any.whl (920.8 kB view details)

Uploaded Python 3

File details

Details for the file agento_core-0.16.2rc1.tar.gz.

File metadata

  • Download URL: agento_core-0.16.2rc1.tar.gz
  • Upload date:
  • Size: 712.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for agento_core-0.16.2rc1.tar.gz
Algorithm Hash digest
SHA256 8e0881c2a97d1b887f79451d68df1b6e4ff66aa86efd585c73a79b0b4938c6d8
MD5 f1c60111d9e9b3278efd9d80773502fa
BLAKE2b-256 f878a747af461e97aa4924766a0b96ec1707d0c2d1a6cc7eeae98a02e496e9c3

See more details on using hashes here.

Provenance

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

Publisher: release.yml on openagento/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.16.2rc1-py3-none-any.whl.

File metadata

  • Download URL: agento_core-0.16.2rc1-py3-none-any.whl
  • Upload date:
  • Size: 920.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for agento_core-0.16.2rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 00ba262dcea221f4e5896f1f4a61bb4d80f94a7388ae5f5a010e471633468ae3
MD5 13eb004d1b147c13c8f583d043c09720
BLAKE2b-256 420216f6bd330416b50283a317c03337a874e23d341d5cafcf5096622d94d79c

See more details on using hashes here.

Provenance

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

Publisher: release.yml on openagento/agento

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

Release history Release notifications | RSS feed

This release

0.16.2rc1 This release

2 files

0.16.1

2 files

0.16.0

2 files

0.15.0

2 files

0.14.0

2 files

0.13.1

2 files

0.13.0

2 files

0.12.2

2 files

0.12.1

2 files

0.12.0

2 files

0.11.1

2 files

0.11.0

2 files

0.10.3

2 files

0.10.2

2 files

0.10.1

2 files

0.9.6

2 files

0.9.5

2 files

0.9.4

2 files

0.9.3

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.4

2 files

0.8.3

2 files

0.8.2

2 files

0.8.1

2 files

0.7.7

2 files

0.7.5

2 files

0.7.4

2 files

0.7.3

2 files

0.7.1

2 files

0.7.0

2 files

0.6.0

2 files

0.4.0

2 files

0.3.2

2 files

0.3.1

2 files

0.2.4

2 files

0.2.3

2 files

0.1.5

2 files

0.1.4

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page