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