> ## Documentation Index
> Fetch the complete documentation index at: https://docs.begin.eu/llms.txt
> Use this file to discover all available pages before exploring further.

# Begin MCP

> Use Begin from Claude and ChatGPT through the Model Context Protocol.

<img src="https://mintcdn.com/beginltd/03J4OXXkRY-J3a6R/images/cover/mcp-light.png?fit=max&auto=format&n=03J4OXXkRY-J3a6R&q=85&s=5c7c05e041797419f7242fa3e919795c" alt="Begin MCP" className="block dark:hidden" width="1032" height="552" data-path="images/cover/mcp-light.png" />

<img src="https://mintcdn.com/beginltd/03J4OXXkRY-J3a6R/images/cover/mcp-dark.png?fit=max&auto=format&n=03J4OXXkRY-J3a6R&q=85&s=a1cc54cf2eba76e911ddb65dee359af6" alt="Begin MCP" className="hidden dark:block" width="1032" height="552" data-path="images/cover/mcp-dark.png" />

Begin exposes a Model Context Protocol (MCP) server, so you can drive your workspace from the chat tools you already use: Claude on the web or desktop, and ChatGPT. The connection signs in with your Begin account, uses the same permissions as the web app, and is scoped to a single workspace.

## What you can do

Once connected, your AI client can list and manage everything you manage in the web app: positions, people, locations, departments, the schedule, and timesheets. Read tools answer immediately. Write tools (create, update, delete, approve) run under your permissions, since authorizing the connection is the consent step.

<Info>
  If your role doesn't grant a permission in the web app, the same restriction applies through MCP.
  You'll see a clear "Permission denied" response on any tool call outside your scope.
</Info>

## Example prompts

<Prompt description="Summarize last week's schedule." icon="calendar-week">
  What did the schedule look like last week?
</Prompt>

<Prompt description="Check coverage at a location." icon="users">
  Who's working at our Boston location on Friday?
</Prompt>

<Prompt description="Approve pending timesheets." icon="circle-check">
  Approve all pending timesheets for Anna for this month.
</Prompt>

<Prompt description="Add a new position." icon="briefcase">
  Add a new bartender position with the same color as the existing kitchen position.
</Prompt>

<Prompt description="Create shifts for a team." icon="calendar-plus">
  Schedule the Cashier team for 9am–5pm next Tuesday.
</Prompt>

## Connect Claude

The path is the same on Claude on the web (claude.ai) and Claude Desktop.

<Steps>
  <Step title="Open the connector setup">
    In Claude, go to **Settings → Connectors → Add custom connector**.
  </Step>

  <Step title="Paste the connector URL">Use `https://api.begin.eu/mcp`.</Step>

  <Step title="Sign in to Begin">
    Claude opens a browser tab. Use your normal sign-in method: phone OTP, email OTP, passkey, or
    Google.
  </Step>

  <Step title="Approve the consent screen">Confirm the connection to finish.</Step>
</Steps>

Custom connectors are available on Claude Free, Pro, Max, Team, and Enterprise. Free is capped at one custom connector. On Team and Enterprise, only Owners can add connectors.

## Connect Claude Code

If you use Claude Code in your terminal, register Begin as a remote MCP server with one command.

```bash theme={null}
claude mcp add --transport http begin https://api.begin.eu/mcp
```

Then run `/mcp` inside Claude Code to authenticate. Claude Code opens a browser window to sign in to Begin and approve the connection. Subsequent sessions reuse the cached token.

## Connect ChatGPT

ChatGPT requires turning on Developer mode before you can create an app.

<Steps>
  <Step title="Open Advanced settings">
    In ChatGPT, click your profile picture and go to **Settings → Apps → Advanced settings**.
  </Step>

  <Step title="Turn on Developer mode">
    Toggle **Developer mode** on.

    <Frame caption="Toggle Developer mode under Settings → Apps → Advanced settings.">
      <img src="https://mintcdn.com/beginltd/03J4OXXkRY-J3a6R/images/articles/mcp/chatgpt.png?fit=max&auto=format&n=03J4OXXkRY-J3a6R&q=85&s=4ff968edb7612cc538d678554ee3efd2" alt="ChatGPT Settings panel with the Developer mode toggle highlighted" width="3810" height="2144" data-path="images/articles/mcp/chatgpt.png" />
    </Frame>
  </Step>

  <Step title="Click Create app">
    The button appears next to **Advanced settings** once Developer mode is on.
  </Step>

  <Step title="Enter the connector details">
    Use `https://api.begin.eu/mcp` as the MCP server URL, plus a name and short description.

    <Frame caption="Paste the Begin MCP server URL into the New app dialog.">
      <img src="https://mintcdn.com/beginltd/03J4OXXkRY-J3a6R/images/articles/mcp/chatgpt-add-app.png?fit=max&auto=format&n=03J4OXXkRY-J3a6R&q=85&s=ac3994b726660e580b8791d121ff702f" alt="ChatGPT New app dialog with fields for name, description, and MCP server URL" width="3980" height="2238" data-path="images/articles/mcp/chatgpt-add-app.png" />
    </Frame>
  </Step>

  <Step title="Sign in to Begin">In the popup, sign in and approve the consent screen.</Step>
</Steps>

<Info>
  Custom apps are available on ChatGPT Pro, Plus, Business, Enterprise, and Education. They aren't
  available on Free. On Business, Enterprise, and Education, an admin must enable Developer mode
  under **Workspace Settings → Permissions & Roles → Connected Data**.
</Info>

## Workspace pinning

Your MCP connection is **pinned to whichever workspace is active the first time your client uses the connection** — not at the moment you authorize it. Once pinned, switching workspace in the web app does not change the workspace your MCP client uses. This is intentional, so an automation can't silently retarget.

To operate on a different workspace from an MCP client:

<Steps>
  <Step title="Switch your active workspace">
    In the Begin web app, set the target workspace as active.
  </Step>

  <Step title="Revoke the existing connection">
    In **Settings → Security → Connected MCP clients**, revoke the current pin.
  </Step>

  <Step title="Reconnect from your MCP client">Your next request pins to the new workspace.</Step>
</Steps>

The `whoami` tool returns the workspace your client is currently pinned to, which is useful to confirm before destructive operations.

## Manage connected clients

**Settings → Security → Connected MCP clients** shows every MCP client you've authorized, the workspace each is pinned to, and when each was last active. Revoke a single client or revoke all of them. Once revoked, the next request from that client returns 401 and the user has to reconnect.

## Permissions and security

* Each MCP token grants the same permissions as the user who authorized it. Never more.
* Connections are scoped to one workspace at a time.
* Tokens are short-lived (1 hour) with refresh-token rotation; clients refresh them silently.
* All actions are written to the workspace audit log under your name.
