# Connect aicharged.io to your AI client

Every recipe below talks to the same endpoint: https://aicharged.io/api/v1/mcp

## Install the aicharged CLI (optional)

```sh
curl -fsSL https://aicharged.io/install.sh | sh && aicharged setup
```

Windows (PowerShell):

```powershell
irm https://aicharged.io/install.ps1 | iex; aicharged setup
```

## Authentication

- Send `Authorization: Bearer <API_KEY>` with every request. Create a key at https://aicharged.io/admin/account/api-keys.
- OAuth 2.1 (PKCE S256) is available for clients that cannot send a static key (ChatGPT).
- Without a key the endpoint answers 401 with a WWW-Authenticate header that points to https://aicharged.io/.well-known/oauth-protected-resource.

## All clients

| Client | Kind | Sign-in | Platforms | Recipe |
|---|---|---|---|---|
| Claude Code | Terminal agents (CLI) | API key (Bearer), OAuth sign-in, Local bridge (stdio) | macOS, Linux, Windows | [claude-code.md](https://aicharged.io/connect/claude-code.md) |
| Codex | Terminal agents (CLI) | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [codex.md](https://aicharged.io/connect/codex.md) |
| Gemini CLI | Terminal agents (CLI) | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [gemini-cli.md](https://aicharged.io/connect/gemini-cli.md) |
| Antigravity | Terminal agents (CLI) | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [antigravity.md](https://aicharged.io/connect/antigravity.md) |
| GitHub Copilot CLI | Terminal agents (CLI) | API key (Bearer) | macOS, Linux, Windows | [copilot-cli.md](https://aicharged.io/connect/copilot-cli.md) |
| OpenCode | Terminal agents (CLI) | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [opencode.md](https://aicharged.io/connect/opencode.md) |
| Amp | Terminal agents (CLI) | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [amp.md](https://aicharged.io/connect/amp.md) |
| Goose | Terminal agents (CLI) | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [goose.md](https://aicharged.io/connect/goose.md) |
| Qwen Code | Terminal agents (CLI) | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [qwen-code.md](https://aicharged.io/connect/qwen-code.md) |
| Grok Build | Terminal agents (CLI) | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [grok-build.md](https://aicharged.io/connect/grok-build.md) |
| Pi | Terminal agents (CLI) | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [pi.md](https://aicharged.io/connect/pi.md) |
| Mistral Vibe | Terminal agents (CLI) | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [mistral-vibe.md](https://aicharged.io/connect/mistral-vibe.md) |
| Cursor | Editors & IDEs | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [cursor.md](https://aicharged.io/connect/cursor.md) |
| VS Code | Editors & IDEs | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [vscode.md](https://aicharged.io/connect/vscode.md) |
| Windsurf (Devin Desktop) | Editors & IDEs | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [windsurf.md](https://aicharged.io/connect/windsurf.md) |
| JetBrains AI Assistant / Junie | Editors & IDEs | API key (Bearer) | macOS, Linux, Windows | [jetbrains.md](https://aicharged.io/connect/jetbrains.md) |
| Cline | Editors & IDEs | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [cline.md](https://aicharged.io/connect/cline.md) |
| Zed | Editors & IDEs | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [zed.md](https://aicharged.io/connect/zed.md) |
| Roo Code | Editors & IDEs | API key (Bearer) | macOS, Linux, Windows | [roo-code.md](https://aicharged.io/connect/roo-code.md) |
| Kilo Code | Editors & IDEs | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [kilo.md](https://aicharged.io/connect/kilo.md) |
| Warp | Editors & IDEs | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [warp.md](https://aicharged.io/connect/warp.md) |
| Kiro | Editors & IDEs | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [kiro.md](https://aicharged.io/connect/kiro.md) |
| Trae | Editors & IDEs | API key (Bearer) | macOS, Windows | [trae.md](https://aicharged.io/connect/trae.md) |
| Raycast | Editors & IDEs | API key (Bearer), OAuth sign-in | macOS | [raycast.md](https://aicharged.io/connect/raycast.md) |
| Claude.ai | AI assistants | API key (Bearer), OAuth sign-in | Web, iOS, Android | [claude-ai.md](https://aicharged.io/connect/claude-ai.md) |
| Claude Desktop | AI assistants | API key (Bearer), OAuth sign-in, Local bridge (stdio) | macOS, Windows | [claude-desktop.md](https://aicharged.io/connect/claude-desktop.md) |
| ChatGPT | AI assistants | OAuth sign-in | Web | [chatgpt.md](https://aicharged.io/connect/chatgpt.md) |
| GitHub Copilot coding agent | AI assistants | API key (Bearer) | Web | [copilot-agent.md](https://aicharged.io/connect/copilot-agent.md) |
| Perplexity | AI assistants | API key (Bearer), OAuth sign-in | Web | [perplexity.md](https://aicharged.io/connect/perplexity.md) |
| Mistral Le Chat | AI assistants | API key (Bearer), OAuth sign-in | Web | [mistral-le-chat.md](https://aicharged.io/connect/mistral-le-chat.md) |
| Grok | AI assistants | API key (Bearer), OAuth sign-in | Web | [grok.md](https://aicharged.io/connect/grok.md) |
| Microsoft Copilot Studio | AI assistants | API key (Bearer), OAuth sign-in | Web | [copilot-studio.md](https://aicharged.io/connect/copilot-studio.md) |
| Python (MCP SDK) | SDKs & frameworks | API key (Bearer) | macOS, Linux, Windows | [python-sdk.md](https://aicharged.io/connect/python-sdk.md) |
| TypeScript (MCP SDK) | SDKs & frameworks | API key (Bearer) | macOS, Linux, Windows | [typescript-sdk.md](https://aicharged.io/connect/typescript-sdk.md) |
| OpenAI Agents SDK (Python) | SDKs & frameworks | API key (Bearer) | macOS, Linux, Windows | [openai-agents-python.md](https://aicharged.io/connect/openai-agents-python.md) |
| OpenAI Responses API | SDKs & frameworks | API key (Bearer) | macOS, Linux, Windows | [openai-responses-api.md](https://aicharged.io/connect/openai-responses-api.md) |
| Anthropic Messages API | SDKs & frameworks | API key (Bearer) | macOS, Linux, Windows | [anthropic-messages-api.md](https://aicharged.io/connect/anthropic-messages-api.md) |
| Vercel AI SDK | SDKs & frameworks | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [vercel-ai-sdk.md](https://aicharged.io/connect/vercel-ai-sdk.md) |
| LangChain | SDKs & frameworks | API key (Bearer) | macOS, Linux, Windows | [langchain.md](https://aicharged.io/connect/langchain.md) |
| LlamaIndex | SDKs & frameworks | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [llamaindex.md](https://aicharged.io/connect/llamaindex.md) |
| Mastra | SDKs & frameworks | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [mastra.md](https://aicharged.io/connect/mastra.md) |
| CrewAI | SDKs & frameworks | API key (Bearer) | macOS, Linux, Windows | [crewai.md](https://aicharged.io/connect/crewai.md) |
| Pydantic AI | SDKs & frameworks | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | [pydantic-ai.md](https://aicharged.io/connect/pydantic-ai.md) |
| AutoGen | SDKs & frameworks | API key (Bearer) | macOS, Linux, Windows | [autogen.md](https://aicharged.io/connect/autogen.md) |
| smolagents | SDKs & frameworks | API key (Bearer) | macOS, Linux, Windows | [smolagents.md](https://aicharged.io/connect/smolagents.md) |
| n8n | Automation | API key (Bearer), OAuth sign-in | Web | [n8n.md](https://aicharged.io/connect/n8n.md) |
| Zapier | Automation | API key (Bearer), OAuth sign-in | Web | [zapier.md](https://aicharged.io/connect/zapier.md) |
| Make | Automation | API key (Bearer), OAuth sign-in | Web | [make.md](https://aicharged.io/connect/make.md) |
| Dify | Automation | API key (Bearer), OAuth sign-in | Web | [dify.md](https://aicharged.io/connect/dify.md) |
| Flowise | Automation | API key (Bearer) | Web | [flowise.md](https://aicharged.io/connect/flowise.md) |
| curl (HTTP) | Plain HTTP | API key (Bearer) | macOS, Linux, Windows | [curl.md](https://aicharged.io/connect/curl.md) |

## Terminal agents (CLI)

### Claude Code

One command adds aicharged.io as a remote MCP server (HTTP) to Claude Code — for this project or for all of them.

One command:

```sh
claude mcp add --transport http aicharged https://aicharged.io/api/v1/mcp --header "Authorization: Bearer <API_KEY>"
```

[Client documentation](https://code.claude.com/docs/en/mcp)

→ https://aicharged.io/connect/claude-code.md

### Codex

The Codex CLI, desktop app and IDE extension share one config; the key is read from an environment variable.

One command:

```sh
codex mcp add aicharged --url https://aicharged.io/api/v1/mcp --bearer-token-env-var AICHARGED_API_KEY
```

[Client documentation](https://learn.chatgpt.com/docs/extend/mcp?surface=cli)

→ https://aicharged.io/connect/codex.md

### Gemini CLI

Gemini CLI connects over Streamable HTTP (httpUrl) with an Authorization header.

One command:

```sh
gemini mcp add --transport http --header "Authorization: Bearer <API_KEY>" aicharged https://aicharged.io/api/v1/mcp
```

[Client documentation](https://geminicli.com/docs/tools/mcp-server)

→ https://aicharged.io/connect/gemini-cli.md

### Antigravity

Antigravity (IDE, CLI and app) uses the serverUrl key in mcp_config.json.

Config file (`~/.gemini/config/mcp_config.json`):

```json
{
  "mcpServers": {
    "aicharged": {
      "serverUrl": "https://aicharged.io/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer <API_KEY>"
      }
    }
  }
}
```

[Client documentation](https://antigravity.google/docs/mcp)

→ https://aicharged.io/connect/antigravity.md

### GitHub Copilot CLI

GitHub Copilot CLI adds aicharged.io with one command; the config lands in ~/.copilot/mcp-config.json.

One command:

```sh
copilot mcp add --transport http aicharged https://aicharged.io/api/v1/mcp --header "Authorization: Bearer <API_KEY>"
```

[Client documentation](https://docs.github.com/en/copilot)

→ https://aicharged.io/connect/copilot-cli.md

### OpenCode

OpenCode: a remote MCP server in opencode.json, with the key read from an environment variable.

Config file (`opencode.json`):

```json
{
  "mcp": {
    "aicharged": {
      "type": "remote",
      "url": "https://aicharged.io/api/v1/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:AICHARGED_API_KEY}"
      },
      "oauth": false
    }
  }
}
```

[Client documentation](https://opencode.ai/docs/mcp-servers)

→ https://aicharged.io/connect/opencode.md

### Amp

Amp: add aicharged.io to amp.mcpServers in settings.json with the key from an environment variable — or sign in with OAuth via amp mcp add.

Config file (`~/.config/amp/settings.json`):

```json
{
  "amp.mcpServers": {
    "aicharged": {
      "url": "https://aicharged.io/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer ${AICHARGED_API_KEY}"
      }
    }
  }
}
```

[Client documentation](https://ampcode.com/docs/customize/mcp)

→ https://aicharged.io/connect/amp.md

### Goose

Goose: a one-click goose:// link, or a streamable_http extension in config.yaml (the key is uri, not url).

1. Run goose configure → Add Extension → Remote Extension (Streamable HTTP).
2. Name: aicharged · URI: https://aicharged.io/api/v1/mcp
3. If the wizard does not ask for headers, add the Authorization header in config.yaml (below).

Config file (`~/.config/goose/config.yaml`):

```yaml
extensions:
  aicharged:
    name: aicharged
    type: streamable_http
    uri: https://aicharged.io/api/v1/mcp
    headers:
      Authorization: "Bearer <API_KEY>"
    enabled: true
    timeout: 300
```

[Add to Goose](goose://extension?url=https%3A%2F%2Faicharged.io%2Fapi%2Fv1%2Fmcp&type=streamable_http&id=aicharged&name=aicharged) · [Client documentation](https://goose-docs.ai/docs/getting-started/using-extensions)

→ https://aicharged.io/connect/goose.md

### Qwen Code

Qwen Code adds aicharged.io with one command; the config uses httpUrl (Streamable HTTP) with an Authorization header.

One command:

```sh
qwen mcp add --transport http aicharged https://aicharged.io/api/v1/mcp --header "Authorization: Bearer <API_KEY>"
```

[Client documentation](https://qwenlm.github.io/qwen-code-docs/en/users/features/mcp)

→ https://aicharged.io/connect/qwen-code.md

### Grok Build

Grok Build, the xAI coding agent, adds aicharged.io with grok mcp add, or through ~/.grok/config.toml with the key from an environment variable.

One command:

```sh
grok mcp add --transport http aicharged https://aicharged.io/api/v1/mcp --header "Authorization: Bearer <API_KEY>"
```

[Client documentation](https://docs.x.ai/build/features/mcp-servers)

→ https://aicharged.io/connect/grok-build.md

### Pi

Pi has MCP built in: one command with the key from an environment variable, or ~/.pi/agent/mcp.json.

One command:

```sh
pi mcp add aicharged --url https://aicharged.io/api/v1/mcp --bearer-token-env-var AICHARGED_API_KEY
```

[Client documentation](https://pi.dev/docs/latest/mcp)

→ https://aicharged.io/connect/pi.md

### Mistral Vibe

Mistral Vibe CLI: vibe mcp add reads the key from an environment variable; or append the server to config.toml.

One command:

```sh
vibe mcp add aicharged --url https://aicharged.io/api/v1/mcp --api-key-env AICHARGED_API_KEY
```

[Client documentation](https://docs.mistral.ai/vibe/code/cli/mcp-servers)

→ https://aicharged.io/connect/mistral-vibe.md

## Editors & IDEs

### Cursor

Add aicharged.io to Cursor with one click (deeplink) or by editing mcp.json.

Config file (`~/.cursor/mcp.json`):

```json
{
  "mcpServers": {
    "aicharged": {
      "url": "https://aicharged.io/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer ${env:AICHARGED_API_KEY}"
      }
    }
  }
}
```

[Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=aicharged&config=eyJ1cmwiOiJodHRwczovL2FpY2hhcmdlZC5pby9hcGkvdjEvbWNwIiwiaGVhZGVycyI6eyJBdXRob3JpemF0aW9uIjoiQmVhcmVyICR7ZW52OkFJQ0hBUkdFRF9BUElfS0VZfSJ9fQ%3D%3D) · [Add to Cursor (web link)](https://cursor.com/en/install-mcp?name=aicharged&config=eyJ1cmwiOiJodHRwczovL2FpY2hhcmdlZC5pby9hcGkvdjEvbWNwIiwiaGVhZGVycyI6eyJBdXRob3JpemF0aW9uIjoiQmVhcmVyICR7ZW52OkFJQ0hBUkdFRF9BUElfS0VZfSJ9fQ%3D%3D) · [Client documentation](https://cursor.com/docs/context/mcp)

→ https://aicharged.io/connect/cursor.md

### VS Code

VS Code with GitHub Copilot: install link, code --add-mcp, or a .vscode/mcp.json that prompts for the key securely.

Add from the command line:

```sh
code --add-mcp '{"name":"aicharged","type":"http","url":"https://aicharged.io/api/v1/mcp","headers":{"Authorization":"Bearer <API_KEY>"}}'
```

[Install in VS Code](vscode:mcp/install?%7B%22name%22%3A%22aicharged%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Faicharged.io%2Fapi%2Fv1%2Fmcp%22%2C%22headers%22%3A%7B%22Authorization%22%3A%22Bearer%20%24%7Benv%3AAICHARGED_API_KEY%7D%22%7D%7D) · [Install in VS Code Insiders](vscode-insiders:mcp/install?%7B%22name%22%3A%22aicharged%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Faicharged.io%2Fapi%2Fv1%2Fmcp%22%2C%22headers%22%3A%7B%22Authorization%22%3A%22Bearer%20%24%7Benv%3AAICHARGED_API_KEY%7D%22%7D%7D) · [Install in VS Code (web link)](https://insiders.vscode.dev/redirect/mcp/install?name=aicharged&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Faicharged.io%2Fapi%2Fv1%2Fmcp%22%2C%22headers%22%3A%7B%22Authorization%22%3A%22Bearer%20%24%7Benv%3AAICHARGED_API_KEY%7D%22%7D%7D) · [Client documentation](https://code.visualstudio.com/docs/agents/reference/mcp-configuration)

→ https://aicharged.io/connect/vscode.md

### Windsurf (Devin Desktop)

Windsurf is now Devin Desktop: its Cascade agent reads mcp_config.json with serverUrl — mind the limit of 100 tools.

Config file (`~/.config/devin/mcp_config.json`):

```json
{
  "mcpServers": {
    "aicharged": {
      "serverUrl": "https://aicharged.io/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer ${env:AICHARGED_API_KEY}"
      }
    }
  }
}
```

[Client documentation](https://docs.devin.ai/desktop/cascade/mcp)

→ https://aicharged.io/connect/windsurf.md

### JetBrains AI Assistant / Junie

JetBrains IDEs (AI Assistant, Junie): paste a JSON server definition in Settings → Tools → AI Assistant → MCP. AI Assistant has no OAuth — use the API key.

1. Open Settings → Tools → AI Assistant → Model Context Protocol (MCP) and click Add.
2. Choose HTTP and paste the JSON below.
3. Click OK, then Apply to connect.

JSON to paste into the dialog:

```json
{
  "mcpServers": {
    "aicharged": {
      "url": "https://aicharged.io/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer <API_KEY>"
      }
    }
  }
}
```

[Client documentation](https://www.jetbrains.com/help/ai-assistant/mcp.html)

→ https://aicharged.io/connect/jetbrains.md

### Cline

Cline (VS Code extension and CLI): a streamableHttp server in cline_mcp_settings.json.

Config file (`~/.cline/data/settings/cline_mcp_settings.json`):

```json
{
  "mcpServers": {
    "aicharged": {
      "type": "streamableHttp",
      "url": "https://aicharged.io/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer <API_KEY>"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
```

[Client documentation](https://docs.cline.bot/mcp/configuring-mcp-servers)

→ https://aicharged.io/connect/cline.md

### Zed

Zed: a context server with url and headers in settings.json — without the header Zed offers an OAuth sign-in.

Config file (`settings.json`):

```json
{
  "context_servers": {
    "aicharged": {
      "url": "https://aicharged.io/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer <API_KEY>"
      }
    }
  }
}
```

[Client documentation](https://zed.dev/docs/ai/mcp)

→ https://aicharged.io/connect/zed.md

### Roo Code

Roo Code: a streamable-http server in .roo/mcp.json (project) or in the global MCP settings.

Shared project file (`.roo/mcp.json`):

```json
{
  "mcpServers": {
    "aicharged": {
      "type": "streamable-http",
      "url": "https://aicharged.io/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer <API_KEY>"
      }
    }
  }
}
```

[Client documentation](https://roocodeinc.github.io/Roo-Code/features/mcp/using-mcp-in-roo)

→ https://aicharged.io/connect/roo-code.md

### Kilo Code

Kilo Code: a remote server under mcp in kilo.jsonc, with the key in a header.

Config file (`~/.config/kilo/kilo.jsonc`):

```json
{
  "mcp": {
    "aicharged": {
      "type": "remote",
      "url": "https://aicharged.io/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer <API_KEY>"
      },
      "oauth": false
    }
  }
}
```

[Client documentation](https://kilo.ai/docs/features/mcp/using-mcp-in-kilo-code)

→ https://aicharged.io/connect/kilo.md

### Warp

Warp: Settings → Agents → MCP servers → + Add, then paste the JSON.

1. Open Settings → Agents → MCP servers (warp://settings/mcp) and click + Add.
2. Paste the JSON below and save.

JSON to paste into the dialog:

```json
{
  "aicharged": {
    "url": "https://aicharged.io/api/v1/mcp",
    "headers": {
      "Authorization": "Bearer <API_KEY>"
    }
  }
}
```

[Client documentation](https://docs.warp.dev/knowledge-and-collaboration/mcp)

→ https://aicharged.io/connect/warp.md

### Kiro

Kiro: ~/.kiro/settings/mcp.json with the key from an environment variable that you approve in the Kiro settings.

Config file (`~/.kiro/settings/mcp.json`):

```json
{
  "mcpServers": {
    "aicharged": {
      "url": "https://aicharged.io/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer ${AICHARGED_API_KEY}"
      },
      "autoApprove": []
    }
  }
}
```

[Client documentation](https://kiro.dev/docs/mcp/configuration)

→ https://aicharged.io/connect/kiro.md

### Trae

Trae: add the server manually in the MCP panel or in .trae/mcp.json (format not fully verified).

1. Open the MCP panel → Add → Add Manually.
2. Paste the JSON below and confirm.

JSON to paste into the dialog (`.trae/mcp.json`):

```json
{
  "mcpServers": {
    "aicharged": {
      "url": "https://aicharged.io/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer <API_KEY>"
      }
    }
  }
}
```

[Client documentation](https://docs.trae.ai/ide/add-mcp-servers)

→ https://aicharged.io/connect/trae.md

### Raycast

Raycast (Pro): the Install MCP Server command takes the URL and an Authorization header.

1. In Raycast run the Install MCP Server command (needs Raycast Pro).
2. Name: aicharged · URL: https://aicharged.io/api/v1/mcp
3. HTTP Headers: Authorization = Bearer <API_KEY>, then install.

Remote MCP server URL:

```text
https://aicharged.io/api/v1/mcp
```

[Client documentation](https://manual.raycast.com/ai/model-context-protocol)

→ https://aicharged.io/connect/raycast.md

## AI assistants

### Claude.ai

Claude.ai on the web and on mobile: a custom connector with the server URL and an API-key request header.

1. Open Customize → Connectors.
2. Click + Add → Add custom connector.
3. Name: aicharged · Remote MCP server URL: https://aicharged.io/api/v1/mcp
4. Authentication: No sign in · Request headers: Authorization: Bearer <API_KEY>
5. Save, then enable aicharged in a chat from the + menu.
6. Team/Enterprise: an admin adds it under Organization settings → Connectors; members then just connect.

Remote MCP server URL:

```text
https://aicharged.io/api/v1/mcp
```

[Open in Claude.ai](https://claude.ai/new?q=Read%20https%3A%2F%2Faicharged.io%2Fagent.md%20and%20set%20me%20up%20with%20aicharged.io) · [Client documentation](https://support.claude.com/en/articles/11175166)

→ https://aicharged.io/connect/claude-ai.md

### Claude Desktop

Claude Desktop: the same custom connector as on the web, or claude_desktop_config.json through the aicharged CLI (stdio).

1. Open Customize → Connectors.
2. Click + Add → Add custom connector.
3. Name: aicharged · Remote MCP server URL: https://aicharged.io/api/v1/mcp
4. Authentication: No sign in · Request headers: Authorization: Bearer <API_KEY>
5. Save, then enable aicharged in a chat from the + menu.
6. Alternative without a connector: write claude_desktop_config.json (below) and restart Claude Desktop.

Remote MCP server URL:

```text
https://aicharged.io/api/v1/mcp
```

[Client documentation](https://support.claude.com/en/articles/11175166)

→ https://aicharged.io/connect/claude-desktop.md

### ChatGPT

ChatGPT accepts custom MCP servers only with OAuth sign-in (plugins) — it cannot send a static API key.

1. Open chatgpt.com/plugins → + → Add custom MCP server.
2. Name: aicharged · Server URL: https://aicharged.io/api/v1/mcp
3. Authentication: OAuth — you sign in to your aicharged.io account.
4. Create as a plugin, then call it in a chat with @.

Remote MCP server URL:

```text
https://aicharged.io/api/v1/mcp
```

[Open in ChatGPT](https://chatgpt.com/?q=Read%20https%3A%2F%2Faicharged.io%2Fagent.md%20and%20set%20me%20up%20with%20aicharged.io) · [Client documentation](https://developers.openai.com/api/docs/guides/custom-mcp-server)

→ https://aicharged.io/connect/chatgpt.md

### GitHub Copilot coding agent

GitHub Copilot coding agent in a repository: MCP configuration in the repo settings and the key as an agent secret.

1. In the repository open Settings → Copilot → MCP servers.
2. Paste the MCP configuration below and save.
3. Add the agent secret COPILOT_MCP_AICHARGED_KEY with your API key (the COPILOT_MCP_ prefix is required).

Repository settings → Copilot → MCP servers:

```json
{
  "mcpServers": {
    "aicharged": {
      "type": "http",
      "url": "https://aicharged.io/api/v1/mcp",
      "tools": [
        "*"
      ],
      "headers": {
        "Authorization": "Bearer $COPILOT_MCP_AICHARGED_KEY"
      }
    }
  }
}
```

[Client documentation](https://docs.github.com/en/copilot)

→ https://aicharged.io/connect/copilot-agent.md

### Perplexity

Perplexity (Pro, Max, Enterprise): a custom remote connector with your API key (steps not fully verified).

1. Open Customize → Connectors → Add custom → Remote.
2. URL: https://aicharged.io/api/v1/mcp · Transport: Streamable HTTP
3. Authentication: API Key → paste <API_KEY>

Remote MCP server URL:

```text
https://aicharged.io/api/v1/mcp
```

[Open in Perplexity](https://www.perplexity.ai/search?q=Read%20https%3A%2F%2Faicharged.io%2Fagent.md%20and%20set%20me%20up%20with%20aicharged.io) · [Client documentation](https://www.perplexity.ai/help-center/en/articles/13915507)

→ https://aicharged.io/connect/perplexity.md

### Mistral Le Chat

Mistral Le Chat: an administrator adds a Custom MCP Connector; Le Chat detects the Bearer-token sign-in by itself.

1. Open Connectors → + Add Connector → Custom MCP Connector.
2. Connector name: aicharged · Server URL: https://aicharged.io/api/v1/mcp → Connect.
3. Le Chat detects the sign-in method; for HTTP Bearer Token enter <API_KEY>.
4. Only an administrator can add custom connectors (on Free, Pro and Student plans that is the account owner).

Remote MCP server URL:

```text
https://aicharged.io/api/v1/mcp
```

[Client documentation](https://docs.mistral.ai/le-chat/knowledge-integrations/connectors/mcp-connectors)

→ https://aicharged.io/connect/mistral-le-chat.md

### Grok

Grok on grok.com: a custom connector — the API-key option is unverified; on the xAI API a remote MCP tool works with your key today.

1. Go to grok.com/connectors → New Connector → Custom.
2. Enter https://aicharged.io/api/v1/mcp and complete the authentication.
3. Grok Business/Enterprise: an admin adds it first in console.x.ai → Grok Business → Connectors → + Add Connector → Other.

Remote MCP server URL:

```text
https://aicharged.io/api/v1/mcp
```

[Open in Grok](https://grok.com/?q=Read%20https%3A%2F%2Faicharged.io%2Fagent.md%20and%20set%20me%20up%20with%20aicharged.io) · [Client documentation](https://docs.x.ai/grok/connectors)

→ https://aicharged.io/connect/grok.md

### Microsoft Copilot Studio

Microsoft Copilot Studio: add aicharged.io as a Model Context Protocol tool with API-key authentication in the Authorization header.

1. In your agent open Tools → Add a tool → New tool → Model Context Protocol.
2. Server name: aicharged · a short server description · Server URL: https://aicharged.io/api/v1/mcp
3. Authentication: API key · Type: Header · header name Authorization → Create.
4. Create a new connection with the value Bearer <API_KEY>, then Add to agent.

Remote MCP server URL:

```text
https://aicharged.io/api/v1/mcp
```

[Client documentation](https://learn.microsoft.com/en-us/microsoft-copilot-studio/mcp-add-existing-server-to-agent)

→ https://aicharged.io/connect/copilot-studio.md

## SDKs & frameworks

### Python (MCP SDK)

The official Python MCP SDK (v1): a Streamable HTTP client with an Authorization header.

Client code:

```python
import asyncio, os
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client

async def main():
    headers = {"Authorization": f"Bearer {os.environ['AICHARGED_API_KEY']}"}
    async with streamablehttp_client("https://aicharged.io/api/v1/mcp", headers=headers) as (read, write, _):
        async with ClientSession(read, write) as session:
            await session.initialize()
            tools = await session.list_tools()
            print([tool.name for tool in tools.tools])
            print(await session.call_tool("list_runs", {}))

asyncio.run(main())
```

[Client documentation](https://py.sdk.modelcontextprotocol.io)

→ https://aicharged.io/connect/python-sdk.md

### TypeScript (MCP SDK)

The official TypeScript MCP SDK (2.3.0 or newer) with the StreamableHTTPClientTransport.

Client code:

```ts
import { Client, StreamableHTTPClientTransport } from '@modelcontextprotocol/client';

const client = new Client({ name: 'my-app', version: '1.0.0' });
await client.connect(new StreamableHTTPClientTransport(new URL('https://aicharged.io/api/v1/mcp'), {
  requestInit: { headers: { Authorization: `Bearer ${process.env.AICHARGED_API_KEY}` } },
}));
const { tools } = await client.listTools();
console.log(tools.map((tool) => tool.name));
console.log(await client.callTool({ name: 'list_runs', arguments: {} }));
```

[Client documentation](https://ts.sdk.modelcontextprotocol.io)

→ https://aicharged.io/connect/typescript-sdk.md

### OpenAI Agents SDK (Python)

OpenAI Agents SDK for Python: MCPServerStreamableHttp with an Authorization header, passed to the agent in mcp_servers.

Agent code:

```python
import asyncio, os
from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp

async def main():
    async with MCPServerStreamableHttp(
        name="aicharged",
        params={
            "url": "https://aicharged.io/api/v1/mcp",
            "headers": {"Authorization": f"Bearer {os.environ['AICHARGED_API_KEY']}"},
            "timeout": 30,
        },
    ) as server:
        agent = Agent(name="Assistant", instructions="Use the aicharged.io tools.", mcp_servers=[server])
        result = await Runner.run(agent, "List my recent aicharged.io runs")
        print(result.final_output)

asyncio.run(main())
```

[Client documentation](https://openai.github.io/openai-agents-python/mcp/)

→ https://aicharged.io/connect/openai-agents-python.md

### OpenAI Responses API

OpenAI Responses API: a hosted mcp tool — OpenAI calls aicharged.io for you; the key goes into the authorization field.

Hosted MCP tool — the API calls aicharged.io for you:

```python
import os
from openai import OpenAI

client = OpenAI()
response = client.responses.create(
    model="gpt-6-astra",
    input="List my recent aicharged.io runs",
    tools=[{
        "type": "mcp",
        "server_label": "aicharged",
        "server_url": "https://aicharged.io/api/v1/mcp",
        "authorization": os.environ["AICHARGED_API_KEY"],
        "require_approval": "never",
    }],
)
print(response.output_text)
```

[Client documentation](https://developers.openai.com/api/docs/guides/tools-connectors-mcp)

→ https://aicharged.io/connect/openai-responses-api.md

### Anthropic Messages API

Anthropic Messages API MCP connector (beta): mcp_servers plus an mcp_toolset — Claude calls aicharged.io straight from the API.

Hosted MCP tool — the API calls aicharged.io for you:

```python
import os
import anthropic

client = anthropic.Anthropic()
response = client.beta.messages.create(
    model="claude-opus-5-5",
    max_tokens=16000,
    betas=["mcp-client-2025-11-20"],
    messages=[{"role": "user", "content": "List my recent aicharged.io runs"}],
    mcp_servers=[{
        "type": "url",
        "url": "https://aicharged.io/api/v1/mcp",
        "name": "aicharged",
        "authorization_token": os.environ["AICHARGED_API_KEY"],
    }],
    tools=[{"type": "mcp_toolset", "mcp_server_name": "aicharged"}],
)
print(response.content)
```

[Client documentation](https://platform.claude.com/docs/en/agents-and-tools/mcp-connector)

→ https://aicharged.io/connect/anthropic-messages-api.md

### Vercel AI SDK

Vercel AI SDK: createMCPClient from @ai-sdk/mcp with an HTTP transport; pass the tools straight to generateText or streamText.

Client code:

```ts
import { createMCPClient } from '@ai-sdk/mcp';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: 'https://aicharged.io/api/v1/mcp',
    headers: { Authorization: `Bearer ${process.env.AICHARGED_API_KEY}` },
  },
});
const tools = await client.tools(); // pass to generateText / streamText
console.log(Object.keys(tools));
await client.close();
```

[Client documentation](https://ai-sdk.dev/docs/ai-sdk-core/mcp-tools)

→ https://aicharged.io/connect/vercel-ai-sdk.md

### LangChain

LangChain: langchain[mcp] turns the aicharged.io tools into LangChain tools through MCPAdapter.

Client code:

```python
import asyncio, os
from fastmcp import Client
from langchain.mcp import MCPAdapter

async def main():
    client = Client("https://aicharged.io/api/v1/mcp", auth=os.environ["AICHARGED_API_KEY"])
    async with MCPAdapter(client) as adapter:
        tools = await adapter.list_tools()
        print([tool.name for tool in tools])

asyncio.run(main())
```

[Client documentation](https://docs.langchain.com/oss/python/migrate/langchain-mcp-adapters)

→ https://aicharged.io/connect/langchain.md

### LlamaIndex

LlamaIndex: BasicMCPClient with headers, then McpToolSpec turns the tools into LlamaIndex tools.

Client code:

```python
import asyncio, os
from llama_index.tools.mcp import BasicMCPClient, McpToolSpec

async def main():
    client = BasicMCPClient("https://aicharged.io/api/v1/mcp", headers={"Authorization": f"Bearer {os.environ['AICHARGED_API_KEY']}"})
    tools = await McpToolSpec(client=client).to_tool_list_async()
    print([tool.metadata.name for tool in tools])

asyncio.run(main())
```

[Client documentation](https://developers.llamaindex.ai/python/framework-api-reference/tools/mcp)

→ https://aicharged.io/connect/llamaindex.md

### Mastra

Mastra: MCPClient from @mastra/mcp with the key in the requestInit headers.

Client code:

```ts
import { MCPClient } from '@mastra/mcp';

const mcp = new MCPClient({
  servers: {
    aicharged: {
      url: new URL('https://aicharged.io/api/v1/mcp'),
      requestInit: { headers: { Authorization: `Bearer ${process.env.AICHARGED_API_KEY}` } },
    },
  },
});
const tools = await mcp.listTools();
console.log(Object.keys(tools));
```

[Client documentation](https://mastra.ai/docs/tools-mcp/mcp-overview)

→ https://aicharged.io/connect/mastra.md

### CrewAI

CrewAI: give the agent an MCPServerHTTP in mcps, with streamable HTTP and an Authorization header.

Agent code:

```python
import os
from crewai import Agent
from crewai.mcp import MCPServerHTTP

agent = Agent(
    role="Media producer",
    goal="Create media with the aicharged.io tools",
    backstory="You work through the aicharged.io MCP server.",
    mcps=[MCPServerHTTP(
        url="https://aicharged.io/api/v1/mcp",
        headers={"Authorization": f"Bearer {os.environ['AICHARGED_API_KEY']}"},
        streamable=True,
    )],
)
```

[Client documentation](https://docs.crewai.com/en/mcp/overview)

→ https://aicharged.io/connect/crewai.md

### Pydantic AI

Pydantic AI: an MCPToolset with the API key as auth, added to the agent toolsets.

Agent code:

```python
import asyncio, os
from pydantic_ai import Agent
from pydantic_ai.mcp import MCPToolset

toolset = MCPToolset("https://aicharged.io/api/v1/mcp", auth=os.environ["AICHARGED_API_KEY"])
agent = Agent("openai:gpt-6.1-sol", toolsets=[toolset])

async def main():
    result = await agent.run("List my recent aicharged.io runs")
    print(result.output)

asyncio.run(main())
```

[Client documentation](https://pydantic.dev/docs/ai/mcp/client)

→ https://aicharged.io/connect/pydantic-ai.md

### AutoGen

AutoGen: StreamableHttpServerParams with headers, used through McpWorkbench.

Client code:

```python
import asyncio, os
from autogen_ext.tools.mcp import McpWorkbench, StreamableHttpServerParams

async def main():
    params = StreamableHttpServerParams(
        url="https://aicharged.io/api/v1/mcp",
        headers={"Authorization": f"Bearer {os.environ['AICHARGED_API_KEY']}"},
        timeout=30.0,
    )
    async with McpWorkbench(params) as workbench:
        tools = await workbench.list_tools()
        print([tool["name"] for tool in tools])

asyncio.run(main())
```

[Client documentation](https://microsoft.github.io/autogen/stable/reference/python/autogen_ext.tools.mcp.html)

→ https://aicharged.io/connect/autogen.md

### smolagents

Hugging Face smolagents: MCPClient over streamable-http; its docs do not show the headers key.

Client code:

```python
import os
from smolagents import MCPClient

server = {
    "url": "https://aicharged.io/api/v1/mcp",
    "transport": "streamable-http",
    "headers": {"Authorization": f"Bearer {os.environ['AICHARGED_API_KEY']}"},
}
with MCPClient(server) as tools:
    print([tool.name for tool in tools])
```

[Client documentation](https://huggingface.co/docs/smolagents/en/tutorials/tools)

→ https://aicharged.io/connect/smolagents.md

## Automation

### n8n

n8n: the MCP Client Tool of an AI Agent node, with Bearer Auth credentials.

1. Add an AI Agent node and attach an MCP Client Tool to it.
2. Endpoint: https://aicharged.io/api/v1/mcp · Server Transport: HTTP Streamable
3. Authentication: Bearer Auth → a new credential with your API key <API_KEY>.
4. Tools to Include: All, or Selected to keep the agent focused.

Remote MCP server URL:

```text
https://aicharged.io/api/v1/mcp
```

[Client documentation](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolmcp/)

→ https://aicharged.io/connect/n8n.md

### Zapier

Zapier: the MCP Client action (beta) with Streamable HTTP and a Bearer token.

1. In your Zap add the MCP Client action (beta).
2. Server URL: https://aicharged.io/api/v1/mcp · Transport: Streamable HTTP · OAuth: No
3. Bearer Token: <API_KEY>, then pick the aicharged.io tool to run.

Remote MCP server URL:

```text
https://aicharged.io/api/v1/mcp
```

[Client documentation](https://help.zapier.com/hc/en-us/articles/38777069364109)

→ https://aicharged.io/connect/zapier.md

### Make

Make: the MCP Client app (open beta) with your API key as the access token.

1. Add an MCP Client module: Call a tool, or Execute an action with AI.
2. + New MCP Server → URL: https://aicharged.io/api/v1/mcp
3. API Key / Access token: <API_KEY>

Remote MCP server URL:

```text
https://aicharged.io/api/v1/mcp
```

[Client documentation](https://apps.make.com/mcp-client)

→ https://aicharged.io/connect/make.md

### Dify

Dify: an HTTP MCP server under Tools → MCP with a custom Authorization header.

1. Open Integrations → Tools → MCP and add an MCP server (HTTP).
2. Server URL: https://aicharged.io/api/v1/mcp · name and server identifier: aicharged
3. Advanced Options → Custom Headers: Authorization = Bearer <API_KEY>

Remote MCP server URL:

```text
https://aicharged.io/api/v1/mcp
```

[Client documentation](https://docs.dify.ai/en/cloud/use-dify/build/mcp)

→ https://aicharged.io/connect/dify.md

### Flowise

Flowise: the Custom MCP tool with a JSON config; the key can live in a Flowise variable.

1. Add the Custom MCP tool to your agent flow and paste the configuration below.
2. Under Variables create aichargedKey with your API key <API_KEY>.

Node configuration with a Flowise variable:

```json
{
  "url": "https://aicharged.io/api/v1/mcp",
  "headers": {
    "Authorization": "Bearer {{$vars.aichargedKey}}"
  }
}
```

[Client documentation](https://docs.flowiseai.com/tutorials/tools-and-mcp)

→ https://aicharged.io/connect/flowise.md

## Plain HTTP

### curl (HTTP)

Plain JSON-RPC over HTTP POST — for scripts, debugging and clients without an MCP SDK.

Classic flow: initialize → tools/list → tools/call (MCP 2025-11-25):

```sh
U=https://aicharged.io/api/v1/mcp
H=(-H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -H "Authorization: Bearer <API_KEY>")
curl -s "${H[@]}" -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"curl","version":"1.0"}}}' "$U"
curl -s "${H[@]}" -H "MCP-Protocol-Version: 2025-11-25" -d '{"jsonrpc":"2.0","method":"notifications/initialized"}' "$U"
curl -s "${H[@]}" -H "MCP-Protocol-Version: 2025-11-25" -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' "$U"
curl -s "${H[@]}" -H "MCP-Protocol-Version: 2025-11-25" -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"list_runs","arguments":{}}}' "$U"
```

[Client documentation](https://modelcontextprotocol.io/specification)

→ https://aicharged.io/connect/curl.md

HTML version: https://aicharged.io/connect
