@RhysSullivan: I'm now building Executor full time as a startup! The state of tool calling is a mess: - Everyone is using different ag…
Summary
Rhys Sullivan is building Executor, an open-source integration layer for AI agents that provides a unified tool catalog with access controls, approval flows for destructive actions, and support for MCP, OpenAPI, GraphQL, and more. It aims to standardize tool calling across different agents like Cursor and Claude Code.
View Cached Full Text
Cached at: 05/09/26, 05:44 AM
I’m now building Executor full time as a startup! The state of tool calling is a mess: - Everyone is using different agents - You have no idea what actions are going to run - Destructive actions are treated the same as normal Executor lets you set up everything once & use it with any agent. You’re able to control what tools can be called, require approval on destructive actions, and invite your team to all use them. Under the hood, it’s built on codemode to let you add thousands of tools with 0 context bloat. I’ve been using it for a month so far and it has completely changed how I interact with agents. There’s so much to be built here, immediately next up on the roadmap is workspaces, skills, workflows, and generative ui. Everything is being built open source over at https://github.com/RhysSullivan/executor…, there’s a lot more coming on an SDK to embed it into your own agents, a self hostable cloud app, and plugins There’s an early beta version over at http://executor.sh. It’s very early on - if you hit any bugs let me know and I’ll get them fixed up, excited to share more as I build it!
RhysSullivan/executor
Source: https://github.com/RhysSullivan/executor
executor
https://github.com/user-attachments/assets/11225f83-e848-42ba-99b2-a993bcc88dad
The integration layer for AI agents. One catalog for every tool, shared across every agent you use.
Quick start
npm install -g executor
executor web
This starts a local runtime with a web UI at http://127.0.0.1:4788. From there, add your first source and start using tools.
Use as an MCP server
Point any MCP-compatible agent (Cursor, Claude Code, OpenCode, etc.) at Executor to share your tool catalog, auth, and policies across all of them.
executor mcp
Example mcp.json for Claude Code / Cursor:
{
"mcpServers": {
"executor": {
"command": "executor",
"args": ["mcp"]
}
}
}
Add a source
If you can represent it with a JSON schema, it can be an integration. Executor has first-party support for OpenAPI, GraphQL, MCP, and Google Discovery — but the plugin system is open to any source type.
Via the web UI
Open http://127.0.0.1:4788, go to Add Source, paste a URL, and Executor will detect the type, index the tools, and handle auth.
Via the CLI
executor call openapi addSource '{
"spec": "https://petstore3.swagger.io/api/v3/openapi.json",
"namespace": "petstore",
"baseUrl": "https://petstore3.swagger.io/api/v3"
}'
Use baseUrl when the OpenAPI document has relative servers entries (for example "/api/v3").
Use tools
Agents discover and call tools through a typed TypeScript runtime:
// discover by intent
const matches = await tools.discover({ query: "github issues", limit: 5 });
// inspect the schema
const detail = await tools.describe.tool({
path: matches.bestPath,
includeSchemas: true,
});
// call with type safety
const issues = await tools.github.issues.list({
owner: "vercel",
repo: "next.js",
});
Use tools via the CLI:
executor tools search "send email"
executor call --help
executor call github --help
executor call github issues --help
executor call cloudflare --help --match dns --limit 20
executor call github issues create '{"owner":"octocat","repo":"Hello-World","title":"Hi"}'
executor call gmail send '{"to":"[email protected]","subject":"Hi"}'
executor call, executor resume, and executor tools ... commands auto-start a local daemon if needed.
If the default port is busy, the CLI will pick an available local port and track it automatically.
If an execution pauses for auth or approval, resume it:
executor resume --execution-id exec_123
CLI reference
executor web # start runtime + web UI
executor daemon run # start persistent local daemon in background
executor daemon status # show daemon status
executor daemon stop # stop daemon
executor daemon restart # restart daemon
executor mcp # start MCP endpoint
executor call <path...> '{"k":"v"}' # invoke a tool by path segments
executor call <path...> --help # browse namespaces/resources/methods
executor call <path...> --help --match "<text>" --limit <n> # narrow huge namespaces
executor resume --execution-id <id> # resume paused execution
executor tools search "<query>" # search tools by intent
executor tools sources # list configured sources + tool counts
executor tools describe <path> # show tool TypeScript/JSON schema
Developing locally
bun install
bun dev
The dev server starts at http://127.0.0.1:4788.
Community
Join the Discord: https://discord.gg/eF29HBHwM6
Learn more
Visit executor.sh to learn more.
Attribution
- Thank you to Crystian for providing the npm package name
executor.
References
As part of my coding process, I give my agent access to references to other codebases to understand patterns and how other people have implemented systems.
A non exhaustive list of references are:
- Better Auth - Storage adapter reference
- Effect - General code patterns
- OpenCode - Plugin system reference
- OpenClaw - Plugin system reference
- Emdash - Plugin system reference
- Pi - Plugin system reference
It’s encouraged also that you can use this codebase as a reference to understand how it’s implemented
Similar Articles
@heyshrutimishra: Hermes Agent (100k+ ) going into production tooling like Atomic Bot. This is the OSS → enterprise pipeline playing out …
Hermes Agent, an open-source model with 100k+ usage, is being adopted in enterprise tooling like Atomic Bot, demonstrating the OSS-to-enterprise pipeline and preference for local, key-owned, open stacks.
@djfarrelly: https://x.com/djfarrelly/status/2052779234234380479
The article argues that AI agent development should rely on stable execution primitives rather than rigid frameworks, which frequently change with emerging orchestration patterns. It emphasizes durable steps, persistent state, parallel coordination, event-driven flow, and observability to prevent costly rewrites as best practices evolve.
@pauliusztin_: We just open-sourced the full @aiDotEngineer workshop! You can clone it and run everything yourself... → https://github…
An open-source workshop repository for building a real-world multi-agent AI system featuring a Deep Research Agent and LinkedIn Writing Workflow using MCP servers, Pydantic structured outputs, and agentic engineering with Claude Code subagents.
@ycombinator: We're entering a new era of software where a single person, working with AI agents, can build products that previously …
A LightconePod podcast episode discussing the rise of AI coding agents like Claude Code and OpenClaw, exploring how single developers can now build products that previously required entire teams, along with emerging workflows and the concept of "tokenmaxxing".
@ashwingop: https://x.com/ashwingop/status/2052777467732283817
An analysis of Claude's Managed Agents as a harbinger for the next AI infrastructure layer—'Company Brain'—an operational state layer that enables agents and apps to act from shared company context, contrasting with simpler knowledge bases or markdown-based prototypes.