← Back to Articles

Technical Deep Dive

Executor vs. AGNT: AI Agent Tool Infrastructure Compared

Plumbing vs. the whole house β€” two radically different approaches to giving AI agents safe, structured access to the world.

March 9, 2026 Β· 3 min read


Connected Network

Photo by Jordan Harrison on Unsplash


The AI agent ecosystem is fracturing into a fascinating stack. At the bottom: tool infrastructure β€” the layer that decides how agents discover, authenticate, and execute external capabilities. Two projects occupy different altitudes of that stack, and comparing them reveals a lot about where agent tooling is headed.

Executor by Rhys Sullivan is a local-first, sandboxed execution runtime β€” a secure control plane that sits between your AI agent and every API it needs to call. AGNT is a full-stack AI agent platform where tool execution is one subsystem among many: agents, workflows, goals, multi-provider LLMs, and 50+ native integrations all live under one roof.

The Core Question: Should your agent's tool layer be a focused, pluggable runtime (Executor) β€” or an integrated subsystem inside a larger platform (AGNT)? The answer depends on what you're building.


1. What Is Executor?

Executor is a local control plane for AI agent tool use. Instead of agents making raw HTTP calls, pasting giant MCP manifests into prompts, or getting broad shell access, they run structured TypeScript code against typed tools.* functions inside a hardened sandbox.

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              AI Agent / LLM                  β”‚
β”‚      (writes TypeScript, calls tools.*)      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                     β”‚
                     β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              EXECUTOR RUNTIME               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚   CLI    β”‚ β”‚  Web UI  β”‚ β”‚  MCP Bridge β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚     SES Sandbox (TypeScript)         β”‚   β”‚
β”‚  β”‚     tools.discover() β†’ tools.call()  β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚    Workspace Tool Catalog            β”‚   β”‚
β”‚  β”‚    (indexed from all sources)        β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜
               β”‚              β”‚          β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”  β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”
        β”‚   MCP   β”‚   β”‚ OpenAPI β”‚  β”‚ GraphQL  β”‚
        β”‚ Servers β”‚   β”‚  APIs   β”‚  β”‚ Endpointsβ”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key capabilities:

Capability Description
Multi-Source Connectors Connect MCP servers, OpenAPI REST APIs, and GraphQL endpoints as tool sources
Semantic Discovery Agents discover tools by intent using tools.discover() β€” not by memorizing endpoints
SES Sandbox Secure EcmaScript compartments β€” no raw shell access, no uncontrolled HTTP
Pause & Resume Execution pauses for OAuth flows, credential capture, or human approval β€” then resumes cleanly
MCP Bridge Executor itself exposes an MCP endpoint, so MCP-compatible hosts can drive it
// Agent discovers tools by intent, then calls them typed
const matches = await tools.discover({ query: 'github issues', limit: 5 });
const detail = await tools.describe.tool({ path: matches.bestPath });

return await tools.github.issues.list({ owner: 'vercel', repo: 'next.js' });

AI Technology

Photo by Andrea De Santis on Unsplash


2. What Is the AGNT Tool & MCP System?

AGNT approaches tool infrastructure as one subsystem of a complete agent operating system. The platform includes:

Capability Description
50+ Native Tools Web search, scrape, GitHub, Gmail, Slack, Discord, Stripe, Unsplash, weather, DB ops, image gen, TTS, and more
Full MCP Client List Servers β†’ Get Capabilities β†’ Call Tools / Read Resources / Get Prompts across any MCP server
Tool Forge Visual builder for custom JS/Python tools with typed parameters, auth integration, and shareable outputs
Workflow Engine Visual workflow designer with triggers, conditions, branching, versioning, and checkpoints
Agent System Create agents with assigned tools/workflows, credit limits, multi-provider LLM chat, and goals
Async + Periodic Every tool supports _executeAsync, _interval, _stopAfter β€” built-in cron-like recurring execution

The key difference: AGNT's tool system isn't a standalone runtime β€” it's woven into every layer of the platform. Tools feed into workflows. Workflows are assigned to agents. Agents pursue goals. Everything is interconnected.


3. Head-to-Head Comparison

3.1 Core Architecture

Dimension Executor AGNT
Primary Role Local tool-execution middleware Full-stack AI agent platform
Runtime SES sandbox β€” TypeScript only Multi-runtime: JS, Python, shell, browser automation, Codex CLI
Deployment Local daemon on 127.0.0.1:8788 Local server on localhost:3333 + cloud sync
Persistence PGlite (embedded Postgres) Remote DB + local filesystem
Language TypeScript / Rust TypeScript (Node.js)

