---
url: https://docs.sunlicense.com/guide/remote-mcp.md
description: >-
  Connect SunLicense to claude.ai, ChatGPT and other web AI apps as a remote MCP
  server, with a sign-in instead of a token - plans, permissions, limits and how
  to disconnect.
---

# Connect claude.ai, ChatGPT and other web AI apps

Web AI apps can manage SunLicense for you without the CLI: add SunLicense as a **custom connector** (a remote MCP
server), sign in once, and ask in the chat, for example "list my licenses" or "issue a Pro license for
jane@acme.dev". It's included in **Lite** and **Standard**, the same as [`sunlicense mcp`](/guide/ai-assistants#let-it-manage-your-account-mcp).

The server address is (**SDKs → Connect an AI assistant → claude.ai, ChatGPT** in the dashboard has it with a copy
button):

```text
https://api.sunlicense.com/mcp
```

## Add it

**claude.ai** (and the Claude desktop and mobile apps): **Settings → Connectors → Add custom connector**, name it
SunLicense, paste the address, and choose **Connect**.

**ChatGPT**: in a plan that allows custom connectors, **Settings → Apps & Connectors → Create** (developer mode), paste
the address, choose **OAuth** and **Create**.

Any other app that supports remote MCP servers with OAuth works the same way: it registers itself, then opens
SunLicense's sign-in page.

## Sign in and choose what it may do

The app opens the SunLicense dashboard in your browser (sign in if you aren't). The page shows:

* the app's name and **where the answer goes** (for claude.ai, `claude.ai`). The name is what the app calls itself;
  only continue if you started this from that app;
* the organization it will work in: the one you're signed in to. To connect another organization, switch to it in
  the dashboard first, then connect again from the app;
* the permissions it asks for. Untick any you don't want to give. You can never give more than your own role has.

Choose **Connect** and you're back in the app. On the Free plan the page offers the upgrade instead.

## What it can do

The same tools as [`sunlicense mcp`](/cli/mcp), limited by your role and the permissions you approved: products and
policies, licenses, customers, machines, access rules, API keys and statistics, plus the docs. Changes are made as
you, and the license page says so: "Issued by AI assistant (Claude)".

Most apps ask you before running a tool that changes something. Treat full license keys the same way as anywhere
else: the app only gets one when you ask it to reveal a key.

## Limits

Every tool call counts toward your organization's **AI assistant calls a day** (Lite 300, Standard 3,000), shared with
`sunlicense mcp`. Over the limit, the app gets a short message with the time it resets (00:00 UTC). See today's count
and the last 30 days on **Billing**.

## Disconnect

**Settings → Connected AI apps → Disconnect** stops the app within 30 seconds. A connection also ends when it isn't
used for 30 days, when you leave the organization, or when you remove the connector in the app.

## For developers

SunLicense follows the [MCP authorization spec](https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization):

| | |
|---|---|
| Protected resource metadata | `https://api.sunlicense.com/.well-known/oauth-protected-resource/mcp` |
| Authorization server metadata | `https://api.sunlicense.com/.well-known/oauth-authorization-server` |
| Client registration | Dynamic Client Registration (RFC 7591); redirect URIs must be `https` or `http://localhost` |
| Flow | Authorization code with PKCE (`S256` only); `resource` = `https://api.sunlicense.com/mcp` |
| Tokens | Access tokens last an hour; refresh tokens rotate on every use |
| Scopes | SunLicense permissions, e.g. `licenses.read licenses.write`; none asked = the usual set for assistants |
| Transport | Streamable HTTP, stateless, JSON responses |

The token works only at `/mcp`: the REST API refuses it. For scripts and CI, use a
[personal access token](/api/overview#personal-access-tokens) instead.
