# Executor

> Everything you use, connected in one place.

## Machine summaries

- [Docs](https://executor.sh/docs)
- [Setup prompt](https://executor.sh/setup-prompt.md)
- [Pricing](https://executor.sh/pricing.md)
- [llms.txt](https://executor.sh/llms.txt)
- [GitHub](https://github.com/UsefulSoftwareCo/executor)
- [Cloud](https://executor.sh/)

Then build whatever you need on top.

Executor connects the tools you use to the agent you already use, through one MCP server. Then your agent can build whatever you need on top: custom tools, automations, storage, and interfaces.

Executor is your agents' cloud. All of your connectors, skills, automations, personal software, all in one place.

## Everything you use.

Gmail, Calendar, GitHub, Linear, Stripe. Add an MCP server you already have, or ask your agent to write the tool. You connect each account once through a secure link, so credentials never end up in chat or in code.

## Connected in one place.

Add Executor to your agent once. Every account you connect is then available to every agent you use. Your agent does the thinking; Executor is where it reaches your tools, and where the things it builds keep running.

## Then build whatever you need on top.

Start with the tools a service already has. When something's missing, ask your agent to add it. Here's how one Gmail connection grows:

1. **Tools:** "Connect my Gmail." Your agent can search, read, label, and send mail.
2. **Workflow:** "Hold every email I send for five minutes so I can cancel it." Sends wait in a durable workflow. Cancel any of them before they go.
3. **Storage:** "Let me keep notes on the emails I get." Notes live in the app's own SQLite database, ready for any agent to search.
4. **Webhook:** "Archive newsletters as soon as they arrive." Gmail notifies the app, and the app archives them. No agent needed.
5. **UI:** "Build me a Superhuman-style inbox with keyboard shortcuts." A page for you, built on the same tools your agent uses.

Some other things to ask for:

- "Every three hours, copy new Stripe customers into Notion." A cron job moves the data. No agent has to be running. (Schedule, Tool)
- "Every Friday, post what shipped on GitHub to Slack." Runs at 5pm every Friday, the same way every time. (Schedule, Tool)
- "When a Sentry issue spikes, open a Linear ticket." Sentry calls the app, and the app files the ticket. (Webhook, Tool)
- "Show me signups, errors, and open issues on one page." A one-off dashboard stops being a project. (UI, Tool)

## As small or as large as you need.

An app can be a single tool. It can also combine tools, storage, a page, schedules, webhooks, and workflows. Add each piece when you need it.

- **Tools:** Call anything, it's just JavaScript.
- **Skills:** Give your agent instructions it can use again.
- **Apps:** A page for people, beside the tools for agents.
- **Storage:** Keep data and state between runs.
- **Triggers:** Run on a schedule or respond to webhooks.
- **Workflows:** Durable work across multiple steps.

## What it is, and isn't

### Is it an agent?

No. Executor runs no AI. It extends the agent you already use, through one MCP server.

### Is it like Composio?

Both connect your accounts. With Executor you can also bring your own integrations, change how any tool works, and build apps on top of them.

### Is it like n8n or Zapier?

There's no flow builder. Your agent writes the automation as code, and Executor runs it on a schedule or when a webhook arrives.

### Is it still an MCP gateway?

Yes. Connecting your tools and routing your agent to them is where it starts. Everything else is optional.

## It's just code

And you don't have to write it

- **index.ts:** Brings the accounts, data, tools, and workflows together in one app.
- **tools.ts:** Ordinary functions to read, save, and refresh a brief. Your agent can call them as tools.
- **providers.ts:** Declares the service this app uses. Executor handles sign-in and keeps credentials out of these files.
- **migrations/0001_briefs.sql:** Creates the table your app saves briefs in. Executor applies new migrations when you deploy.
- **workflows.ts:** Reads from GitHub, then saves the result. Executor tracks each step so work can resume after an interruption.
- **skills/brief/SKILL.md:** A Markdown file teaches your agent when to use the app and how to work with its tools.
- **ui/main.tsx:** A React page that reads the same data as your agent. Executor gives it its own URL.
- **ui/index.html:** A normal HTML document loads your app's interface.
- **package.json:** Add packages from npm when you need them. This app uses React for its interface.

One file is enough to start. Add the rest when you need them.

Your agent writes and updates the files. Executor builds and runs the app.

## Deploying

Deploy your app as one project. Executor builds and hosts it, connects the accounts
it needs, and retains its source and version history. Change the code and deploy
again as your needs change.

## What you get

1. **Start with what you have.** — Add an MCP server or deploy your own code. Executor gives your apps a home.

2. **Connect once. Use it again.** — Select the accounts each app needs. Reuse your connections across apps.

3. **Change it. Deploy again.** — Keep improving your app. Executor retains its source and earlier code versions.

4. **Use it from your agents.** — Your apps live on Executor Cloud, ready for Claude Code, Codex, Cursor, and other MCP clients.

## Accounts and approvals

Credentials are stored separately from app source. Executor supplies the selected
credentials to trusted app server code when it runs. OAuth refresh tokens and
client secrets remain with the host. Apps can require approval before a tool runs.

## Ways to run it

- **Cloud:** run your tools without managing a server. https://executor.sh/
- **Desktop:** run Executor on your computer, with local apps and private app pages.
- **CLI:** run the local server from your terminal.
- **Self-hosted:** run the hosted server on infrastructure you control.

Private app pages and saved app data work locally. Self-hosted supports private
app pages. Cloud app pages and hosted app data are still in development.

## Pricing

Start free, pay per member. Full details: https://executor.sh/pricing.md

### Free — $0 / month

For small teams getting started

- Up to 3 members
- Unlimited integrations

Start free: https://app.executor.sh/login?mode=signup

### Team — $15 / member / month

For growing organizations (recommended)

- 14-day free trial, then $15 / member / month
- Verified domains & join by team domain

Start free trial: https://app.executor.sh/login?mode=signup

### Enterprise — Custom

For orgs with custom needs

Everything in Team, plus:

- Self-hosted or dedicated cloud deployment support
- SSO / SAML & SCIM provisioning
- Audit logs for every tool call
- Dedicated support & onboarding
- Security reviews, DPA & SOC 2 on request

Contact rhys@executor.sh

## What people say

From people using Executor to connect their agents to their tools.

- Wilson Wilson (@euboid): "I 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!" https://x.com/euboid/status/2098424364207108181
- Nate Berkopec (@nateberkopec): "For the last 3 months I've been telling all my clients to move everything to MCPs and executor.sh." https://x.com/nateberkopec/status/2099995262802641129
- Malte Ubl (@cramforce): "I've been working on integrating Rhys's excellent `executor` package into just-bash." https://x.com/cramforce/status/2042626213697720632
- Aiden Bai (@aidenybai): "executor is very good software" https://x.com/aidenybai/status/2052907020202979362
- Christoffer Bjelke (@chribjel): "update: 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 perfect" https://x.com/chribjel/status/2092939357980123545
- Ethan Niser (@ethanniser): "I dont think I've ever oauthed so much in my life until AI. connections, connections, connections. s/o executor.sh" https://x.com/ethanniser/status/2094632205570207834
- Drake Thomsen (@ThomsenDrake): "Moving 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 keys" https://x.com/ThomsenDrake/status/2093758541798506783
- Nathan Flurry (@NathanFlurry): "really 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 everywhere" https://x.com/NathanFlurry/status/2078663475782685025
- Sam Hogan (@samhogan): "My favorite features: Quick set-up. Easily share MCPs between agent harnesses with centralized authentication and access control. Auth once, use everywhere. Codemode execution by default" https://x.com/samhogan/status/2094813654202089970
- Daniel Lockyer (@DanielLockyer): "I'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!" https://x.com/DanielLockyer/status/2084357678105563583
- JosXa (@JosXa_): "I compared dozens of MCP aggregators and we finally have a winner. Executor is going to become a standard, I can smell it" https://x.com/JosXa_/status/2054494157096329504
- Ben Davis (@davis7): "Really like what Rhys is working on with executor. I think it or something like it is probably the future" https://x.com/davis7/status/2036226001877999868
- Hegar (@hegargarcia): "holy shit this is so good! takes a little to setup but this is the right primitive for MCPs! just the facts you can hook up different Google accounts and it’s just mile better than any of the labs or harness out there 😭" https://x.com/hegargarcia/status/2100634018836292051
- Sherlock (@thesherlocker): "Okay, this is really cool, I don't know why I've delayed my adoption so much. Executor is now my default" https://x.com/thesherlocker/status/2100071527811354813
- Bence Redmond (@BenceRedmond): "The 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!" https://x.com/BenceRedmond/status/2084739965972529153
- Ryan Morrissey (@ryan_morr): "Executor 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 daily" https://x.com/ryan_morr/status/2084728209946665280
- John Yeo (@johnyeo_): "executor is the one tool we were looking for to unify our MCP servers across our team, we all use it daily now" https://x.com/johnyeo_/status/2069495395001012464
- Phil Zona (@philzona): "Finally 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 far" https://x.com/philzona/status/2074193951377052115
- Kaeden (@kaeden_dev): "I 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." https://x.com/kaeden_dev/status/2069516381381599593
- shuv (@shuv1337): "executor 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 useful" https://x.com/shuv1337/status/2099997871403876730
- Serge (@sergical): "very 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 done" https://x.com/sergical/status/2090812289427386851
- Anthony Kroeger (@kr0der): "wait executor might be one of the best things ever made for AI agents" https://x.com/kr0der/status/2070191407722361022
- Kyle Finken (@KyleFinken): "Incredibly surprised i haven't seen more people talking about poke + executor. By far the best experience for personal agent integrations rn" https://x.com/KyleFinken/status/2063665744718758055
- Somto (@somto_odera): "Moved 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 available" https://x.com/somto_odera/status/2099100010558226582
- Zaher (@zaherg): "I 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 using" https://x.com/zaherg/status/2068721541664170003
- Andre Landgraf (@andrelandgraf): "Def 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 etc" https://x.com/andrelandgraf/status/2052978148912807954
- James Brock (@JamieBrock19060): "I'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!" https://x.com/JamieBrock19060/status/2071491693099331802
- chris jayden (@itschrisjayden): "I underestimated executor.sh, it's amazing! I run it locally on my mac mini, and my other devices just pull from it, amazing!" https://x.com/itschrisjayden/status/2099826643028074541
- joel (@jwwwel): "damn executor.sh is so goated. i can really bring my favourite mcps to whatever harness without needing to set it up again, so nice!!" https://x.com/jwwwel/status/2096890755629367713
- Corey Haines (@coreyhainesco): "Really liking executor.sh to make it easy to port agent integrations across platforms." https://x.com/coreyhainesco/status/2090133127243190284
- shuv (@shuv1337): "executor.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!" https://x.com/shuv1337/status/2083436548394193027
- brandon (@branalytc): "finally setup executor.sh and it's working great! happy to finally have a unified mcp!!" https://x.com/branalytc/status/2098659909131022704
- blueguy (@itsmeblueguy): "And executor.sh is all about MCPs eheh. Btw, been using it and loving :D" https://x.com/itsmeblueguy/status/2099969058280284299
- Mrigank Krishan (@zevtnax): "I'm using executor.sh for this - been great so far!" https://x.com/zevtnax/status/2099696720552854008
- jan (@miaugladiator1): "can vouch, been using it for like a month and its so peak" https://x.com/miaugladiator1/status/2092940116142518517
- SH (@RocketmanSh): "Yep it's perfect!" https://x.com/RocketmanSh/status/2092986417651540477
- Ryan Morrissey (@ryan_morr): "It's truly a stellar product we use it everyday" https://x.com/ryan_morr/status/2083702861465362545
- Will Undrell (@WillUndrll): "Congrats bro! I'm a huge fan of Executor, I use it exclusively now and it works a dream!" https://x.com/WillUndrll/status/2069491705636680079
- Ian (@IanMitchel1): "Been 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?" https://x.com/IanMitchel1/status/2088675335403667694
- mteam.gwei (@mteamisloading): "Set up Executor Cloud today to give my cloud agents access to all my accounts from one plane. Great experience! Well done" https://x.com/mteamisloading/status/2087307035947724943
- Jacob Hands (@jachands): "Btw executor is fantastic" https://x.com/jachands/status/2075693541523669036
- adam ghaida (@adamghaida): "thanks rhys :)) executor has definitely been incredibly powerful for our users and also a joy here" https://x.com/adamghaida/status/2082163483395936275
- Axel (@Swedish_chef): "Executor makes it so incredibly easy for end users" https://x.com/Swedish_chef/status/2082161772514160818
- Alex Rigler (@alexrigler): "Folks should really take a look at Executor. It is awesome and a great codebase too" https://x.com/alexrigler/status/2064741056835715141
- Griffin (@grfwings): "Executor is a great tool, please give it a try!" https://x.com/grfwings/status/2052902747473879245
- Jeremy Osih (@jeremyosih): "executor is soo good, thx for everything !" https://x.com/jeremyosih/status/2043813713195487315
- Ramón Medrano Llamas (@rmedranollamas): "executor may be a masterstroke now that it clicked on me" https://x.com/rmedranollamas/status/2072032965270360423
- sensho (@sensho): "WE all love executor" https://x.com/sensho/status/2069504511690080560
- George Kontridze (@georgekontridze): "Executor is also great" https://x.com/georgekontridze/status/2099406752358043678
- Zaher (@zaherg): "all 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 MCP" https://x.com/zaherg/status/2083113232080724033
- Oliur (@UltraLinx): "Whilst 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." https://x.com/UltraLinx/status/2088533267511218619
- Florian Bühringer (@capeflow): "Cloudflare artifacts + executor.sh with agent-native skill authoring. Centralized - shared - instantly updated across the team (as it's behind execute). Works like a charm" https://x.com/capeflow/status/2065232432450949618
- Saatvik (@aryasaatvik): "one 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 agents" https://x.com/aryasaatvik/status/2073992713255649365
- Anthony Kroeger (@kr0der): "we'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 both" https://x.com/kr0der/status/2094006573605834870
- Sami Laakkonen (@samilaa): "be me. setting up openclaws for my team. access & integration hell. 1h later demo of Executor from Rhys. problem solved" https://x.com/samilaa/status/2070264715822174416
- Jose Mejias (@MejiasDev): "Pi + Herdr + Collie + Executor is unbeaten. Is not even close." https://x.com/MejiasDev/status/2094904849099796833
- Dillon Mulroy (@dillon_mulroy): "self hosted executor - no more managing a bunch of disparate mcp servers" https://x.com/dillon_mulroy/status/2067248377222308290
- Yahia Bakour (@mynameisyahia): "Check 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 hindsight" https://x.com/mynameisyahia/status/2072938289582297219
- Raduan Al-Shedivat (@0xRaduan): "all problems of MCPs are solved with executor" https://x.com/0xRaduan/status/2042547575132160004
- Nathan Flurry (@NathanFlurry): "tldr 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-hostable" https://x.com/NathanFlurry/status/2073133993122492900
- Brandon Ravion (@flybayer): "executor.sh to get code mode for any API or MCP" https://x.com/flybayer/status/2062225610919788681
- Ben Patton (@benapatton): "What are we doing people?! Just use executor.sh or find an alternative." https://x.com/benapatton/status/2097672856477839558
- Aidan Sunbury (@aidansunbury): "We use Executor for MCP access, tailscale aperture for inference access, infisical for secret access" https://x.com/aidansunbury/status/2086974526706086293
- Erik Rogne (@erikrogne): "Finally. This is a great idea" https://x.com/erikrogne/status/2098769030735864132

## FAQ

### What is personal software?

Apps built or adapted for your own needs. Start with an MCP server, a custom tool, or a skill. Add only what you need.

### Do I need to write the code myself?

You can start by adding an existing MCP server. When you want to extend it, ask your coding agent or write the code yourself. A skill is also enough to start.

### How are my credentials used?

Executor stores account credentials separately from app source and supplies the selected credentials to app server code when it runs. Only run app code you trust. OAuth refresh tokens and client secrets remain with the host.

### Can I use more than one account?

Yes. Make separate configured copies of an app for different accounts, or write an app that uses several accounts together.

### Can every app have a web page and saved data?

Private app pages and saved app data are available locally. Self-hosted supports private app pages. Cloud app pages and hosted app data are still in development.

## Source

The existing Executor project: https://github.com/UsefulSoftwareCo/executor
