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

# MCP

> Connect Cursor, Claude Code, or Codex to Seiton over Streamable HTTP.

MCP-compatible clients can query your analytics and manage your account through natural language. The MCP server provides the same functionality, permissions, and safety checks as the REST API and CLI.

It uses **Streamable HTTP** at `https://seiton.app/api/mcp`.

## Create an account token

Open **Settings → API / MCP** at [seiton.app/dashboard/settings](https://seiton.app/dashboard/settings?tab=api).

<Steps>
  <Step title="Pick websites">
    All websites, or specific ones.
  </Step>

  <Step title="Choose permissions">
    Read / write per resource.
  </Step>

  <Step title="Name and create">
    Name the token (for example "Cursor" or "Claude Code") and copy the `sei_` secret. It is shown once.
  </Step>
</Steps>

## Connect your client

<Tabs>
  <Tab title="Codex">
    ```bash theme={null}
    codex mcp add seiton \
      --url https://seiton.app/api/mcp \
      --bearer-token-env-var SEITON_TOKEN
    ```
  </Tab>

  <Tab title="Claude Code">
    ```bash theme={null}
    claude mcp add --transport http seiton https://seiton.app/api/mcp \
      --header "Authorization: Bearer sei_xxx"
    ```
  </Tab>

  <Tab title="Cursor">
    ```json theme={null}
    {
      "mcpServers": {
        "seiton": {
          "url": "https://seiton.app/api/mcp",
          "headers": {
            "Authorization": "Bearer sei_xxx"
          }
        }
      }
    }
    ```
  </Tab>

  <Tab title="stdio (mcp-remote)">
    ```json theme={null}
    {
      "mcpServers": {
        "seiton": {
          "command": "npx",
          "args": [
            "-y",
            "mcp-remote",
            "https://seiton.app/api/mcp",
            "--header",
            "Authorization: Bearer sei_xxx"
          ]
        }
      }
    }
    ```
  </Tab>
</Tabs>

## Tools

Resources: health, briefing, signals, analytics, revenue, churn, SEO, integrations, expenses, notifications, websites, tokens.

Naming pattern: `seiton_<resource>_<action>`

Examples: `seiton_health_overview`, `seiton_briefing_get`, `seiton_projects_list`, `seiton_integrations_sync`.

## What to ask

* Based on Seiton, what should I do this morning?
* Is revenue healthy? Any failed payments worth recovering?
* Churn is up — what's the signal, and what should I ship?

## Safety

* **Confirmation gate.** Irreversible tools (delete expense, mint or revoke a token) require `confirm: true`. Without it the tool returns a preview.
* **No secret exfiltration.** Listing tokens returns id, name, prefix, dates — never the secret.
* **Dashboard-only.** Website deletion and connecting or disconnecting payment providers stay on the web dashboard and return 403.
* **Scoped by token.** Permissions are re-validated on every tool call.
