# Skill: Connect SolarSENS to This AI

You are helping the user connect the AI tool they use to SolarSENS through
the SolarSENS MCP server. When you finish, the user can ask about their solar
Plants in plain words and get answers from SolarSENS monitoring data.

The connection is read-only. It returns only the Plants that the user's
SolarSENS account can see.

Use `https://mcp.solarsens.co/mcp`. Cloudflare verifies the user's allowed
email. On the first connection, the browser securely links that identity to the
user's existing SolarSENS account. Read
https://ai.solarsens.co/docs/installation/sign-in for the steps.

## Step 1: Gather context

Read the SolarSENS AI homepage and the getting-started page:

- https://ai.solarsens.co/
- https://ai.solarsens.co/docs/intro

## Step 2: Find out where you are running

Decide which client the user wants to connect. Use what you already know from
the conversation and your own runtime. Ask only when you cannot tell.

| Client | Who does the setup | Guide |
| --- | --- | --- |
| Claude Code | You run the commands | https://ai.solarsens.co/docs/installation/claude-code |
| OpenCode | You run the commands | https://ai.solarsens.co/docs/installation/opencode |
| ChatGPT Web Work | Before public publication, the user creates a private custom MCP connection; you guide them | https://ai.solarsens.co/docs/installation/chatgpt |
| ChatGPT desktop app or Codex (SolarSENS plugin) | The user uploads the SolarSENS plugin ZIP, with its tools and Skills, on ChatGPT Web, then opens it in the ChatGPT desktop app | https://ai.solarsens.co/docs/installation/chatgpt-plugin |
| Claude Desktop | The user clicks through Settings; you guide them | https://ai.solarsens.co/docs/installation/claude-desktop |
| Another MCP client | Use its native remote MCP + OAuth flow | https://ai.solarsens.co/docs/intro |

Read the guide for the chosen client before you act. The guide is the source
of truth when it differs from this file.

## Step 3: Add the server

Use the client's OAuth flow with `https://mcp.solarsens.co/mcp`.

### Claude Code

```bash
claude mcp add --transport http solarsens https://mcp.solarsens.co/mcp
```

This saves the server. It does not sign the user in.

### OpenCode

From the user's project folder:

```bash
opencode mcp add solarsens --url https://mcp.solarsens.co/mcp
```

This writes a `solarsens` entry to `opencode.json`. Keep only that entry. Do
not add a `workers.dev` URL, a `solarsens-preview` server, or a fixture token.

### ChatGPT Web, the ChatGPT desktop app or Codex, and Claude Desktop

You cannot change these settings yourself. Give the user the steps from the
guide, one at a time, and wait for them to confirm each one:

- ChatGPT Web: **Plugins** → **Add** → **Add custom MCP server** → name
  `SolarSENS` → the server URL → **OAuth** → **Create as a plugin**. Do not
  open Advanced OAuth settings. Select
  **Connect**, then use SolarSENS in a **Work** conversation.
- The ChatGPT desktop app or Codex: follow the SolarSENS plugin guide, then
  select **Open in desktop app**. The plugin contains the
  SolarSENS MCP connection and its guided Skills.
- Claude Desktop: **Settings** → **Connectors** → **Add custom connector** →
  name `SolarSENS` → the server URL → save.

## Step 4: Sign in

The user verifies their email through Cloudflare, using the address that AVA
Asia allowed. On the first connection, they link it to their existing
SolarSENS account in the browser.

- Claude Code: `claude mcp login solarsens`, or `/mcp` in a session and select
  `solarsens`. Over SSH, Claude Code prints a URL; the user opens it on a
  machine with a browser and pastes the redirect URL back.
- OpenCode: `opencode mcp auth solarsens`. It uses a loopback callback on port
  19876. If sign-in fails because that port is in use, follow
  https://ai.solarsens.co/docs/troubleshooting
- ChatGPT Web opens the sign-in page after the user selects **Connect**.
- The ChatGPT desktop app, Codex, and Claude Desktop open the sign-in page
  when the user connects the server.

## Step 5: Check the connection

1. Confirm the server is connected:
   - Claude Code: `claude mcp list` shows `solarsens` as `✔ Connected`.
   - OpenCode: `opencode mcp list` no longer shows `needs authentication`.
   - ChatGPT Web: the SolarSENS plugin page no longer shows **Connect**, and
     **Work → Plugins** lists SolarSENS.
   - The ChatGPT desktop app, Codex, and Claude Desktop: the connector list
     shows **Connected**.
2. List the SolarSENS tools. Expect exactly these read-only tools:
   `get_profile`, `list_accessible_plants`, `search_plants`, `get_plant_overview`, `list_devices`, `get_plant_daily_performance`, `query_plant_5min`, `query_plant_daily`, `list_alarms`, `get_alarm`, `query_string_5min`, `query_inverter_daily`, `get_plant_dashboard`, `get_portfolio_dashboard`, `get_plant_chart`, `query_device_telemetry`, and `get_string_daily_analytics`. Some clients need a new
   session before the tools appear.
3. Call `list_accessible_plants` and show the user the Plants it returns.
4. Suggest one next question, for example:
   `For the Plant you found, show yesterday's performance, with the timezone and data coverage.`

If the connection works but no Plant is returned, the account has no Plant
access yet. Tell the user to contact AVA Asia. Do not try
other Plant IDs.

## Step 6: Report

Finish with a short checklist:

- Client connected
- Sign-in completed (yes/no)
- Tools found (names, as listed in step 2)
- Plants returned (names or count), or "none: contact AVA Asia"
- One suggested first question

## Important rules

- Never ask the user to paste a SolarSENS password, access token, or client
  secret into the chat or into a file. Sign-in happens only in the browser.
- Never invent credentials, Plant IDs, or telemetry values.
- Use the SolarSENS server address from the start of this file.
- The connection is read-only. It cannot change settings, devices, or records.
  It cannot read work orders or portfolio lists yet.
- A missing value is not zero production. Report coverage and warnings as the
  tool returns them.
- For any error, read https://ai.solarsens.co/docs/troubleshooting and
  https://ai.solarsens.co/docs/reference/limits-and-errors before you retry.
