Vibeleaderboard
Index / tool

Executor

executor.sh
Visit executor.sh
Category
Developer Tools
Rank

Previous survey · No. 2081 ·

Type
TOOL
Use case
Agent Building
Interfaces
MCP
Date

About

Executor is an MCP gateway: any MCP client, such as Claude Code, Cursor, or Codex, points at one endpoint and reaches every tool connected to it. Tools imported from MCP, OpenAPI, GraphQL, or custom integrations are normalized into a single name, input schema, and output schema, and the client sees just one 'execute' tool that searches a catalog and loads a schema only when code calls it. The site puts the effect at roughly 278,800 prompt tokens for 1,640 directly attached tools versus about 1,044 with Executor. Calls run in an isolated JavaScript sandbox with credentials injected host-side, and imported semantics (HTTP verbs, MCP destructive hints, GraphQL mutations) decide which actions auto-run and which ask first.

What it does

Executor sits between your coding agents and the services they call. You register an API description or an existing server once, attach a login once, and decide per action whether it is allowed, needs a human yes, or is refused. Every agent then talks to that one shared catalogue instead of keeping its own copy of keys and config. When an agent acts, its code runs in a small locked-down JavaScript interpreter with network access switched off, and secrets are filled in outside that box, so the agent never holds them.

Why it's ranked here

MIT licensed, with five ways to run the same runtime: a global npm command, a desktop app for Mac, Windows and Linux, a hosted service with a free tier, and self-hosting on Docker or Cloudflare. The safety story is in the code, not just the pitch: the sandbox has hard memory and time ceilings, outbound fetch throws an error, and the self-host secret store uses authenticated encryption. Unit, integration and browser end-to-end suites ship in the repository. The open question is churn, since the project's own vision document describes core models still being reshaped.

What's good

Policy defaults come from the imported spec, so read-only HTTP calls are allowed out of the box and destructive ones can arrive pre-marked for approval. A paused run, waiting on a login or a sign-off, can be resumed later by its execution id rather than restarted. The sandbox caps each run at 64 MB of memory and a five-minute budget by default, and the clock pauses while a tool call is in flight. The telemetry page lists every event it sends, states that no code, arguments, secrets or names leave the machine, and offers a full opt-out.

Tradeoffs

Local installs and self-hosted servers send anonymous usage events by default; you must set an environment variable to stop them. The workspace pins its core functional library to a pre-release beta and carries seven patched third-party dependencies, so upgrades are not trivial. Inside the sandbox the tool namespace refuses to be listed, which means agents have to search for tools rather than list them. The vision document says scopes are currently flattened to organisation and user, and that the global pattern-based policy list is slated for removal, so today's configuration shape may move.

How to use it well

Pick it if you run two or more agents, such as a terminal coding agent and an editor assistant, and are tired of pasting the same keys and server configs into each. Start with the local command for a single machine, or the hosted tier when a cloud chat agent needs the same tools. Review the imported approval defaults before trusting them, and flip a wrongly flagged safe action to allowed. Opt out of telemetry up front if that matters. It does not replace the services themselves or write integrations for undocumented APIs.

Technical notes+

packages/kernel/runtime-quickjs/src/index.ts sets DEFAULT_TIMEOUT_MS to 5 minutes, DEFAULT_MEMORY_LIMIT_BYTES to 64 MiB and DEFAULT_MAX_STACK_SIZE_BYTES to 1 MiB; makeDeadlineTracker suspends the deadline while any tool dispatch is in flight; the generated preamble replaces fetch with a throwing stub, deletes the injected __executor_invokeTool and __executor_log globals after capturing them, and exposes tools as a Proxy whose ownKeys throws, steering code to tools.search. TypeScript is stripped before evaluation. packages/plugins/encrypted-secrets/src/index.ts derives a 32-byte key with scryptSync from a required master key, encrypts with aes-256-gcm and a random 12-byte IV, and stores v1.iv.tag.ciphertext. TELEMETRY.md names PostHog as the sink and DO_NOT_TRACK or EXECUTOR_DISABLE_ANALYTICS as the opt-outs. package.json pins effect 4.0.0-beta.59 in the catalog and lists seven patchedDependencies. apps/cli/src/main.ts defaults to port 4788 and only initialises Sentry when EXECUTOR_SENTRY_DSN is set. vision.md records the planned move from glob policies to per-integration and per-connection policy.

Observed

License
MIT (LICENSE)
Language
TypeScript, Bun + Turborepo monorepo (README.md)
Install surface
npm, pnpm, bun or yarn global install of the executor package; requires Node.js 20+ (apps/docs/local/cli.mdx)
Deployment forms
CLI background service, desktop app (Mac, Windows, Linux), hosted cloud with free tier, self-host via Docker or Cloudflare Worker (README.md)
Agent interface
MCP over streamable HTTP or stdio (README.md)
Integration types
MCP servers, OpenAPI, GraphQL, Google Discovery (README.md)
Library interface
TypeScript SDK with Promise and Effect-native APIs (README.md)
Sandbox defaults
QuickJS, 5-minute timeout, 64 MiB memory, fetch disabled (packages/kernel/runtime-quickjs/src/index.ts)
Self-host secret storage
AES-256-GCM with scrypt-derived key; master key required (packages/plugins/encrypted-secrets/src/index.ts)
Telemetry
Anonymous usage events on by default for CLI, desktop and self-host; environment-variable opt-out (TELEMETRY.md)
Tests
Unit and integration suites plus Playwright end-to-end tests (README.md)

Read from README.md, package.json, vision.md, RUNNING.md, TELEMETRY.md, LICENSE, apps/docs/index.mdx, apps/docs/local/cli.mdx, apps/cli/src/main.ts, packages/core/execution/src/index.ts, packages/core/sdk/src/index.ts, packages/kernel/core/src/index.ts, packages/kernel/runtime-quickjs/src/index.ts, packages/hosts/mcp/src/index.ts, packages/plugins/encrypted-secrets/src/index.ts.

Tags

mcpai-agentsgatewayintegrationssandboxtooling

Tech Stack

Node.jsTypeScript

Media

Executor

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.