Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (executor) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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 webThis 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 mcpExample 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_123CLI 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 executionDeveloping locally
bun install
bun devThe 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.