---
title: What Executor is
description: "Executor holds the services you already use as reusable accounts, connects them to apps, and gives both people and agents one place to call them."
---

Executor holds your **accounts** — the credentials for the services you already
use — and connects them to **apps**. An app is a small program that turns those
accounts into **tools**. People use those tools in the dashboard. Agents use
them through one MCP endpoint.

You connect an account once. Any app that needs the same **provider** can select
it, without a second copy of the credential. The agent never sees the
credential; Executor attaches it inside the app.

## The short version

1. **Connect an account**

    Save a credential once, such as an API key or an OAuth sign-in.

2. **Add an app**

    Select which account fills each of the app's requirements.

3. **Use it**

    Connect your agent to the MCP endpoint, or use the app in the dashboard.

## Where to run it

- **Hosted**: sign in at [v2.executor.sh](https://v2.executor.sh). This is the
  beta origin. There is nothing to install.
- **Local**: run the server on your own machine with the
  [command line](/run/cli). Your accounts stay on that machine.
- **Self-host**: run the server in [Docker](/run/self-host) on your own
  infrastructure, with your own database.

All three run the same apps and expose the same `/mcp` endpoint. Hosted and
self-host add organizations and browser sign-in.

## Next

**[Connect an account](/connect-an-account)**

Save a credential and select it for an app.

**[Add an MCP client](/mcp-clients)**

Point Claude Code, Cursor or Codex at your endpoint.

**[Providers and accounts](/concepts/providers-and-accounts)**

What Executor stores, and what an app sees.

**[Author an app](/build/author-an-app)**

Write queries, mutations and the approvals that guard them.
