Executor is an MCP gateway.

  1. 01Connect everything to Executor.
  2. 02Give your agent the Executor tool.
  3. 03That's it. Get started.

One MCP. All your accounts.

Sign in, point your agent at one URL, done. Free for up to three people and 100,000 executions a month.

Start on Cloud
Claude Code
Cursor
Codex
Executor
SentryOpenAPI
GitHubGraphQL
LinearMCP
Figure 1. Three clients reach six tools through one MCP endpoint. Each tool keeps the protocol it came from.

What we think

Every agent wants its own copy of every integration. You set up GitHub in Claude Code, then again in Cursor, then again in Codex. Same OAuth, same API key pasted in five places, and none of them agree on what a tool is allowed to do.

Your tools should belong to you, not to whichever agent you opened today. Executor turns everything into one shape: a name, an input, an output. An MCP server, an OpenAPI spec, and a GraphQL API all look the same to the agent, so you connect once and every agent gets it.

And the safe way has to be the easy way, or nobody does it. Executor knows a GET from a DELETE, asks before the scary ones, and runs everything in a sandbox where the model never sees a raw token.

Thousands of tools, one in the prompt

The model only ever sees one tool. Executor looks up what it needs when the code asks for it, so you can connect fifty services and the prompt stays the same size. Toggle a few below and watch the numbers.

Without Executor: 1,640 tools, about 278,800 tokens. With Executor: 1 tool, about 1,044 tokens.

Context window
Lower is better
Without Executor1,640 tools · ~278,800 tok
With Executor1 tool · ~1,044 tok
Without Executor
1,640 tools · ~278,800 tok
"You are a helpful assistant.

Your tools are:

createIssue()
listPullRequests()
mergePullRequest()
createRelease()
addLabels()
createBranch()
getCommit()
// + 713 more GitHub tools
createCharge()
createCustomer()
createRefund()
listInvoices()
createSubscription()
capturePaymentIntent()
listPayouts()
// + 503 more Stripe tools
createIssue()
transitionIssue()
addComment()
assignIssue()
listSprints()
createProject()
searchIssues()
// + 233 more Jira tools
listIssues()
resolveIssue()
listEvents()
getProject()
muteIssue()
createRelease()
listAlerts()
// + 163 more Sentry tools
..."
With Executor
1 tool · ~1,044 tok
// the only tool your client sees: "execute"

Execute TypeScript in a sandboxed runtime with access to
configured API tools.

## Workflow

1. const { items } = await tools.search({ query });
2. const path = items[0]?.path;
3. const details = await tools.describe.tool({ path });
4. const result = await tools[path](input);

## Available connection prefixes

- github.org.main: Production GitHub
- stripe.org.main: Live Stripe account
- jira.org.main: Team Jira
- sentry.org.main: Production Sentry
Figure 2. Prompt size with your selection of integrations connected, with and without Executor.

Safe by default

Policies come from the source.
GET versus DELETE for OpenAPI, destructiveHint for MCP, mutations for GraphQL. Agents run the safe calls on their own and ask before the rest. You can override any tool.
Secrets never reach the model.
Calls run in an isolated JavaScript sandbox. Credentials are attached host-side at call time and never enter the sandbox, the agent, or the model's context.
Set up once, whole team has it.
Admins add workspace connections everyone shares. Individuals add their own. New teammates get the catalog on day one, with the same policies, and you can block a tool for the whole workspace in one click.
Open source, so you can check.
Cloud stores credentials in WorkOS Vault. Local and self-hosted keep them on your machine, or in 1Password. The whole thing is on GitHub if you would rather read the code than take our word for it.Source ↗

Run it where you want

Same tools, same policies, four ways to run them.

CloudHosted, free to start, nothing to install. We keep it updated.Start on Cloud
DesktopAn app for Mac, Windows, and Linux. Everything stays on your machine.Download for MacDownload for Mac (Intel)Download for WindowsDownload for Linux
CLIA background service for headless machines and servers.npm i -g executor
Self-hostedOne Docker image on your own box. Same code Cloud runs.Self-hosting docs

Not an agent? Cloud also has an HTTP API with user and workspace keys, so a script or a service can call the same tools with the same policies.

What people say

Mostly that they stopped copying API keys into five different agents.

