Server definition
- Hash
- sha256:ddd5e1bc50bf2c31c7269097a21715893565117a893e2cd70cf675aebe945789
- What it is
- What a remote MCP server returned when asked what it offers: 61 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Analyze battery charge/discharge patterns and provide sizing recommendations. Answers \"Should I get a bigger battery?\"",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"fromDate": {
"description": "Start date",
"type": "string"
},
"siteId": {
"description": "Site UUID",
"type": "string"
},
"toDate": {
"description": "End date",
"type": "string"
}
},
"required": [
"siteId",
"fromDate",
"toDate"
],
"type": "object"
},
"name": "analyze_battery_usage",
"outputSchema": null
},
{
"description": "Analyze why grid import is high. Compares production vs consumption patterns. Answers \"Why am I importing so much from the grid?\"",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"date": {
"description": "Date to analyze (ISO format). Default: yesterday",
"type": "string"
},
"siteId": {
"description": "Site UUID",
"type": "string"
}
},
"required": [
"siteId"
],
"type": "object"
},
"name": "analyze_grid_usage",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"configOverride": {
"description": "Site-specific configuration override (e.g., device IP address)"
},
"installedPluginId": {
"description": "Installed plugin UUID",
"type": "string"
},
"siteId": {
"description": "Site UUID",
"type": "string"
}
},
"required": [
"installedPluginId",
"siteId"
],
"type": "object"
},
"name": "assign_plugin_to_site",
"outputSchema": null
},
{
"description": "Browse available plugins in the marketplace. Filter by category, type, or search text.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"category": {
"description": "Category slug: energy-devices, cloud-integrations, analytics, control-strategies, notifications, dashboard-widgets, data-export, protocols, ui-apps",
"type": "string"
},
"pricing": {
"description": "Filter by pricing: free, premium, enterprise",
"type": "string"
},
"query": {
"description": "Search text",
"type": "string"
},
"type": {
"description": "Plugin type: device_driver, cloud_integration, analytics, controller, notification, dashboard_widget, data_export, protocol",
"type": "string"
}
},
"type": "object"
},
"name": "browse_plugins",
"outputSchema": null
},
{
"description": "Check the health of the OrbitEOS platform itself (database connection, edge backend connectivity).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "check_platform_health",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"siteId": {
"description": "Site UUID",
"type": "string"
}
},
"required": [
"siteId"
],
"type": "object"
},
"name": "check_system_health",
"outputSchema": null
},
{
"description": "Compare solar production across two periods. Answers \"Solar seems lower than usual\" by comparing recent vs previous period.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"period1From": {
"description": "First period start date",
"type": "string"
},
"period1To": {
"description": "First period end date",
"type": "string"
},
"period2From": {
"description": "Second period start date",
"type": "string"
},
"period2To": {
"description": "Second period end date",
"type": "string"
},
"siteId": {
"description": "Site UUID",
"type": "string"
}
},
"required": [
"siteId",
"period1From",
"period1To",
"period2From",
"period2To"
],
"type": "object"
},
"name": "compare_solar_performance",
"outputSchema": null
},
{
"description": "Create a new account (organization) on the platform. Root admin only.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"name": {
"description": "Account display name",
"type": "string"
},
"plan": {
"description": "Plan: starter, professional, enterprise",
"type": "string"
},
"slug": {
"description": "URL-friendly identifier (lowercase, hyphens)",
"type": "string"
}
},
"required": [
"name",
"slug"
],
"type": "object"
},
"name": "create_account",
"outputSchema": null
},
{
"description": "Create a new component (controller, meter, inverter, etc.) on a site. Requires the factory ID and configuration properties.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"factoryId": {
"description": "Component factory ID (e.g., \"Controller.Api.ModbusTcp\", \"Simulator.GridMeter.Acting\")",
"type": "string"
},
"properties": {
"description": "Component configuration properties",
"items": {
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"value": {}
},
"required": [
"name"
],
"type": "object"
},
"type": "array"
},
"siteId": {
"description": "Site UUID",
"type": "string"
}
},
"required": [
"siteId",
"factoryId",
"properties"
],
"type": "object"
},
"name": "create_component",
"outputSchema": null
},
{
"description": "Create a new marketplace category. Root admin only.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
},
"icon": {
"description": "Icon name (e.g., \"zap\", \"cloud\", \"bar-chart\")",
"type": "string"
},
"name": {
"description": "Category name",
"type": "string"
},
"slug": {
"description": "URL-friendly slug",
"type": "string"
},
"sortOrder": {
"type": "number"
}
},
"required": [
"name",
"slug"
],
"type": "object"
},
"name": "create_marketplace_category",
"outputSchema": null
},
{
"description": "Create a new plugin in the marketplace. Root admin only.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"capabilities": {
"items": {
"type": "string"
},
"type": "array"
},
"categoryId": {
"description": "Category UUID",
"type": "string"
},
"configSchema": {
"description": "JSON Schema for plugin configuration"
},
"description": {
"type": "string"
},
"isOfficial": {
"type": "boolean"
},
"name": {
"description": "Plugin name",
"type": "string"
},
"pricing": {
"description": "free, premium, enterprise, custom",
"type": "string"
},
"slug": {
"description": "URL-friendly slug",
"type": "string"
},
"type": {
"description": "device_driver, cloud_integration, analytics, controller, notification, dashboard_widget, data_export, protocol",
"type": "string"
}
},
"required": [
"name",
"slug",
"categoryId",
"type"
],
"type": "object"
},
"name": "create_plugin",
"outputSchema": null
},
{
"description": "Create a custom role with specific permissions.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
},
"name": {
"description": "Role name",
"type": "string"
},
"permissionIds": {
"description": "Permission UUIDs to assign",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "create_role",
"outputSchema": null
},
{
"description": "Create a new site in the hierarchy. Types: region, hub, site, zone. Only \"site\" type can have edge mappings.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
},
"edgeIds": {
"description": "Edge controller IDs to map (e.g., [\"edge0\"])",
"items": {
"type": "string"
},
"type": "array"
},
"location": {
"description": "Location data: {city, country, lat, lng}"
},
"metadata": {
"description": "Custom metadata"
},
"name": {
"description": "Site name",
"type": "string"
},
"parentId": {
"description": "Parent site UUID (for nesting)",
"type": "string"
},
"subAccountId": {
"description": "Sub-account UUID",
"type": "string"
},
"type": {
"description": "Hierarchy level",
"enum": [
"region",
"hub",
"site",
"zone"
],
"type": "string"
}
},
"required": [
"name",
"type"
],
"type": "object"
},
"name": "create_site",
"outputSchema": null
},
{
"description": "Create a sub-account (division) within an account.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"accountId": {
"description": "Parent account UUID",
"type": "string"
},
"name": {
"description": "Sub-account name",
"type": "string"
},
"slug": {
"description": "URL-friendly identifier",
"type": "string"
}
},
"required": [
"accountId",
"name",
"slug"
],
"type": "object"
},
"name": "create_sub_account",
"outputSchema": null
},
{
"description": "Create a new user in the account. Assign a role and optionally specific sites.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"email": {
"description": "User email",
"type": "string"
},
"name": {
"description": "Display name",
"type": "string"
},
"password": {
"description": "Initial password (min 8 chars)",
"type": "string"
},
"roleId": {
"description": "Role UUID",
"type": "string"
},
"siteIds": {
"description": "Site UUIDs to grant access",
"items": {
"type": "string"
},
"type": "array"
},
"subAccountId": {
"description": "Sub-account UUID",
"type": "string"
}
},
"required": [
"email",
"password",
"name"
],
"type": "object"
},
"name": "create_user",
"outputSchema": null
},
{
"description": "Delete a component from a site. Use with caution — this removes the component from the energy system.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"componentId": {
"description": "Component ID to delete",
"type": "string"
},
"siteId": {
"description": "Site UUID",
"type": "string"
}
},
"required": [
"siteId",
"componentId"
],
"type": "object"
},
"name": "delete_component",
"outputSchema": null
},
{
"description": "Delete a custom role. Cannot delete system roles or roles assigned to users.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"roleId": {
"description": "Role UUID",
"type": "string"
}
},
"required": [
"roleId"
],
"type": "object"
},
"name": "delete_role",
"outputSchema": null
},
{
"description": "Delete a site and all its children in the hierarchy.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"siteId": {
"description": "Site UUID",
"type": "string"
}
},
"required": [
"siteId"
],
"type": "object"
},
"name": "delete_site",
"outputSchema": null
},
{
"description": "Delete a sub-account.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"subAccountId": {
"description": "Sub-account UUID",
"type": "string"
}
},
"required": [
"subAccountId"
],
"type": "object"
},
"name": "delete_sub_account",
"outputSchema": null
},
{
"description": "Deactivate a user account. Does not permanently delete — can be reactivated.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"userId": {
"description": "User UUID",
"type": "string"
}
},
"required": [
"userId"
],
"type": "object"
},
"name": "delete_user",
"outputSchema": null
},
{
"description": "Get a human-readable summary of a site: what components it has, its capabilities, current status.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"siteId": {
"description": "Site UUID",
"type": "string"
}
},
"required": [
"siteId"
],
"type": "object"
},
"name": "describe_site",
"outputSchema": null
},
{
"description": "Explain what OrbitEOS is, what sections the dashboard has, and what metrics are available. Useful for orientation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "describe_system",
"outputSchema": null
},
{
"description": "Execute a system command on a site's edge controller. Use with caution. Commands: restart, factoryReset, etc.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"command": {
"description": "Command to execute",
"type": "string"
},
"params": {
"description": "Command parameters"
},
"siteId": {
"description": "Site UUID",
"type": "string"
}
},
"required": [
"siteId",
"command"
],
"type": "object"
},
"name": "execute_command",
"outputSchema": null
},
{
"description": "Export historical data as CSV for a site and date range.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"channels": {
"items": {
"type": "string"
},
"type": "array"
},
"fromDate": {
"description": "Start date",
"type": "string"
},
"siteId": {
"description": "Site UUID",
"type": "string"
},
"toDate": {
"description": "End date",
"type": "string"
}
},
"required": [
"siteId",
"fromDate",
"toDate"
],
"type": "object"
},
"name": "export_csv",
"outputSchema": null
},
{
"description": "Query the audit log to see who did what and when. Shows user actions like logins, creates, updates, deletes.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"action": {
"description": "Filter by action (e.g., \"login\", \"create_user\", \"update_settings\")",
"type": "string"
},
"limit": {
"description": "Max entries (default 50)",
"type": "number"
},
"offset": {
"description": "Skip entries",
"type": "number"
},
"resourceType": {
"description": "Filter by resource type (e.g., \"user\", \"site\", \"settings\")",
"type": "string"
}
},
"type": "object"
},
"name": "get_audit_log",
"outputSchema": null
},
{
"description": "Get a single channel value from a site. Channels are addresses like \"_sum/GridActivePower\" or \"ess0/Soc\".",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"channel": {
"description": "Channel address (e.g., \"_sum/GridActivePower\", \"_sum/EssSoc\")",
"type": "string"
},
"siteId": {
"description": "Site UUID",
"type": "string"
}
},
"required": [
"siteId",
"channel"
],
"type": "object"
},
"name": "get_channel_value",
"outputSchema": null
},
{
"description": "Get energy summary for a site over a period. Answers \"How much solar did I generate this month?\" or \"What's my energy usage?\"",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"fromDate": {
"description": "Start date (ISO)",
"type": "string"
},
"siteId": {
"description": "Site UUID",
"type": "string"
},
"toDate": {
"description": "End date (ISO)",
"type": "string"
}
},
"required": [
"siteId",
"fromDate",
"toDate"
],
"type": "object"
},
"name": "get_energy_summary",
"outputSchema": null
},
{
"description": "Get current live power/energy snapshot for a site. Returns grid power, solar production, consumption, battery SoC, etc.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"channels": {
"description": "Specific channel addresses. If omitted, returns all standard channels.",
"items": {
"type": "string"
},
"type": "array"
},
"siteId": {
"description": "Site UUID",
"type": "string"
}
},
"required": [
"siteId"
],
"type": "object"
},
"name": "get_live_data",
"outputSchema": null
},
{
"description": "Get all platform configuration settings. Root admin only. Includes SMTP, branding, security, edge connection, LLM config.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"category": {
"description": "Filter by category: general, branding, email, edge, security, registration, ai",
"type": "string"
}
},
"type": "object"
},
"name": "get_platform_settings",
"outputSchema": null
},
{
"description": "Get detailed information about a marketplace plugin including its configuration schema and capabilities.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"slug": {
"description": "Plugin slug (e.g., \"sma-inverter\", \"openweather\", \"peak-shaving\")",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_plugin_details",
"outputSchema": null
},
{
"description": "Get detailed information about a specific site including edge mappings.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"siteId": {
"description": "Site UUID",
"type": "string"
}
},
"required": [
"siteId"
],
"type": "object"
},
"name": "get_site",
"outputSchema": null
},
{
"description": "Get the full component configuration for a site (fetched live from the energy system). Shows all controllers, meters, inverters, etc.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"siteId": {
"description": "Site UUID",
"type": "string"
}
},
"required": [
"siteId"
],
"type": "object"
},
"name": "get_site_config",
"outputSchema": null
},
{
"description": "Get system logs for a site. Shows runtime log entries filtered by level.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"fromDate": {
"description": "Start date (default: today)",
"type": "string"
},
"level": {
"description": "Minimum log level",
"enum": [
"INFO",
"WARNING",
"ERROR"
],
"type": "string"
},
"siteId": {
"description": "Site UUID",
"type": "string"
},
"toDate": {
"description": "End date (default: today)",
"type": "string"
}
},
"required": [
"siteId"
],
"type": "object"
},
"name": "get_system_log",
"outputSchema": null
},
{
"description": "Get detailed information about a specific user including their assigned sites.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"userId": {
"description": "User UUID",
"type": "string"
}
},
"required": [
"userId"
],
"type": "object"
},
"name": "get_user",
"outputSchema": null
},
{
"description": "Install a marketplace plugin for your account. Once installed, it can be assigned to specific sites.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"config": {
"description": "Plugin configuration (based on plugin config_schema)"
},
"pluginId": {
"description": "Plugin UUID",
"type": "string"
}
},
"required": [
"pluginId"
],
"type": "object"
},
"name": "install_plugin",
"outputSchema": null
},
{
"description": "Send an email invitation for someone to join the account.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"email": {
"description": "Invitee email",
"type": "string"
},
"roleId": {
"description": "Role to assign",
"type": "string"
},
"siteIds": {
"description": "Sites to grant access to",
"items": {
"type": "string"
},
"type": "array"
},
"subAccountId": {
"description": "Sub-account to place them in",
"type": "string"
}
},
"required": [
"email"
],
"type": "object"
},
"name": "invite_user",
"outputSchema": null
},
{
"description": "List all accounts (organizations) on the platform. Root admin only.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_accounts",
"outputSchema": null
},
{
"description": "List all plugins installed in your account, including their site assignments.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_installed_plugins",
"outputSchema": null
},
{
"description": "List all marketplace categories: Energy Devices, Cloud Integrations, Analytics, Control Strategies, Notifications, Dashboard Widgets, Data Export, Protocols, UI Apps.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_marketplace_categories",
"outputSchema": null
},
{
"description": "List all available permissions that can be assigned to roles.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_permissions",
"outputSchema": null
},
{
"description": "List all roles in the account with their permissions.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_roles",
"outputSchema": null
},
{
"description": "List all plugins/devices/algorithms assigned to a specific site.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"siteId": {
"description": "Site UUID",
"type": "string"
}
},
"required": [
"siteId"
],
"type": "object"
},
"name": "list_site_plugins",
"outputSchema": null
},
{
"description": "List all sites accessible to the current user. Supports tree view (lazy loading by parentId) or flat list.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"flat": {
"description": "Set true for flat list instead of tree",
"type": "boolean"
},
"parentId": {
"description": "Parent site UUID for tree view. Omit or \"null\" for root nodes.",
"type": "string"
},
"subAccountId": {
"description": "Filter by sub-account",
"type": "string"
}
},
"type": "object"
},
"name": "list_sites",
"outputSchema": null
},
{
"description": "List sub-accounts (divisions) for an account.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"accountId": {
"description": "Parent account UUID",
"type": "string"
}
},
"required": [
"accountId"
],
"type": "object"
},
"name": "list_sub_accounts",
"outputSchema": null
},
{
"description": "List all users in the current account. Shows name, email, role, last login, and active status.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_users",
"outputSchema": null
},
{
"description": "Query cumulative energy totals (kWh) for a site over a date range. Returns production, consumption, grid import/export, battery charge/discharge.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"channels": {
"description": "Energy channels. Default: all standard energy channels",
"items": {
"type": "string"
},
"type": "array"
},
"fromDate": {
"description": "Start date (ISO format)",
"type": "string"
},
"siteId": {
"description": "Site UUID",
"type": "string"
},
"toDate": {
"description": "End date (ISO format)",
"type": "string"
}
},
"required": [
"siteId",
"fromDate",
"toDate"
],
"type": "object"
},
"name": "query_energy_totals",
"outputSchema": null
},
{
"description": "Query historical timeseries power data for a site. Returns time-indexed power values (watts) for the specified channels and date range.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"channels": {
"description": "Channels to query. Default: GridActivePower, ProductionActivePower, ConsumptionActivePower, EssSoc",
"items": {
"type": "string"
},
"type": "array"
},
"fromDate": {
"description": "Start date (ISO format, e.g., \"2025-01-01\")",
"type": "string"
},
"siteId": {
"description": "Site UUID",
"type": "string"
},
"toDate": {
"description": "End date (ISO format, e.g., \"2025-01-02\")",
"type": "string"
}
},
"required": [
"siteId",
"fromDate",
"toDate"
],
"type": "object"
},
"name": "query_history",
"outputSchema": null
},
{
"description": "Remove a plugin assignment from a site.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"installedPluginId": {
"description": "Installed plugin UUID",
"type": "string"
},
"siteId": {
"description": "Site UUID",
"type": "string"
}
},
"required": [
"installedPluginId",
"siteId"
],
"type": "object"
},
"name": "remove_plugin_from_site",
"outputSchema": null
},
{
"description": "Search sites by name, description, or location across the entire hierarchy. Returns breadcrumb paths.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"limit": {
"description": "Max results (default 50)",
"type": "number"
},
"query": {
"description": "Search text",
"type": "string"
},
"type": {
"description": "Filter by type: region, hub, site, zone",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search_sites",
"outputSchema": null
},
{
"description": "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).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"channelId": {
"description": "Channel ID (e.g., \"SetActivePowerEquals\")",
"type": "string"
},
"componentId": {
"description": "Component ID (e.g., \"ess0\", \"evcs0\")",
"type": "string"
},
"siteId": {
"description": "Site UUID",
"type": "string"
},
"value": {
"description": "Value to write"
}
},
"required": [
"siteId",
"componentId",
"channelId"
],
"type": "object"
},
"name": "set_channel_value",
"outputSchema": null
},
{
"description": "Test SMTP email configuration by sending a test email.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"recipientEmail": {
"description": "Email address to send test to",
"type": "string"
}
},
"required": [
"recipientEmail"
],
"type": "object"
},
"name": "test_smtp",
"outputSchema": null
},
{
"description": "Uninstall a plugin from your account. Removes all site assignments.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"installedPluginId": {
"description": "Installed plugin UUID",
"type": "string"
}
},
"required": [
"installedPluginId"
],
"type": "object"
},
"name": "uninstall_plugin",
"outputSchema": null
},
{
"description": "Search across all entities: accounts, sub-accounts, sites, users. Returns matching results with entity types.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"limit": {
"description": "Max results per entity type",
"type": "number"
},
"query": {
"description": "Search text (min 2 characters)",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "universal_search",
"outputSchema": null
},
{
"description": "Update an account. Root admin only.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"accountId": {
"description": "Account UUID",
"type": "string"
},
"isActive": {
"description": "Activate/deactivate account",
"type": "boolean"
},
"name": {
"description": "New display name",
"type": "string"
},
"plan": {
"description": "New plan",
"type": "string"
}
},
"required": [
"accountId"
],
"type": "object"
},
"name": "update_account",
"outputSchema": null
},
{
"description": "Update configuration properties of an existing component on a site.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"componentId": {
"description": "Component ID (e.g., \"ess0\", \"meter0\", \"ctrlGridOptimizedCharge0\")",
"type": "string"
},
"properties": {
"description": "Properties to update",
"items": {
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"value": {}
},
"required": [
"name"
],
"type": "object"
},
"type": "array"
},
"siteId": {
"description": "Site UUID",
"type": "string"
}
},
"required": [
"siteId",
"componentId",
"properties"
],
"type": "object"
},
"name": "update_component",
"outputSchema": null
},
{
"description": "Update platform configuration settings. Root admin only. Pass an array of {key, value} pairs.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"settings": {
"description": "Settings to update",
"items": {
"additionalProperties": false,
"properties": {
"key": {
"description": "Setting key (e.g., \"smtp.host\", \"llm.api_key\", \"platform.name\")",
"type": "string"
},
"value": {
"description": "New value"
}
},
"required": [
"key"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"settings"
],
"type": "object"
},
"name": "update_platform_settings",
"outputSchema": null
},
{
"description": "Update configuration of an installed plugin.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"config": {
"description": "New configuration"
},
"installedPluginId": {
"description": "Installed plugin UUID",
"type": "string"
},
"status": {
"description": "New status: active, inactive",
"type": "string"
}
},
"required": [
"installedPluginId"
],
"type": "object"
},
"name": "update_plugin_config",
"outputSchema": null
},
{
"description": "Update a role's name, description, or permissions.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"permissionIds": {
"description": "Replace all permissions",
"items": {
"type": "string"
},
"type": "array"
},
"roleId": {
"description": "Role UUID",
"type": "string"
}
},
"required": [
"roleId"
],
"type": "object"
},
"name": "update_role",
"outputSchema": null
},
{
"description": "Update a site's properties, hierarchy position, or edge mappings.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
},
"edgeIds": {
"description": "Replace edge mappings",
"items": {
"type": "string"
},
"type": "array"
},
"isActive": {
"type": "boolean"
},
"location": {},
"metadata": {},
"name": {
"type": "string"
},
"parentId": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
],
"description": "Move to different parent"
},
"siteId": {
"description": "Site UUID",
"type": "string"
},
"subAccountId": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
},
"type": {
"enum": [
"region",
"hub",
"site",
"zone"
],
"type": "string"
}
},
"required": [
"siteId"
],
"type": "object"
},
"name": "update_site",
"outputSchema": null
},
{
"description": "Update a sub-account.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"isActive": {
"type": "boolean"
},
"name": {
"type": "string"
},
"subAccountId": {
"description": "Sub-account UUID",
"type": "string"
}
},
"required": [
"subAccountId"
],
"type": "object"
},
"name": "update_sub_account",
"outputSchema": null
},
{
"description": "Update a user's profile, role, active status, or site assignments.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"email": {
"type": "string"
},
"isActive": {
"type": "boolean"
},
"name": {
"type": "string"
},
"roleId": {
"description": "New role UUID",
"type": "string"
},
"siteIds": {
"description": "Replace site assignments",
"items": {
"type": "string"
},
"type": "array"
},
"subAccountId": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
},
"userId": {
"description": "User UUID",
"type": "string"
}
},
"required": [
"userId"
],
"type": "object"
},
"name": "update_user",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:ddd5e1bc50bf2c31c7269097a21715893565117a893e2cd70cf675aebe945789 | sha256sum