This release is a pre-release and may not be stable for production use.
Agento
Security by design, not by prompt.
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 with no access to the credential store; the one scoped exception is the per-run git SSH identity (see
DECISIONS.mdD-SSH-1). A scheduled agent runs as the cron container's own uid, but the store is not reachable from it: it lives in a root-only file that a root-owned program reads before dropping privilege in-process, so it never crosses anexecve(D-SSH-1 residual channel (6), closed 2026-09-23). - 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 MCP (streamable HTTP
/mcp, SSE/sse). Designed to be the only container that holds tool credentials (known gaps: zero-trust). - Sandbox (Claude Code / OpenAI Codex / Pi -- the set is open, see the harness contract) -- Ephemeral container for interactive
agento run. Holds no tool credential and no database access; it gets only the harness/provider API credential its own run needs, delivered per run. One documented exception: the git SSH identity, delivered per run as a signing capability (SSH_AUTH_SOCK) from a privatessh-agent, never as a key file (DECISIONS.mdD-SSH-1). Headless jobs run the agent inside thecroncontainer (known gaps: zero-trust). 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
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
Admin TUI
agento admin launches an interactive terminal dashboard for operational visibility and configuration management.
- 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/:
- Getting Started -- Install and create your first module
- CLI Reference -- All
agentocommands - Module Guide -- Creating and managing modules
- Config System -- 3-level fallback, encryption, ENV vars
- Architecture -- Containers, zero-trust, job queue
Roadmap
One module = one integration = a complete package. The framework provides the mechanics, Core defines meaning, and Modules deliver features — every milestone stays backward-compatible and keeps the Python/Node.js security boundary intact.
- ✅ Magento-style module system (manifests, 3-level config, dynamic tool loading)
- ✅ Core contracts & module-driven registries (channels, workflows, runtimes)
- ✅ Framework kernel & scoped configuration (per-module config, deterministic load order)
- ✅ Event–observer system (
events.json, cross-module composition) - ✅ Core module refactoring (framework has zero module imports)
- ✅ Module setup system (
setup:upgrade— migrations, data patches; cron is rendered by the container's root installer) - ✅ Workspace & agent-view hierarchy (scoped config, generated CLI configs)
- ✅ Concurrent agent-view execution pool (parallel profiles, priority scheduling)
- ✅ Ingress identities & agent resolution (deterministic, module-extensible routing)
- ✅ Composable workspace, skills & tools (CLI-managed tool/skill control)
- 🟡 Developer experience & open-source polish (docs, CI boundary tests)
- 🟡 Event coverage & naming convention (
{subject}_{verb}_{before|after}) - 🟡 Composable workspace automation (auto-rebuild, build GC — scheduled sync pending)
- ⚪ Admin API & Agent Studio (control plane for workspaces & agent views)
- ⚪ Credential broker / key vault (broker-owned secrets, reference-based config)
- ⚪ Response locale policy (per-scope output language)
- ⚪ OAuth token pools (capacity-based rotation, per-agent-view assignment)
- ⚪ Distribution & installation model (pre-built images, no local build)
- ⚪ Observability, telemetry & evals (OpenTelemetry traces, eval datasets, regression gates)
- ⚪ Dynamic harness/model/effort routing (rule-based pre-execution task assessment)
- ⚪ Job threads, handoffs & shared artifacts (grouped jobs, agent-to-agent handoff packages)
- ⚪ Areas / selective module loading (parked)
- ⚪ Declarative schema
db_schema.json(deferred)
Legend: ✅ shipped · 🟡 in progress · ⚪ planned. This is the short preview — see the full roadmap in ROADMAP.md.
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.
Release files for agento-core 0.16.3rc1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agento_core-0.16.3rc1.tar.gz | 750.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agento_core-0.16.3rc1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.7 MB
Release files / agento_core-0.16.3rc1.tar.gz
| Download URL | agento_core-0.16.3rc1.tar.gz |
|---|---|
| Size | 750.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
96b77be27646973c98b7a5033848546892d33fe3af0e22036fbce957385a1822
|
|
BLAKE2b-256 checksum How to use checksums |
3c1e5ee67aadb99b7df309dbc45168799b685694ee7d6c6beb38852df6b719ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.
Transparency logRelease files / agento_core-0.16.3rc1-py3-none-any.whl
| Download URL | agento_core-0.16.3rc1-py3-none-any.whl |
|---|---|
| Size | 965.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bdeeac8bd89e725d73b5db9236f3ab7bfee89b526354bba1270d30c22727e4bc
|
|
BLAKE2b-256 checksum How to use checksums |
8a24032fc7aabae5e23fda0ad589c946b65ba7a778dc95f425c8ab047fa92a00
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency log