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

# MCP server

> Connect a compatible AI client to the levios MCP server through OAuth, list the available tools, and call scoped operations against your account.

The levios MCP server lets compatible AI clients call levios tools after you
approve access to specific permissions and Instagram accounts.

Use this remote MCP endpoint:

```text theme={null}
https://levios.app/api/mcp
```

## Plan an outcome

Start with [Create your first automation in chat](/mcp/first-automation). Compare
[objectives](/mcp/choose-objective), use a [follow gate](/mcp/follow-gate) when
growth is the priority, or find [strategic contacts](/mcp/strategic-contacts).
Read [Instagram limits](/mcp/instagram-limits) before promising a sequence.

When `tools/list` exposes `get_automation_guide`, your agent can retrieve the
guidance and the connection's draft permission and activation route directly.
It does not verify account or plan eligibility. If your server release does not expose it yet, share these pages.

## Connect a client

1. Copy the endpoint above.
2. In your AI client, add a custom app, connector, or remote MCP server.
3. Paste the endpoint and confirm the connection.
4. Sign in to levios in the browser window that opens.
5. Review the requested permissions and accounts, then approve the request.
6. Return to the client and ask it to list your levios accounts.

OAuth handles the connection. Do not paste an API key, access token, or other
secret into the client setup form.

## Setup guides

Each guide carries the evidence levios has for that client. Read the callout at
the top before you rely on it.

<Columns cols={3}>
  <Card title="Claude" icon="https://mintcdn.com/levios/fqbf-TFlhKASg0IQ/logo/ai/claude.svg?fit=max&auto=format&n=fqbf-TFlhKASg0IQ&q=85&s=a8438058c51153bd9c5d0cb29ec6d509" href="/mcp/claude" horizontal width="24" height="24" data-path="logo/ai/claude.svg" />

  <Card title="Claude Code" icon="https://mintcdn.com/levios/fqbf-TFlhKASg0IQ/logo/ai/claude-code.svg?fit=max&auto=format&n=fqbf-TFlhKASg0IQ&q=85&s=1e1aca457ca191899364b5779be0ec98" href="/mcp/claude-code" horizontal width="24" height="24" data-path="logo/ai/claude-code.svg" />

  <Card title="Cursor" icon="https://mintcdn.com/levios/fqbf-TFlhKASg0IQ/logo/ai/cursor.svg?fit=max&auto=format&n=fqbf-TFlhKASg0IQ&q=85&s=22ccb7b6cbebd5af96db35c7b4039f70" href="/mcp/cursor" horizontal width="24" height="24" data-path="logo/ai/cursor.svg" />

  <Card title="ChatGPT" icon="https://mintcdn.com/levios/fqbf-TFlhKASg0IQ/logo/ai/openai.svg?fit=max&auto=format&n=fqbf-TFlhKASg0IQ&q=85&s=2b60dd6649280567e46565b26f07ed12" href="/mcp/chatgpt" horizontal width="24" height="24" data-path="logo/ai/openai.svg" />

  <Card title="ChatGPT Work" icon="https://mintcdn.com/levios/fqbf-TFlhKASg0IQ/logo/ai/openai.svg?fit=max&auto=format&n=fqbf-TFlhKASg0IQ&q=85&s=2b60dd6649280567e46565b26f07ed12" href="/mcp/chatgpt-work" horizontal width="24" height="24" data-path="logo/ai/openai.svg" />

  <Card title="Codex" icon="https://mintcdn.com/levios/fqbf-TFlhKASg0IQ/logo/ai/openai.svg?fit=max&auto=format&n=fqbf-TFlhKASg0IQ&q=85&s=2b60dd6649280567e46565b26f07ed12" href="/mcp/codex" horizontal width="24" height="24" data-path="logo/ai/openai.svg" />

  <Card title="VS Code" icon="https://mintcdn.com/levios/fqbf-TFlhKASg0IQ/logo/ai/vscode.svg?fit=max&auto=format&n=fqbf-TFlhKASg0IQ&q=85&s=6553225f93afe4b5b40bcae8895e61cd" href="/mcp/vscode" horizontal width="24" height="24" data-path="logo/ai/vscode.svg" />

  <Card title="Gemini CLI" icon="https://mintcdn.com/levios/fqbf-TFlhKASg0IQ/logo/ai/gemini.svg?fit=max&auto=format&n=fqbf-TFlhKASg0IQ&q=85&s=593c8f581b24ec6bbd82881d12fd96a3" href="/mcp/gemini-cli" horizontal width="24" height="24" data-path="logo/ai/gemini.svg" />

  <Card title="Antigravity" icon="rocket" href="/mcp/antigravity" horizontal />

  <Card title="Perplexity" icon="https://mintcdn.com/levios/fqbf-TFlhKASg0IQ/logo/ai/perplexity.svg?fit=max&auto=format&n=fqbf-TFlhKASg0IQ&q=85&s=1cf3e9a752f89faff1c7abe91052a751" href="/mcp/perplexity" horizontal width="24" height="24" data-path="logo/ai/perplexity.svg" />

  <Card title="Grok" icon="bolt" href="/mcp/grok" horizontal />

  <Card title="Grok Bot" icon="robot" href="/mcp/grokbot" horizontal />

  <Card title="Devin" icon="code-branch" href="/mcp/devin" horizontal />

  <Card title="Hermes Agent" icon="feather-pointed" href="/mcp/hermes" horizontal />

  <Card title="OpenClaw" icon="terminal" href="/mcp/openclaw" horizontal />