Wilson Wilson@euboidI disconnected all my MCPs and switched to executor.sh. Best thing I've done this year. Claude, Codex, Hermes, Grok, Cursor - it's so much overhead remembering where you've connected what. Now I just have one MCP - and all my agents inherit all my tools. Highly recommend!Aiden Bai@aidenybaiexecutor is very good softwareDrake Thomsen@ThomsenDrakeMoving my connectors onto executor.sh is such a refreshing experience. I now only have to configure a single connector when I'm setting up a new agent instead of 15 different OAuths or API keysDaniel Lockyer@DanielLockyerI've been using Executor since this mini-pitch and honestly it's great. I just configure my MCPs/OpenAPIs in one place and all my clients can use the connections. I've also used the blocklist feature to remove dangerous actions from some MCPs, very nice. Can recommend!Sherlock@thesherlockerOkay, this is really cool, I don't know why I've delayed my adoption so much. Executor is now my defaultJohn Yeo@johnyeo_executor is the one tool we were looking for to unify our MCP servers across our team, we all use it daily nowshuv@shuv1337executor is so good. i have limited toolkits deployed to my whole team via grok bot enterprise, plus a much more robust set of tools for myself/my clankers. it's incredibly usefulKyle Finken@KyleFinkenIncredibly surprised i haven't seen more people talking about poke + executor. By far the best experience for personal agent integrations rnAndre Landgraf@andrelandgrafDef check out Executor! I use it primarily for code mode across a few REST APIs and MCP servers. So nice when you'd otherwise have to run thousands of tool calls across meetup RSVP reviews etcjoel@jwwweldamn executor.sh is so goated. i can really bring my favourite mcps to whatever harness without needing to set it up again, so nice!!brandon@branalytcfinally setup executor.sh and it's working great! happy to finally have a unified mcp!!jan@miaugladiator1can vouch, been using it for like a month and its so peakWill Undrell@WillUndrllCongrats bro! I'm a huge fan of Executor, I use it exclusively now and it works a dream!Jacob Hands@jachandsBtw executor is fantasticAlex Rigler@alexriglerFolks should really take a look at Executor. It is awesome and a great codebase tooRamón Medrano Llamas@rmedranollamasexecutor may be a masterstroke now that it clicked on meZaher@zahergall I had to do is to add it as integration to my executor, and now I have access to it as mcp without deploying any MCPSaatvik@aryasaatvikone of my favorite use cases for executor.sh codemode is great for correlating across multiple sources and tools and you can reuse auth across all agentsJose Mejias@MejiasDevPi + Herdr + Collie + Executor is unbeaten. Is not even close.Raduan Al-Shedivat@0xRaduanall problems of MCPs are solved with executorBen Patton@benapattonWhat are we doing people?! Just use executor.sh or find an alternative.
Add yourson XUsing Executor? Post about it and tag @executorsh. We read every one.Nate Berkopec@nateberkopecFor the last 3 months I've been telling all my clients to move everything to MCPs and executor.sh.Christoffer Bjelke@chribjelupdate: it *is* the perfect wrapper. now executor.sh is my only mcp for all my agents, and i just configure my other connected services through executor. all integrations can have multiple connections, so i can have personal/work accounts for every integration. so so nice, literally perfectNathan Flurry@NathanFlurryreally digging executor + browserbase for unifying my integrations. i use agents in a lot of places: linux rig over ssh, amp orbs for bg agents, claude/chatgpt on mobile. this setup lets me sign in once (browser or mcp) and access it everywhereJosXa@JosXa_I compared dozens of MCP aggregators and we finally have a winner. Executor is going to become a standard, I can smell itBence Redmond@BenceRedmondThe use case for Executor is obvious to anyone who's had to manage MCP servers across Claude Code/Codex/Hermes/etc. Incredibly useful, and resolves so many frustrations that I've had with agent configs over the past few months. The product roadmap is also super exciting!Phil Zona@philzonaFinally trying executor.sh and I get why people like it so much. Setup was extremely simple relative to what it actually does. Its concept of "toolkits" is cool too. Very very impressed so farSerge@sergicalvery much enjoying Executor. configure different connections for the same MCP: I have a work and a personal Cloudflare account so I don't need to re-auth into different ones. manage all the connections between different clients. 1Password to manage secrets instead of storing them in plain text. really well doneSomto@somto_oderaMoved all of my MCP tooling to executor.sh - self deployed and tbh, its delightful not worrying about setup on my local or VM - one interface and everything is availableJames Brock@JamieBrock19060I've installed and configured Executor with my Claude and Codex. The three of us love it. Been able to cull so many tools loading at session launch. App is being updated like crazy. Interesting to see where this goes!Corey Haines@coreyhainescoReally liking executor.sh to make it easy to port agent integrations across platforms.blueguy@itsmeblueguyAnd executor.sh is all about MCPs eheh. Btw, been using it and loving :DSH@RocketmanShYep it's perfect!Ian@IanMitchel1Been hard with a baby but I've been trying to consciously spend more time using and learning different AI tools. I can't even imagine doing this without Executor. How did you all live like that?adam ghaida@adamghaidathanks rhys :)) executor has definitely been incredibly powerful for our users and also a joy hereGriffin@grfwingsExecutor is a great tool, please give it a try!sensho@senshoWE all love executorOliur@UltraLinxWhilst setting this up I kinda realised a lot of apps don't have MCP gateways, so I ended up having Claude build the MCPs for me and host it on the same VPS as Executor. HUGE time saver. And I can choose which MCPs to share with my team or keep them private.Anthony Kroeger@kr0derwe're saved, add this to Claude Code/Cursor ASAP via Executor. both are lacking computer use at the moment so this is super useful since i use bothDillon Mulroy@dillon_mulroyself hosted executor - no more managing a bunch of disparate mcp serversNathan Flurry@NathanFlurrytldr why i'm excited for executor/integrations: everyone needs a "company brain". everyone thinks memory is the issue. but nobody gets past the integrations phase. tackle integrations first, everything else comes later. and most importantly oss + self-hostableAidan Sunbury@aidansunburyWe use Executor for MCP access, tailscale aperture for inference access, infisical for secret access
Malte Ubl@cramforceI've been working on integrating Rhys's excellent `executor` package into just-bash.Ethan Niser@ethanniserI dont think I've ever oauthed so much in my life until AI. connections, connections, connections. s/o executor.shSam Hogan@samhoganMy favorite features: Quick set-up. Easily share MCPs between agent harnesses with centralized authentication and access control. Auth once, use everywhere. Codemode execution by defaultBen Davis@davis7Really like what Rhys is working on with executor. I think it or something like it is probably the futureRyan Morrissey@ryan_morrExecutor is awesome and has solved so many problems for us. Most of our prompts for hermes nowadays include the words "use executor" or "can you use executor". One of the few products I find myself recommending to people dailyKaeden@kaeden_devI was thinking about building some custom Effect-based MCPs like you did with YNAB, until I realized that Executor already did everything I wanted. It's been incredibly useful.Anthony Kroeger@kr0derwait executor might be one of the best things ever made for AI agentsZaher@zahergI can't express how much I enjoy having Executor added to my toolset. there are many projects, but this one is something I can see myself keep usingchris jayden@itschrisjaydenI underestimated executor.sh, it's amazing! I run it locally on my mac mini, and my other devices just pull from it, amazing!shuv@shuv1337executor.sh is excellent. i have to admit, i spent way too much time forking, integrating and maintaining pieces of it in my own project and hadn't used it 'as is' in a while. it's become very good so i'm back to just running local executor now. great work!Mrigank Krishan@zevtnaxI'm using executor.sh for this - been great so far!Ryan Morrissey@ryan_morrIt's truly a stellar product we use it everydaymteam.gwei@mteamisloadingSet up Executor Cloud today to give my cloud agents access to all my accounts from one plane. Great experience! Well doneAxel@Swedish_chefExecutor makes it so incredibly easy for end usersJeremy Osih@jeremyosihexecutor is soo good, thx for everything !George Kontridze@georgekontridzeExecutor is also greatFlorian Bühringer@capeflowCloudflare artifacts + executor.sh with agent-native skill authoring. Centralized - shared - instantly updated across the team (as it's behind execute). Works like a charmSami Laakkonen@samilaabe me. setting up openclaws for my team. access & integration hell. 1h later demo of Executor from Rhys. problem solvedYahia Bakour@mynameisyahiaCheck out Executor! A really novel approach to orchestrating tool calls for agents without blowing up your context window with provider-specific semantics. Feels obvious in hindsightBrandon Ravion@flybayerexecutor.sh to get code mode for any API or MCPErik Rogne@erikrogneFinally. This is a great idea

Pricing

Cloud is free for up to three people. Team is $15 per member per month. Running it yourself is free.

See pricing ↗ · Talk to us about Enterprise

Writing

About

Executor is backed by Y Combinator. It started because I wanted my own agents to reach my accounts in a way that was not scary. Most setups make you choose between locked down and useless, or wide open and risky. I wanted a third option.

Rhys SullivanFounder. Say hi on X, @RhysSullivan ↗

Discord ↗