# OrbitEOS Energy Management (remote · mcp.orbiteos.cloud)

Energy management platform — 61 tools for solar, battery, grid, and EV charging control

- Trust score: 18/100 (low)
- Change this week: −40
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.orbiteos.cloud`: 18/100 (this document), [markdown](https://verifymcp.io/servers/deepakumarsubbian-orbiteos/mcp.md), [page](https://verifymcp.io/servers/deepakumarsubbian-orbiteos/mcp)

## Channel facts

- Endpoint: `https://mcp.orbiteos.cloud/sse`
- Transports: `sse`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the tool list to see what that exposes.
  - HTTPS not yet verified: we couldn't determine whether a plaintext access path exists.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared sse, but the endpoint returned HTTP 530.
- **Schema Quality & AI Usability**: 0/100
  - Schema not yet verified: we couldn't read the endpoint's schema.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we couldn't read the endpoint's tools.
- **Capabilities**: 0/100
  - Capabilities not yet verified: we couldn't read the endpoint's capabilities.

**Unverified: 4 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add --transport http deepakumarsubbian-orbiteos https://mcp.orbiteos.cloud/sse
```

### Codex

```toml
[mcp_servers.deepakumarsubbian-orbiteos]
url = "https://mcp.orbiteos.cloud/sse"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "deepakumarsubbian-orbiteos": {
      "type": "remote",
      "url": "https://mcp.orbiteos.cloud/sse",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add deepakumarsubbian-orbiteos --url https://mcp.orbiteos.cloud/sse --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  deepakumarsubbian-orbiteos:
    url: "https://mcp.orbiteos.cloud/sse"
```

### Other

```json
{
  "mcpServers": {
    "deepakumarsubbian-orbiteos": {
      "type": "http",
      "url": "https://mcp.orbiteos.cloud/sse"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 18, −39)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Authorization: fail → unverified
- [security regression] HTTPS: fail → unverified
- [security regression] Stability: 0.23 → unverified
- [security regression] Transport: pass → fail
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-08-02 (score 57, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 56, −2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 58, −1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 59, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 58, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 57)

First indexed and scored.

## MCP tools (61)

### `list_accounts` (~22 tokens)

List all accounts (organizations) on the platform. Root admin only.

### `create_account` (~64 tokens)

Create a new account (organization) on the platform. Root admin only.

Input parameters:

- `name` (string, required): Account display name
- `plan` (string): Plan: starter, professional, enterprise
- `slug` (string, required): URL-friendly identifier (lowercase, hyphens)

### `update_account` (~57 tokens)

Update an account. Root admin only.

Input parameters:

- `accountId` (string, required): Account UUID
- `isActive` (boolean): Activate/deactivate account
- `name` (string): New display name
- `plan` (string): New plan

### `list_sub_accounts` (~32 tokens)

List sub-accounts (divisions) for an account.

Input parameters:

- `accountId` (string, required): Parent account UUID

### `create_sub_account` (~51 tokens)

Create a sub-account (division) within an account.

Input parameters:

- `accountId` (string, required): Parent account UUID
- `name` (string, required): Sub-account name
- `slug` (string, required): URL-friendly identifier

### `update_sub_account` (~41 tokens)

Update a sub-account.

Input parameters:

- `isActive` (boolean)
- `name` (string)
- `subAccountId` (string, required): Sub-account UUID

### `delete_sub_account` (~26 tokens)

Delete a sub-account.

Input parameters:

- `subAccountId` (string, required): Sub-account UUID

### `list_sites` (~83 tokens)

List all sites accessible to the current user. Supports tree view (lazy loading by parentId) or flat list.

Input parameters:

- `flat` (boolean): Set true for flat list instead of tree
- `parentId` (string): Parent site UUID for tree view. Omit or "null" for root nodes.
- `subAccountId` (string): Filter by sub-account

### `search_sites` (~66 tokens)

Search sites by name, description, or location across the entire hierarchy. Returns breadcrumb paths.

Input parameters:

- `limit` (number): Max results (default 50)
- `query` (string, required): Search text
- `type` (string): Filter by type: region, hub, site, zone

### `get_site` (~29 tokens)

Get detailed information about a specific site including edge mappings.

Input parameters:

- `siteId` (string, required): Site UUID

### `create_site` (~131 tokens)

Create a new site in the hierarchy. Types: region, hub, site, zone. Only "site" type can have edge mappings.

Input parameters:

- `description` (string)
- `edgeIds` (array): Edge controller IDs to map (e.g., ["edge0"])
- `location`: Location data: {city, country, lat, lng}
- `metadata`: Custom metadata
- `name` (string, required): Site name
- `parentId` (string): Parent site UUID (for nesting)
- `subAccountId` (string): Sub-account UUID
- `type` (string, required): Hierarchy level

### `update_site` (~97 tokens)

Update a site's properties, hierarchy position, or edge mappings.

Input parameters:

- `description` (string)
- `edgeIds` (array): Replace edge mappings
- `isActive` (boolean)
- `location`
- `metadata`
- `name` (string)
- `parentId`: Move to different parent
- `siteId` (string, required): Site UUID
- `subAccountId`
- `type` (string)

### `delete_site` (~29 tokens)

Delete a site and all its children in the hierarchy.

Input parameters:

- `siteId` (string, required): Site UUID

### `get_site_config` (~47 tokens)

Get the full component configuration for a site (fetched live from the energy system). Shows all controllers, meters, inverters, etc.

Input parameters:

- `siteId` (string, required): Site UUID

### `list_users` (~30 tokens)

List all users in the current account. Shows name, email, role, last login, and active status.

### `get_user` (~30 tokens)

Get detailed information about a specific user including their assigned sites.

Input parameters:

- `userId` (string, required): User UUID

### `create_user` (~92 tokens)

Create a new user in the account. Assign a role and optionally specific sites.

Input parameters:

- `email` (string, required): User email
- `name` (string, required): Display name
- `password` (string, required): Initial password (min 8 chars)
- `roleId` (string): Role UUID
- `siteIds` (array): Site UUIDs to grant access
- `subAccountId` (string): Sub-account UUID

### `update_user` (~83 tokens)

Update a user's profile, role, active status, or site assignments.

Input parameters:

- `email` (string)
- `isActive` (boolean)
- `name` (string)
- `roleId` (string): New role UUID
- `siteIds` (array): Replace site assignments
- `subAccountId`
- `userId` (string, required): User UUID

### `delete_user` (~34 tokens)

Deactivate a user account. Does not permanently delete — can be reactivated.

Input parameters:

- `userId` (string, required): User UUID

### `invite_user` (~68 tokens)

Send an email invitation for someone to join the account.

Input parameters:

- `email` (string, required): Invitee email
- `roleId` (string): Role to assign
- `siteIds` (array): Sites to grant access to
- `subAccountId` (string): Sub-account to place them in

### `list_roles` (~18 tokens)

List all roles in the account with their permissions.

### `list_permissions` (~19 tokens)

List all available permissions that can be assigned to roles.

### `create_role` (~45 tokens)

Create a custom role with specific permissions.

Input parameters:

- `description` (string)
- `name` (string, required): Role name
- `permissionIds` (array): Permission UUIDs to assign

### `update_role` (~54 tokens)

Update a role's name, description, or permissions.

Input parameters:

- `description` (string)
- `name` (string)
- `permissionIds` (array): Replace all permissions
- `roleId` (string, required): Role UUID

### `delete_role` (~33 tokens)

Delete a custom role. Cannot delete system roles or roles assigned to users.

Input parameters:

- `roleId` (string, required): Role UUID

### `get_live_data` (~63 tokens)

Get current live power/energy snapshot for a site. Returns grid power, solar production, consumption, battery SoC, etc.

Input parameters:

- `channels` (array): Specific channel addresses. If omitted, returns all standard channels.
- `siteId` (string, required): Site UUID

### `get_channel_value` (~69 tokens)

Get a single channel value from a site. Channels are addresses like "_sum/GridActivePower" or "ess0/Soc".

Input parameters:

- `channel` (string, required): Channel address (e.g., "_sum/GridActivePower", "_sum/EssSoc")
- `siteId` (string, required): Site UUID

### `describe_system` (~30 tokens)

Explain what OrbitEOS is, what sections the dashboard has, and what metrics are available. Useful for orientation.

### `describe_site` (~38 tokens)

Get a human-readable summary of a site: what components it has, its capabilities, current status.

Input parameters:

- `siteId` (string, required): Site UUID

### `query_history` (~121 tokens)

Query historical timeseries power data for a site. Returns time-indexed power values (watts) for the specified channels and date range.

Input parameters:

- `channels` (array): Channels to query. Default: GridActivePower, ProductionActivePower, ConsumptionActivePower, EssSoc
- `fromDate` (string, required): Start date (ISO format, e.g., "2025-01-01")
- `siteId` (string, required): Site UUID
- `toDate` (string, required): End date (ISO format, e.g., "2025-01-02")

### `query_energy_totals` (~92 tokens)

Query cumulative energy totals (kWh) for a site over a date range. Returns production, consumption, grid import/export, battery charge/discharge.

Input parameters:

- `channels` (array): Energy channels. Default: all standard energy channels
- `fromDate` (string, required): Start date (ISO format)
- `siteId` (string, required): Site UUID
- `toDate` (string, required): End date (ISO format)

### `export_csv` (~57 tokens)

Export historical data as CSV for a site and date range.

Input parameters:

- `channels` (array)
- `fromDate` (string, required): Start date
- `siteId` (string, required): Site UUID
- `toDate` (string, required): End date

### `create_component` (~81 tokens)

Create a new component (controller, meter, inverter, etc.) on a site. Requires the factory ID and configuration properties.

Input parameters:

- `factoryId` (string, required): Component factory ID (e.g., "Controller.Api.ModbusTcp", "Simulator.GridMeter.Acting")
- `properties` (array, required): Component configuration properties
- `siteId` (string, required): Site UUID

### `update_component` (~68 tokens)

Update configuration properties of an existing component on a site.

Input parameters:

- `componentId` (string, required): Component ID (e.g., "ess0", "meter0", "ctrlGridOptimizedCharge0")
- `properties` (array, required): Properties to update
- `siteId` (string, required): Site UUID

### `delete_component` (~50 tokens)

Delete a component from a site. Use with caution — this removes the component from the energy system.

Input parameters:

- `componentId` (string, required): Component ID to delete
- `siteId` (string, required): Site UUID

### `set_channel_value` (~99 tokens)

Write a value to a writable channel on a site. Used for manual control (e.g., set EV charger power limit, force battery charge/discharge).

Input parameters:

- `channelId` (string, required): Channel ID (e.g., "SetActivePowerEquals")
- `componentId` (string, required): Component ID (e.g., "ess0", "evcs0")
- `siteId` (string, required): Site UUID
- `value`: Value to write

### `check_system_health` (~53 tokens)

Check if a site's energy system is running normally. Answers "Is my system running normally?" by checking online status, battery SoC, grid connection, and component states.

Input parameters:

- `siteId` (string, required): Site UUID

### `analyze_grid_usage` (~62 tokens)

Analyze why grid import is high. Compares production vs consumption patterns. Answers "Why am I importing so much from the grid?"

Input parameters:

- `date` (string): Date to analyze (ISO format). Default: yesterday
- `siteId` (string, required): Site UUID

### `compare_solar_performance` (~95 tokens)

Compare solar production across two periods. Answers "Solar seems lower than usual" by comparing recent vs previous period.

Input parameters:

- `period1From` (string, required): First period start date
- `period1To` (string, required): First period end date
- `period2From` (string, required): Second period start date
- `period2To` (string, required): Second period end date
- `siteId` (string, required): Site UUID

### `get_energy_summary` (~71 tokens)

Get energy summary for a site over a period. Answers "How much solar did I generate this month?" or "What's my energy usage?"

Input parameters:

- `fromDate` (string, required): Start date (ISO)
- `siteId` (string, required): Site UUID
- `toDate` (string, required): End date (ISO)

### `analyze_battery_usage` (~60 tokens)

Analyze battery charge/discharge patterns and provide sizing recommendations. Answers "Should I get a bigger battery?"

Input parameters:

- `fromDate` (string, required): Start date
- `siteId` (string, required): Site UUID
- `toDate` (string, required): End date

### `get_system_log` (~72 tokens)

Get system logs for a site. Shows runtime log entries filtered by level.

Input parameters:

- `fromDate` (string): Start date (default: today)
- `level` (string): Minimum log level
- `siteId` (string, required): Site UUID
- `toDate` (string): End date (default: today)

### `execute_command` (~58 tokens)

Execute a system command on a site's edge controller. Use with caution. Commands: restart, factoryReset, etc.

Input parameters:

- `command` (string, required): Command to execute
- `params`: Command parameters
- `siteId` (string, required): Site UUID

### `get_platform_settings` (~57 tokens)

Get all platform configuration settings. Root admin only. Includes SMTP, branding, security, edge connection, LLM config.

Input parameters:

- `category` (string): Filter by category: general, branding, email, edge, security, registration, ai

### `update_platform_settings` (~39 tokens)

Update platform configuration settings. Root admin only. Pass an array of {key, value} pairs.

Input parameters:

- `settings` (array, required): Settings to update

### `test_smtp` (~33 tokens)

Test SMTP email configuration by sending a test email.

Input parameters:

- `recipientEmail` (string, required): Email address to send test to

### `get_audit_log` (~105 tokens)

Query the audit log to see who did what and when. Shows user actions like logins, creates, updates, deletes.

Input parameters:

- `action` (string): Filter by action (e.g., "login", "create_user", "update_settings")
- `limit` (number): Max entries (default 50)
- `offset` (number): Skip entries
- `resourceType` (string): Filter by resource type (e.g., "user", "site", "settings")

### `universal_search` (~56 tokens)

Search across all entities: accounts, sub-accounts, sites, users. Returns matching results with entity types.

Input parameters:

- `limit` (number): Max results per entity type
- `query` (string, required): Search text (min 2 characters)

### `check_platform_health` (~26 tokens)

Check the health of the OrbitEOS platform itself (database connection, edge backend connectivity).

### `list_marketplace_categories` (~41 tokens)

List all marketplace categories: Energy Devices, Cloud Integrations, Analytics, Control Strategies, Notifications, Dashboard Widgets, Data Export, Protocols, UI Apps.

### `browse_plugins` (~119 tokens)

Browse available plugins in the marketplace. Filter by category, type, or search text.

Input parameters:

- `category` (string): Category slug: energy-devices, cloud-integrations, analytics, control-strategies, notifications, dashboard-widgets, data-export, protocols, ui-apps
- `pricing` (string): Filter by pricing: free, premium, enterprise
- `query` (string): Search text
- `type` (string): Plugin type: device_driver, cloud_integration, analytics, controller, notification, dashboard_widget, data_export, protocol

### `get_plugin_details` (~50 tokens)

Get detailed information about a marketplace plugin including its configuration schema and capabilities.

Input parameters:

- `slug` (string, required): Plugin slug (e.g., "sma-inverter", "openweather", "peak-shaving")

### `install_plugin` (~50 tokens)

Install a marketplace plugin for your account. Once installed, it can be assigned to specific sites.

Input parameters:

- `config`: Plugin configuration (based on plugin config_schema)
- `pluginId` (string, required): Plugin UUID

### `list_installed_plugins` (~23 tokens)

List all plugins installed in your account, including their site assignments.

### `update_plugin_config` (~48 tokens)

Update configuration of an installed plugin.

Input parameters:

- `config`: New configuration
- `installedPluginId` (string, required): Installed plugin UUID
- `status` (string): New status: active, inactive

### `uninstall_plugin` (~33 tokens)

Uninstall a plugin from your account. Removes all site assignments.

Input parameters:

- `installedPluginId` (string, required): Installed plugin UUID

### `assign_plugin_to_site` (~91 tokens)

Assign an installed plugin to a specific site. This creates a device/algorithm/integration instance at the site level. E.g., assign "SMA Inverter" driver to "Munich Factory" site.

Input parameters:

- `configOverride`: Site-specific configuration override (e.g., device IP address)
- `installedPluginId` (string, required): Installed plugin UUID
- `siteId` (string, required): Site UUID

### `remove_plugin_from_site` (~40 tokens)

Remove a plugin assignment from a site.

Input parameters:

- `installedPluginId` (string, required): Installed plugin UUID
- `siteId` (string, required): Site UUID

### `list_site_plugins` (~33 tokens)

List all plugins/devices/algorithms assigned to a specific site.

Input parameters:

- `siteId` (string, required): Site UUID

### `create_marketplace_category` (~76 tokens)

Create a new marketplace category. Root admin only.

Input parameters:

- `description` (string)
- `icon` (string): Icon name (e.g., "zap", "cloud", "bar-chart")
- `name` (string, required): Category name
- `slug` (string, required): URL-friendly slug
- `sortOrder` (number)

### `create_plugin` (~123 tokens)

Create a new plugin in the marketplace. Root admin only.

Input parameters:

- `capabilities` (array)
- `categoryId` (string, required): Category UUID
- `configSchema`: JSON Schema for plugin configuration
- `description` (string)
- `isOfficial` (boolean)
- `name` (string, required): Plugin name
- `pricing` (string): free, premium, enterprise, custom
- `slug` (string, required): URL-friendly slug
- `type` (string, required): device_driver, cloud_integration, analytics, controller, notification, dashboard_widget, data_export, protocol

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/deepakumarsubbian-orbiteos/mcp#diagnostics

## Score history

- 2026-08-03: 18
- 2026-08-02: 57
- 2026-08-01: 56
- 2026-07-31: 56
- 2026-07-30: 58
- 2026-07-29: 59
- 2026-07-28: 58
- 2026-07-27: 58
- 2026-07-26: 57

## Links

- Remote endpoint: https://mcp.orbiteos.cloud/sse
- Repository: https://github.com/OrbitEOS/orbiteos-core
- Website: https://orbiteos.cloud/
- Changelog RSS feed: https://verifymcp.io/servers/deepakumarsubbian-orbiteos/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/deepakumarsubbian-orbiteos/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/deepakumarsubbian-orbiteos/mcp
