# Connect TendBase to Muse Code

This guide targets Muse Code 1.3.0's documented MCP configuration. For Meta's personal assistant, use [Muse](https://usetendbase.com/docs/muse).

## Configure user settings

With Muse Code installed, edit `$XDG_CONFIG_HOME/muse/settings.json`, or `~/.config/muse/settings.json` if `XDG_CONFIG_HOME` is unset. Back up an existing file and merge the TendBase entry with its other settings and servers. For a new file, use:

```json
{
  "schema_version": 1,
  "mcpServers": {
    "tendbase": {
      "url": "https://usetendbase.com/mcp"
    }
  }
}
```

The URL selects Streamable HTTP automatically. Keep `schema_version` set to `1`. If the file already uses `mcp_servers`, merge into that existing object or rename it to `mcpServers`; never leave both keys present.

Use user settings for this authenticated server. In Muse Code 1.3.0, `muse mcp login` cannot authorize servers declared only in a project `.mcp.json` or a plugin. Importing TendBase's Codex plugin alone does not complete this setup. Do not set a static `Authorization` header, which disables the OAuth path.

## Sign in and verify

Run in your terminal:

```sh
muse mcp login tendbase
muse
```

Complete the browser verification with the email you use for TendBase. Leave dynamic client registration enabled. If browser launch is unavailable, `muse mcp login tendbase --headless` provides a terminal handoff. Follow the CLI's private input prompt; never paste the resulting redirect URL into an agent chat.

Start a new Muse process after editing settings. An in-session `/new` or `/clear` does not reload the MCP configuration. In Muse, run `/mcp`, confirm TendBase is connected, and ask it to call `tendbase_help` with `{}`. Claim ready only after that call succeeds. Then launch a fresh process and repeat the help call to check that authorization persists. Setup does not require storing or deleting data.

## Troubleshooting

- Server missing: check the user settings path, valid JSON and the single MCP settings key, then launch a new process.
- OAuth unavailable for this server: move its definition into user settings and remove any static Authorization header.
- Registration disabled: check `mcp_oauth_dynamic_client_registration`. Use dynamic registration or an explicitly provisioned public client ID; do not invent an ID or borrow another client's registration.
- HTTP 401: run `muse mcp login tendbase` again. HTTP 403: authorize all scopes advertised by TendBase. A read-only OAuth scope selection is not currently supported.
- To disconnect authorization, run `muse mcp logout tendbase`. To remove the connection, also remove its settings entry and restart Muse Code.

## Sources

- [Muse Code: MCP settings and OAuth](https://meta-models.github.io/muse-code-sdk/next/guides/extend/mcp-servers/)
- [Muse Code: plugin authentication limitations](https://meta-models.github.io/muse-code-sdk/next/guides/plugins/concepts/mcp-servers/)
- [TendBase authentication](https://usetendbase.com/docs/authentication)