> ## Documentation Index
> Fetch the complete documentation index at: https://codebeans-cb-notifylyst.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Other AI clients

> Cursor, VS Code, Claude Code, older Claude Desktop — clients that take a config instead of a browser sign-in.

Any client that can send an `Authorization` header can use the connector. These skip the browser
step entirely — the token travels in the header.

> [!TIP]
>
> **Copy these from the app, not from here.** In the **Access tokens** table, **Copy config** copies
> a ready config for that token, with a `<YOUR_TOKEN>` placeholder where your token goes. The shapes
> below are for reference.

> [tab] Claude / Cursor / VS Code
>
> For clients that read an `mcp.json`-style server list:
>
> ```json theme={"system"}
> {
>   "mcpServers": {
>     "notifylyst-claude-desktop": {
>       "url": "https://notifylyst-mcp.cblyst.com/mcp",
>       "headers": { "Authorization": "Bearer nl_mcp_…" }
>     }
>   }
> }
> ```

> [tab] Claude Desktop (older)
>
> Older Claude Desktop versions connect through `mcp-remote`:
>
> ```json theme={"system"}
> {
>   "mcpServers": {
>     "notifylyst-claude-desktop": {
>       "command": "npx",
>       "args": [
>         "mcp-remote",
>         "https://notifylyst-mcp.cblyst.com/mcp",
>         "--header", "Authorization:${AUTH}"
>       ],
>       "env": { "AUTH": "Bearer nl_mcp_…" }
>     }
>   }
> }
> ```
>
> The token goes in the `AUTH` environment value, as `Bearer` followed by the token.

> [tab] Terminal
>
> Claude Code:
>
> ```bash theme={"system"}
> claude mcp add --transport http notifylyst-claude-desktop \
>   "https://notifylyst-mcp.cblyst.com/mcp" \
>   --header "Authorization: Bearer nl_mcp_…"
> ```

## No connector dialog in your app?

The **AI connectors (MCP)** tab has a card for exactly this: **No connector dialog in your app?**
Press **Show config** to see the same three shapes — **Claude / Cursor / VS Code**, **Claude
Desktop (older)** and **Terminal** — and **Hide config** to close it.

## Two things to get right

**The store comes from the token.** The URL the app prints may include `?shop=`; it only tells two
stores' connectors apart, so the config works with or without it.

**Name the server entry per token.** A config file is keyed by that name: two entries both called
`notifylyst` means the second silently replaces the first. The app names each one
`notifylyst-` plus the token's name (`notifylyst-claude-desktop`) for exactly this reason.

## Checking a token without starting a session

The connector has a health check that reports what a token allows — useful when a client is being
unhelpful about *why* it failed:

```bash theme={"system"}
curl -s https://notifylyst-mcp.cblyst.com/healthz \
  -H "Authorization: Bearer nl_mcp_…"
```

A good token returns status `ready` with the store, the allowed tools and the expiry. Any refusal
returns **401** (or **429** when you are over the rate limit). Each check uses one request from
your rate limit. Without a token it is a plain liveness check.

> [!WARNING]
>
> If you monitor uptime, point the monitor at `/healthz` — never at `/mcp`, which answers **405** to
> a `GET` by design and will read as unhealthy. See [Error codes](https://codebeans-cb-notifylyst.mintlify.site/mcp/reference/errors.md).

## Next

[Try an example](https://codebeans-cb-notifylyst.mintlify.site/mcp/examples/overview.md) — three things worth asking on day one.


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