# auth.md — ClimatePoint

You are an agent. Your user wants to use ClimatePoint, an AI-assisted Life Cycle Assessment (LCA) platform, from this chat. One link signs them up for a free account and connects ClimatePoint to you; it takes about a minute. Then you build the LCA with them here.

Not an agent? You might be looking for https://www.climatepoint.com.

## How to reply

Send the user **one short message**:

1. One sentence on what happens: they sign up in their browser (free plan) and approve the connection, and then you can work in ClimatePoint for them.
2. The link or command for the app you run in (Step 1). Only that app.
3. The three steps in Step 2.

Keep troubleshooting (see "If something goes wrong") until something actually fails. Never ask for, collect or type the user's password.

**Already connected?** If the ClimatePoint tools (`climatepoint_*`) are available to you, skip to Step 3. If the connector is already added but its tools are missing, ask the user to open their connector settings and click **Connect** on ClimatePoint.

## Step 1 — The link for your app

### Claude (claude.ai, Claude Desktop)

Give the user this exact URL, **including everything after `?`**. The query string is what opens Claude's "Add custom connector" dialog with ClimatePoint already filled in. Do not shorten it, do not replace it with `https://claude.ai/customize/connectors`, and paste it as a plain URL rather than hiding it behind link text:

```
https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=ClimatePoint&connectorUrl=https%3A%2F%2Fapi.lcamcp.com%2Fmcp
```

If the dialog opens empty, the user fills it in by hand: **Name** `ClimatePoint`, **URL** `https://api.lcamcp.com/mcp`.

### Claude Code

Run this command yourself, or ask the user to run it. Then the user runs `/mcp`, picks ClimatePoint and authenticates in the browser window that opens.

```sh
claude mcp add ClimatePoint --transport http https://api.lcamcp.com/mcp
```

### Cursor

Add this to `~/.cursor/mcp.json` (or `.cursor/mcp.json` in the project):

```json
{
  "mcpServers": {
    "ClimatePoint": { "url": "https://api.lcamcp.com/mcp" }
  }
}
```

### VS Code

Add this to `.vscode/mcp.json`:

```json
{
  "servers": {
    "ClimatePoint": { "type": "http", "url": "https://api.lcamcp.com/mcp" }
  }
}
```

### ChatGPT

Custom MCP servers need developer mode: Settings → Connectors → Advanced → turn on Developer mode → "Create app" → URL `https://api.lcamcp.com/mcp` → follow the sign-in prompts.

### Any other MCP client

Add a remote MCP server with the URL `https://api.lcamcp.com/mcp`. The client's OAuth support does the rest.

## Step 2 — What the user does

Suggested copy for Claude:

> Open this link and click **Add**, then **Connect**:
> https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=ClimatePoint&connectorUrl=https%3A%2F%2Fapi.lcamcp.com%2Fmcp
>
> 1. On ClimatePoint's page, sign in, or click **Sign Up** (Google is fastest).
> 2. Approve the connection on **Authorize MCP Client**.
> 3. Come back here and tell me which product you want to assess.

## Step 3 — Check the connection, then start

Call a read-only tool first, for example `climatepoint_get_usage` or `climatepoint_list_products`. If it succeeds, ask which product to assess. The server's tool descriptions give the order of the workflow; follow them. A typical start:

1. `climatepoint_list_companies`. If the user has no company yet, create one with `climatepoint_create_company`.
2. `climatepoint_create_product` for the product.
3. `climatepoint_generate_functional_units`, then `climatepoint_update_product_scope` to save the functional unit.
4. `climatepoint_generate_bom` to research and build the Bill of Materials.

## If something goes wrong

| What happens | What to do |
| --- | --- |
| The tools don't appear after approving | Ask the user to start a new conversation or reload the app. |
| The user signed up with email and opened the confirmation link in another browser or device | They land on their ClimatePoint dashboard instead of the approval screen. They click **Connect** again in the AI app and sign in with the new account. |
| "Expired" on the approval screen | The approval request lasts 10 minutes. The user clicks **Connect** again. |
| The connector can't be added on a Team or Enterprise plan | An organization owner may have to add it. |
| `401` from `/mcp` | The client is not authorized. Ask the user to connect again (Step 1). |
| A tool reports a free-plan limit | Call `climatepoint_get_usage` and tell the user. Plans: https://www.climatepoint.com/pricing |
| The user wants to disconnect | They revoke it in ClimatePoint under Settings → Integrations, or remove the connector in their app. |

Support: https://www.climatepoint.com/support

## For developers

- **MCP server:** `https://api.lcamcp.com/mcp` (Streamable HTTP).
- **Authorization:** OAuth 2.1, authorization code with PKCE (S256) and dynamic client registration. An unauthenticated request returns `401` with `WWW-Authenticate: Bearer resource_metadata="…"` pointing at `/.well-known/oauth-protected-resource`. Scope: `mcp:tools`.
- **Accounts:** free self-serve sign-up with usage limits, on ClimatePoint's own pages (Google, or email and password with one confirmation click). The user signs up themselves in the browser; this service has no `agent_auth` registration endpoint, so connect through the MCP client's OAuth flow above.
