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

# Connect your AI client

> Wire Anima's tools into Claude Code, Claude Desktop, Cursor, VS Code, Windsurf, and other MCP clients — automatically with the CLI, or by hand.

# Connect your AI client

Anima's capabilities are exposed as [Model Context Protocol](https://modelcontextprotocol.io) tools, so any MCP-aware client can send email, provision numbers, place calls, and use the vault on your behalf.

One server carries the full tool surface, reachable two ways:

| | Endpoint / package | Best for |
| - | - | - |
| **Hosted (recommended)** | `https://mcp.useanima.sh/mcp` | Nothing to install or keep updated; native HTTP clients |
| **Local (stdio)** | [`@anima-labs/mcp`](https://www.npmjs.com/package/@anima-labs/mcp) via `npx` | Clients without remote-MCP support |

The stdio server loads every tool group by default; pass `--tools=email,vault,phone` to register a subset (see [MCP Server](/mcp-servers) for the group list).

## Fastest path: let the CLI configure it

The [Anima CLI](/install) detects your installed MCP clients and writes the right config for each one:

```bash theme={null}
# Configure every detected client (hosted gateway — the default)
anima setup-mcp install --all

# Or target a single client, or install the local stdio server instead
anima setup-mcp install --client cursor
anima setup-mcp install --all --mode stdio
```

`setup-mcp install` auto-configures **Claude Code, Claude Desktop, Cursor, VS Code, and Windsurf**. It backs up any existing config before writing, and stores your API key in the client's config. Check and confirm what it did:

```bash theme={null}
anima setup-mcp status    # what's configured, where, and in which mode
anima setup-mcp verify    # validate the config (add --ping to test connectivity)
```

To connect a client the CLI doesn't configure automatically (such as Codex or Zed), add the configuration by hand using the tabs below.

## Per-client setup

Each tab shows the CLI command where it applies, plus the manual configuration in that client's native format. Hosted configs authenticate with `Authorization: Bearer ak_...`; the stdio server takes your API key as `ANIMA_API_KEY`.

<Tabs>
  <Tab title="Claude Code">
    ```bash theme={null}
    anima setup-mcp install --client claude-code
    ```

    Or add the server manually:

    ```bash theme={null}
    # Hosted
    claude mcp add anima --transport http \
      --url https://mcp.useanima.sh/mcp \
      --header "Authorization: Bearer ak_..."

    # Local (stdio)
    claude mcp add anima --env ANIMA_API_KEY=ak_... -- npx -y @anima-labs/mcp
    ```

    Claude Code stores MCP servers in `~/.claude.json`.
  </Tab>

  <Tab title="Claude Desktop">
    ```bash theme={null}
    anima setup-mcp install --client claude-desktop
    ```

    Or edit the config file directly:

    * **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
    * **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
    * **Linux:** `~/.config/Claude/claude_desktop_config.json`

    ```json theme={null}
    {
      "mcpServers": {
        "anima": {
          "command": "npx",
          "args": ["-y", "@anima-labs/mcp"],
          "env": { "ANIMA_API_KEY": "ak_..." }
        }
      }
    }
    ```
  </Tab>

  <Tab title="Cursor">
    ```bash theme={null}
    anima setup-mcp install --client cursor
    ```

    Or edit `~/.cursor/mcp.json` (hosted, native HTTP):

    ```json theme={null}
    {
      "mcpServers": {
        "anima": {
          "url": "https://mcp.useanima.sh/mcp",
          "headers": { "Authorization": "Bearer ak_..." }
        }
      }
    }
    ```
  </Tab>

  <Tab title="VS Code">
    ```bash theme={null}
    anima setup-mcp install --client vscode
    ```

    Or edit your user `mcp.json` (Command Palette → **MCP: Open User Configuration**):

    ```json theme={null}
    {
      "servers": {
        "anima": {
          "type": "http",
          "url": "https://mcp.useanima.sh/mcp",
          "headers": { "Authorization": "Bearer ${input:anima-key}" }
        }
      },
      "inputs": [
        {
          "id": "anima-key",
          "type": "promptString",
          "description": "Anima API Key",
          "password": true
        }
      ]
    }
    ```
  </Tab>

  <Tab title="Windsurf">
    ```bash theme={null}
    anima setup-mcp install --client windsurf
    ```

    Or edit `~/.codeium/windsurf/mcp_config.json`:

    ```json theme={null}
    {
      "mcpServers": {
        "anima": {
          "serverUrl": "https://mcp.useanima.sh/mcp",
          "headers": { "Authorization": "Bearer ak_..." }
        }
      }
    }
    ```
  </Tab>

  <Tab title="Codex / Zed">
    The CLI does not configure these clients automatically — add the server using each client's MCP configuration. Both support stdio servers launched with `npx`:

    ```
    command: npx
    args:    ["-y", "@anima-labs/mcp"]
    env:     ANIMA_API_KEY=ak_...
    ```

    One entry is enough — the server registers every tool group (pass `--tools=email,vault` in `args` to load a subset).
  </Tab>
</Tabs>

## Hosted (remote) server

If you'd rather not run the servers locally, Anima hosts them at a single endpoint. Point any client with native remote-MCP support at it and send your API key as a bearer token:

| | |
| - | - |
| **Endpoint** | `https://mcp.useanima.sh/mcp` |
| **Transport** | Streamable HTTP |
| **Auth** | `Authorization: Bearer ak_...` |

```json theme={null}
{
  "mcpServers": {
    "anima": {
      "url": "https://mcp.useanima.sh/mcp",
      "headers": { "Authorization": "Bearer ak_..." }
    }
  }
}
```

<Warning>
  Treat your API key like a password. Prefer your client's secret-input mechanism over hardcoding the key in a file that might be committed.
</Warning>

## Try it

Once connected, ask your assistant in natural language:

* "Send an email from my agent to [user@example.com](mailto:user@example.com)."
* "Text me now from my agent's number."
* "Store my CRM login in the vault — don't print the password."
* "Make a voice call to +1-555-0123 after confirming consent."

## Related

<CardGroup cols={2}>
  <Card title="For AI Agents" icon="robot" href="/ai-agents">
    The skill manifest, the docs MCP server, and machine-readable docs.
  </Card>

  <Card title="Phone & Voice" icon="phone" href="/phone">
    Provision a number, text a human, and place a call.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.