> ## Documentation Index
> Fetch the complete documentation index at: https://firmngin.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP setup

> Use Firmngin devices and automations from ChatGPT, Codex, Claude, Cursor, OpenCode, and other MCP clients

Connect your AI client to Firmngin to inspect devices, review entity history, operate permitted controls, and work with automations using natural language.

Use this Firmngin MCP server URL in every supported client:

```text theme={null}
https://mcp.firmngin.dev
```

<CardGroup cols={2}>
  <Card title="Codex and ChatGPT" icon="message-circle" href="#codex-cli-and-ide">
    Connect Codex clients or configure Firmngin as a custom app in ChatGPT web.
  </Card>

  <Card title="Claude" icon="sparkles" href="#claude">
    Connect Claude, Claude Desktop, or Claude Code to your workspace.
  </Card>

  <Card title="Cursor" icon="mouse-pointer-2" href="#cursor">
    Add Firmngin as a remote MCP server in Cursor.
  </Card>

  <Card title="OpenCode" icon="terminal" href="#opencode">
    Add and authenticate the Firmngin remote server from OpenCode.
  </Card>
</CardGroup>

## Before you connect

You need:

* A Firmngin account with access to at least one workspace.
* An AI client that supports remote MCP servers and OAuth.
* Permission to add custom connectors when your AI client is managed by an organization.

During connection, your browser opens Firmngin. Sign in, review the requested permissions, and approve only the access you expect the AI client to use.

## Codex CLI and IDE

### Codex CLI

Add Firmngin as a remote MCP server, authenticate it, then verify the connection:

```bash theme={null}
codex mcp add firmngin --url https://mcp.firmngin.dev
codex mcp login firmngin
codex mcp list
```

The login command opens Firmngin in your browser for OAuth authorization. If your Codex version does not recognize `login`, update Codex before continuing.

### Codex IDE

Open the MCP server settings from the gear menu, add a remote server, and use:

* Name: `firmngin`
* Transport: **Streamable HTTP**
* URL: `https://mcp.firmngin.dev`

Save the server, authenticate when prompted, and confirm that Firmngin's tools are available in the MCP panel.

### ChatGPT web

ChatGPT web uses **Apps** rather than a generic desktop “MCP servers” screen. For an existing app, open **Settings → Apps**, select the app, choose **Connect**, and complete OAuth.

To connect a private Firmngin MCP server as a custom app, your plan and workspace policy must support custom MCP apps. An admin or authorized developer may need to enable developer mode, add the Firmngin endpoint, scan its tools, configure allowed actions, and publish the app before other workspace members can use it.

