Skip to content

RhysSullivan/executor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,208 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

executor

wsC2ArbOLkAKcPU6.mp4

The integration layer for AI agents. One catalog for every tool, shared across every agent you use.

Ask DeepWiki

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 'return await tools.executor.sources.add({
  kind: "openapi",
  name: "GitHub",
  specUrl: "https://raw.githubusercontent.com/github/rest-api-description/main/descriptions/api.github.com/api.github.com.json",
  baseUrl: null,
  auth: { kind: "none" }
})'

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",
});

Run code via the CLI:

executor call --file script.ts
executor call 'return await tools.discover({ query: "send email" })'

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 mcp                        # start MCP endpoint
executor call --file script.ts      # execute a file
executor call '<code>'              # execute inline code
executor call --stdin               # execute from stdin
executor resume --execution-id <id> # resume paused execution

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.

About

The missing integration layer for AI agents. Let them call any OpenAPI / MCP / GraphQL / custom js functions in secure environment.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages