123 lines · 3.1 KB · Text
RawDownload
---title: CLIdescription: "Run Executor as a local background service and drive it from the command line."--- The CLI runs a small HTTP runtime on your machine: a durable background servicethat any MCP-compatible agent can connect to. Your integrations, credentials, andpolicies stay local. ## Install Requires Node.js 20 or newer. <CodeGroup> ```bash npmnpm install -g executor``` ```bash pnpmpnpm add -g executor``` ```bash bunbun add -g executor``` ```bash yarnyarn global add executor``` </CodeGroup> ## Start the service Install the durable background service, then open the web UI: ```bashexecutor install   # install/start the durable background serviceexecutor web        # open the web UI at http://127.0.0.1:4788``` `executor install` registers Executor so it keeps running across restarts. For athrowaway foreground runtime instead, run `executor web --foreground`. ## Behind a TLS reverse proxy The daemon listens over HTTP on loopback. If a reverse proxy terminates TLS infront of it, set `EXECUTOR_WEB_BASE_URL` to the public HTTPS origin so browserapproval links use that origin: ```bashEXECUTOR_WEB_BASE_URL=https://executor.example.test executor daemon run --foreground``` Generated approval URLs take this value, not `X-Forwarded-Proto` or `Host`. ## Connect an agent Add Executor to any MCP client (Claude Code, Cursor, OpenCode) with `npx add-mcp`.It detects the client and writes its config for you. Connect over HTTP or throughthe CLI: <Tabs>  <Tab title="HTTP">    Executor serves a streamable-HTTP MCP endpoint at `http://127.0.0.1:4788/mcp`:     ```bash    npx add-mcp http://127.0.0.1:4788/mcp --transport http --name executor    ```     The **Connect** card in the web UI shows this command with your exact URL    (and port, if it differs) already filled in.   </Tab>  <Tab title="CLI (stdio)">    With the `executor` CLI on your PATH, the client launches `executor mcp`    directly (no URL needed):     ```bash    npx add-mcp "executor mcp" --name executor    ```   </Tab></Tabs> ## Add an integration From the web UI, click **Add Integration** and paste an OpenAPI, GraphQL, or MCP URL.Executor detects the type, indexes the tools, and handles auth. Or add one from theCLI: ```bashexecutor call executor openapi addIntegration '{  "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 (e.g. `"/api/v3"`). Confirm it's live: ```bashexecutor tools integrations   # lists configured integrations + tool counts``` ## Call tools ```bashexecutor tools search "send email"      # find tools by intentexecutor call github issues --help      # browse a namespaceexecutor call github issues create '{"owner":"octocat","repo":"Hello-World","title":"Hi"}'``` `executor call`, `executor resume`, and `executor tools …` auto-start the localdaemon if it isn't already running. If an execution pauses for auth or approval,resume it: ```bashexecutor resume --execution-id exec_123```