3.2 Tool Sources & Connectors

Source Type Executor AGNT
MCP Servers βœ… First-class βœ… Full client
OpenAPI / REST βœ… Native connector βœ… Via custom_api
GraphQL βœ… Native connector ⚠️ Via custom_api POST
Built-in Integrations ❌ None βœ… 50+ native
Custom Tool Builder ❌ Agents write inline TS βœ… Tool Forge (visual)
AI as a Tool ❌ Not built-in βœ… Multi-provider LLM, vision, image gen
SLOP Protocol ❌ βœ… Native connector

Takeaway: Executor has deeper protocol-level connectors (native OpenAPI + GraphQL parsing). AGNT has vastly more breadth β€” 50+ tools ready out of the box.

3.3 Tool Discovery

Feature Executor AGNT
Discovery tools.discover({ query }) β€” semantic search by intent Orchestrator selects from registered tool schemas + Tool Schema Registry
Introspection tools.describe.tool() β€” full JSON schema /api/tool-schemas/ β€” full parameter schemas per tool
Routing Typed namespace tree: tools.github.issues.list() Flat tool ID: execute_custom_agnt_tool({ tool_id })
Dynamic? βœ… Runtime discovery ⚠️ Pre-registered (deterministic)

Takeaway: Executor's semantic tools.discover() is more elegant for agents that need to find tools on-the-fly. AGNT's approach is more deterministic β€” the agent always knows exactly what's available.

3.4 Security & Auth

Feature Executor AGNT
Sandbox SES (hardened JS compartments) JS/Python sandboxed environments
Credential Store Local workspace, never in prompts AuthManager β€” API key vault per provider
OAuth βœ… Local browser flows βœ… Full OAuth2 (Google, GitHub, Dropbox, etc.)
Human-in-the-Loop βœ… Pause/resume for approval ⚠️ Async with user cancellation

Takeaway: Executor's pause-and-resume for credential capture is a standout. AGNT has a richer auth provider ecosystem but lacks the explicit pause-for-approval flow.

3.5 Execution Model

Feature Executor AGNT
Sync Execution βœ… βœ…
Async Execution ⚠️ Pause/resume model βœ… Every tool supports _executeAsync
Periodic/Recurring ❌ Not built-in βœ… _interval + _stopAfter
Workflow Engine ❌ No workflow concept βœ… Visual designer with versioning
Agent System ❌ Not an agent platform βœ… Full agent CRUD, chat, goals

Takeaway: AGNT is dramatically more capable in execution orchestration β€” async, periodic, visual workflows, and a complete agent management system.


Network Visualization

Photo by Alina Grubnyak on Unsplash


4. Visual Scorecard

Scoring each platform across ten dimensions (1–10 scale, higher is better):

Dimension Executor AGNT
Tool Breadth 3 10
Tool Discovery 9 7
Security / Sandbox 9 7
Workflow Engine 1 10
Agent System 1 10
Auth Ecosystem 6 9
Protocol Support 9 8
Execution Flexibility 5 10
Plugin Ecosystem 1 9
Local-First Design 10 8

Reading the scores: Executor dominates in focused, protocol-level concerns β€” sandbox security, tool discovery, and local-first design. AGNT wins overwhelmingly in platform-level capabilities β€” breadth, workflows, agents, execution flexibility, and ecosystem.


5. Where Executor Wins

Semantic Tool Discovery

Executor's tools.discover({ query: "send a slack message" }) is genuinely innovative. Instead of forcing agents to know tool names upfront, they describe what they want to do and the runtime finds the best match from all connected sources. This is especially valuable when the tool catalog is large and dynamic.

SES Sandbox Rigor

The SES (Secure EcmaScript) sandbox is the gold standard for JavaScript isolation. Hardened compartments prevent prototype pollution, global leakage, and unauthorized access. For security-critical deployments where agent code must not escape its boundaries, this is best-in-class.

Pause-and-Resume for Human Approval

When an agent needs OAuth credentials or human sign-off, execution cleanly pauses, the user completes the flow in their browser, and executor resume --execution-id exec_123 picks up exactly where it left off. This is a thoughtful design for high-stakes agent workflows.

Protocol-Level Depth

Native OpenAPI and GraphQL connectors mean you can point Executor at an OpenAPI spec and it automatically indexes every endpoint as a callable tool β€” with typed parameters, no manual wiring needed. This is infrastructure-grade plumbing.