See [Apps in ChatGPT](https://help.openai.com/en/articles/11487775-connecting-mcp-servers-to-chatgpt) and [Developer mode and MCP apps in ChatGPT](https://help.openai.com/en/articles/12584461-developer-mode-and-full-mcp-connectors-in-chatgpt-beta) for the current availability and administrator steps.

## Claude

### Claude, Claude Desktop, and Cowork

<Steps>
  <Step title="Open Connectors">
    In Claude, open **Customize**, then select **Connectors**.
  </Step>

  <Step title="Add a custom connector">
    Select **+**, choose **Add custom connector**, and enter `https://mcp.firmngin.dev` as the remote MCP server URL.
  </Step>

  <Step title="Connect your account">
    Add the connector, select **Connect**, then sign in to Firmngin and approve the required permissions.
  </Step>

  <Step title="Enable it in a conversation">
    Use the **+** menu in a conversation, open **Connectors**, and enable Firmngin.
  </Step>
</Steps>

For Team and Enterprise organizations, an Owner or Primary Owner must add the custom connector before members can connect their accounts. See [Claude custom connector setup](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp).

### Claude Code

Add Firmngin for your user account, then authenticate from an interactive Claude Code session:

```bash theme={null}
claude mcp add --transport http --scope user firmngin https://mcp.firmngin.dev
claude
```

Inside Claude Code, run:

```text theme={null}
/mcp
```

Select Firmngin and complete the browser authorization flow. See the [Claude Code MCP guide](https://code.claude.com/docs/en/mcp) for scope and authentication options.

## Cursor

Create or update `~/.cursor/mcp.json`:

```json theme={null}
{
  "mcpServers": {
    "firmngin": {
      "url": "https://mcp.firmngin.dev"
    }
  }
}
```

Restart Cursor after saving the file. Open Cursor's MCP settings, locate Firmngin, and complete OAuth authentication when prompted. Cursor then makes the permitted Firmngin tools available to Agent.

<Note>
  Use `.cursor/mcp.json` in a project instead when the connection should only be available in that project.
</Note>

See the [Cursor MCP documentation](https://docs.cursor.com/context/model-context-protocol) for configuration locations and authentication behavior.

## OpenCode

<Steps>
  <Step title="Add the server">
    Run `opencode mcp add`, choose a remote server, name it `firmngin`, and enter `https://mcp.firmngin.dev`.
  </Step>

  <Step title="Authenticate">
    Run `opencode mcp auth firmngin`. OpenCode opens the Firmngin authorization page in your browser.
  </Step>

  <Step title="Verify the connection">
    Run `opencode mcp list` and confirm that Firmngin is connected.
  </Step>
</Steps>

<Accordion title="Manual OpenCode configuration">
  Add this entry to your OpenCode configuration when you prefer manual setup:

  ```json theme={null}
  {
    "$schema": "https://opencode.ai/config.json",
    "mcp": {
      "firmngin": {
        "type": "remote",
        "url": "https://mcp.firmngin.dev",
        "enabled": true
      }
    }
  }
  ```

  Then run `opencode mcp auth firmngin`.
</Accordion>

See the [OpenCode MCP documentation](https://dev.opencode.ai/docs/mcp-servers/) for remote server and OAuth options.

## Other MCP clients

Firmngin can connect to another AI client when that client supports:

* Remote MCP servers over Streamable HTTP.
* OAuth authentication for the signed-in Firmngin user.
* Tool discovery and tool calls.

Add `https://mcp.firmngin.dev` as the server URL, complete OAuth authorization, then confirm that the client can list Firmngin tools. Client-specific availability and administrator controls still apply.

## What you can ask

After connecting, try prompts such as:

* “List the devices in my default Firmngin workspace.”
* “Show the current entities for the charging station device.”
* “Summarize alarm events from the last 24 hours.”
* “Show recent OTA activity for this device.”
* “List my active automations and their latest executions.”
* “Turn on this entity after I confirm the target device.”

The available result depends on the permissions you approved and the workspace selected for the request.

## Permissions

| Permission | Allows the AI client to |
| - | - |
| `devices:read` | Read devices, entities, alarm events, and OTA logs |
| `devices:control` | Send commands to device entities |
| `devices:manage` | Create, update, and delete devices |
| `automations:read` | Read automations, schedules, and executions |
| `automations:manage` | Create, update, and delete automations and schedules |
| `entities:logs` | Read entity state logs |

<Warning>
  Device control and management permissions can change your workspace or connected devices. Review every requested permission and tool confirmation before approving it.
</Warning>

## Workspace selection

Firmngin uses your default workspace when `workspace_id` is not specified. To work with another workspace, ask the AI client to list your Firmngin workspaces first, then name or select the required workspace.

## Disconnect access

Remove or disable Firmngin from the AI client's MCP or connector settings to stop future tool calls. You can reconnect later and approve a new set of permissions.

## Troubleshooting

| Problem | What to check |
| - | - |
| Firmngin does not appear in the client | Confirm that the server URL is exactly `https://mcp.firmngin.dev` |
| The browser authorization does not open | Use the client's MCP login or authenticate action manually |
| A tool reports a missing scope | Reconnect and approve the required permission only when appropriate |
| The wrong workspace is used | Ask the client to list workspaces and select the intended workspace |
| A write or delete action is rejected | Review the tool confirmation and verify that the required management scope was granted |
| ChatGPT web cannot add the server | Confirm plan availability and ask the workspace administrator to enable custom MCP apps |


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