</Columns>

A client missing from this list may still work. The endpoint is a standard
remote MCP server, so any client that supports remote MCP over OAuth can
connect to it.

## Available surface

levios publishes MCP tools. It does not publish MCP resources or prompts.

The tools visible to a client depend on the permissions you approved. The
client can discover permitted tools for accounts, Instagram media,
automations, contacts, metrics, configuration, and activation changes. A tool
outside the grant does not appear in the client's tool list. Every tool call is
restricted to accounts in the grant.

Your client receives the authoritative JSON input and output schemas through
`tools/list`. Those schemas include required fields, enum values, and the
complete typed automation `configuration`. They are not free-form payloads.

Account-scoped tools accept `account_id` as a UUID or an `@username`. Omit
it only when the OAuth grant reaches exactly one account. When the grant
reaches several accounts, use `list_accounts` or the `account_cursor` and
`account_limit` fields exposed by the tool schema.

## Available tools

| Tool | Permission | Purpose |
| - | - | - |
| `list_accounts` | OAuth grant | List the Instagram accounts available to the connection. |
| `get_automation_guide` | OAuth grant | Read objective-based guidance and recipes without accessing account data. |
| `get_automation_schema` | OAuth grant | Read exact configuration fields and an illustrative example without account lookup. |
| `validate_automation_configuration` | OAuth grant | Validate and preview configuration JSON; compare revisions without saving or activating. |
| `list_automations` | `automations:read` | List automations in one account. |
| `get_automation` | `automations:read` | Read one automation with its complete configuration. |
| `list_instagram_media` | `automations:read` | List the posts or stories of one account for trigger binding. |
| `create_automation` | `automations:write` | Create an automation from one complete typed configuration. |
| `update_automation` | `automations:write` | Rename an automation or replace its complete typed configuration. |
| `delete_automation` | `automations:write` | Archive an automation with optimistic concurrency. |
| `activate_automation` | `automations:activate` | Preview the publication, request confirmation, then activate the automation. |
| `deactivate_automation` | `automations:activate` | Preview the pause, request confirmation, then stop new trigger processing. |
| `list_contacts` | `contacts:read_pii` | List complete contacts with an optional exact Instagram username filter. |
| `get_contact` | `contacts:read_pii` | Read one complete contact and its bounded activity timeline. |
| `list_contact_tags` | `contacts:write` | List reusable contact tags. |
| `create_contact_tag` | `contacts:write` | Create a normalized contact tag. |
| `update_contact_tag` | `contacts:write` | Rename a contact tag. |
| `delete_contact_tag` | `contacts:write` | Delete a tag that is no longer in use. |
| `attach_contact_tag` | `contacts:write` | Add an existing tag to a contact. |
| `detach_contact_tag` | `contacts:write` | Remove a tag from a contact. |
| `get_metrics` | `metrics:read` | Read account metrics for a `7d` or `30d` window. |
| `get_automation_metrics` | `metrics:read` | Read lifetime and seven-day metrics for one automation. |

For activation changes, and for creating an automation that starts `live`,
the tool first returns a preview and asks whether to apply it. A positive
response authorizes that specific short-lived transition. A later
configuration change invalidates it.

Read operations and changes use separate permissions. Pausing an OAuth grant
keeps permitted reads available and blocks changes. You can pause or revoke a
connection from **Settings > MCP** in levios.

## Protocol support

The modern server path implements MCP `2026-07-28`. levios also keeps a
stateless compatibility path for the 2025-era wire used by some clients. Both
paths use the same OAuth authorization, account boundaries, permission checks,
and tool registry.

## Carousel messages

Use [Create a carousel with an agent](/mcp/carousels) to plan and validate
image cards, link buttons, and the following action.

## Authoring guides

* [Create and edit](/guides/automation-workflow)
* [Configuration](/guides/automation-configuration)
* [Triggers](/guides/automation-triggers)
* [Actions](/guides/automation-actions)
* [MCP authoring](/mcp/automation-authoring)