6. Where AGNT Wins

Massive Built-in Tool Library

50+ tools ready to use β€” web search, web scraping, GitHub, Gmail, Slack, Discord, Google Sheets, Stripe invoicing, Unsplash photos, OpenWeatherMap, Dropbox, database operations, image generation (DALL-E, Gemini, Grok), text-to-speech, browser automation, and more. No configuration needed.

Complete Agent Lifecycle

AGNT doesn't just execute tools β€” it manages the entire agent. Create agents, assign them tools and workflows, set credit limits, chat with them across multiple LLM providers, define goals with success criteria, and track performance. Executor explicitly doesn't do any of this.

Visual Workflow Engine

A full visual designer for building multi-step workflows with triggers, conditions, branching, version history, and checkpoints. Chain tools together graphically β€” no code required. Workflows can be assigned to agents and triggered programmatically or on schedule.

Universal Async + Periodic Execution

Every single tool in AGNT supports _executeAsync (run in background), _interval (repeat every N seconds), _stopAfter (stop after N iterations), and _duration (stop after N minutes). This turns any tool into a cron job with zero extra configuration.

Multi-Provider AI Native

AI isn't just the brain calling tools β€” it's also a tool itself. AGNT embeds multi-provider LLM generation (OpenAI, Anthropic, Gemini, Groq, DeepSeek), vision analysis, and image generation directly into the tool catalog. Agents can use AI as a capability, not just a controller.


Technology Collaboration

Photo by Israel Andrade on Unsplash


7. Better Together? The Integration Thesis

Here's what makes this comparison interesting: these aren't competitors. They operate at different layers of the stack and could complement each other beautifully.

The Bridge: Executor as an MCP Server Inside AGNT

Since Executor exposes itself as an MCP endpoint, and AGNT has a full MCP client, you could:

  1. Add Executor as an MCP server in AGNT's mcp.json
  2. Use Executor's semantic tools.discover() for dynamic tool finding
  3. Route calls through Executor's SES sandbox for extra security
  4. Still leverage AGNT's workflows, agents, and 50+ native integrations

This would give you the best of both worlds: Executor's security rigor and semantic discovery combined with AGNT's platform breadth and orchestration power.

// AGNT mcp.json β€” adding Executor as a server
{
  "mcpServers": {
    "executor": {
      "url": "http://127.0.0.1:8788/mcp",
      "description": "Executor β€” sandboxed tool runtime"
    }
  }
}

8. Decision Framework: Which Should You Use?

Choose Executor if:

  • You're building your own agent framework and need a clean tool-execution layer
  • Security is paramount β€” you need SES-grade sandboxing
  • You have many OpenAPI/GraphQL APIs to connect and want auto-indexing
  • You need human-in-the-loop approval gates with clean pause/resume
  • You prefer a minimal, composable building block over a full platform

Choose AGNT if:

  • You want a complete agent platform β€” tools, workflows, agents, goals, chat, all integrated
  • You need 50+ pre-built integrations without any setup
  • You want visual workflow design, not code-only orchestration
  • You need async/periodic execution built into every tool
  • You want multi-provider AI (OpenAI, Anthropic, Gemini, Grok) as native capabilities
  • You're building production agents that need the full lifecycle managed

Use both if:

  • You want AGNT's platform power plus Executor's sandbox rigor and semantic discovery
  • You have external OpenAPI/GraphQL services that need auto-indexing into your agent's catalog
  • You need defense-in-depth β€” Executor as a security boundary inside AGNT's orchestration layer

Conclusion

The metaphor writes itself: Executor is the plumbing. AGNT is the whole house.

Executor solves one problem extremely well: giving AI agents safe, structured, discoverable access to external tools through a hardened local runtime. It's infrastructure β€” clean, focused, and composable.

AGNT solves the entire agent lifecycle β€” from tool execution to workflow orchestration to agent management to goal tracking. Tools are just one room in the house, but they're connected to every other room.

The most exciting possibility? Using them together. Executor as an MCP server plugged into AGNT gives you semantic tool discovery and SES sandboxing inside a full-featured agent platform. That's not plumbing versus the house β€” that's better plumbing inside a better house.

Build the Future of Agent Tool Infrastructure
Explore AGNT at agnt.gg Β· Explore Executor at executor.sh Β· GitHub Repo


Sources & Further Reading


Written by Annie @ AGNT Β· Researched March 9, 2026
All images from Unsplash Β· Licensed under the Unsplash License