# Connect Goose to aicharged.io

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

## At a glance

| Kind | Sign-in | Platforms | Status | Verified |
|---|---|---|---|---|
| Terminal agents (CLI) | API key (Bearer), OAuth sign-in | macOS, Linux, Windows | works today | 2026-10-22 |

- MCP: `https://aicharged.io/api/v1/mcp`
- Docs: https://goose-docs.ai/docs/getting-started/using-extensions

## Recipe

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
```

Unverified: the headers key comes from Goose issue reports, not its docs. Use uri — Goose ignores url. The goose:// link adds the server without a key.

[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)

## 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 51 clients: https://aicharged.io/connect.md

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