Skip to main content

Tool reference

SolarSENS MCP exposes 4 read-only tools today. The assistant selects a tool from your question. Every read uses the access scope of the connected account.

Tool catalog​

ToolTitleDescriptionParameters
list_accessible_plantsList Accessible PlantsList every Plant currently authorized for the signed-in SolarSens account. Read-only.None.
search_plantsSearch PlantsFind accessible SolarSens Plants by name or code. Read-only.query (string, required, 1-120 characters)
get_plant_overviewGet Plant OverviewRead the caller-scoped Plant identity and catalog summary. Live telemetry is not included.plantId (UUID, required)
get_performanceGet Plant PerformanceRead bounded date-level performance for one accessible Plant.See get_performance parameters below.

No other tool is available. If a question needs devices, alarms, work orders, portfolios, metric catalogs, or DataHub values, the assistant cannot answer it through this connector today.

get_performance parameters​

ParameterTypeRequiredNotes
plantIdUUIDYesUse the canonical Plant ID returned by discovery.
startDate or date-time (see below)YesStart of the window.
endDate or date-time (see below)YesMust be after start.
timezoneIANA time zone nameNoDefaults to Asia/Kuala_Lumpur.
intervaldaily or 5minNoDefaults to daily. Only daily works today. A request with interval: "5min" fails with INVALID_QUERY, even though the field accepts the value.

start and end accept three formats, all read in the timezone field:

  • an ISO 8601 date-time with a UTC offset, for example 2026-09-22T00:00:00+08:00;
  • a date-time with no offset, for example 2026-09-22T00:00:00;
  • a plain date, for example 2026-09-22.

A plain-date start begins at 00:00:00. A plain-date end covers the whole day, through 23:59:59.

Example request:

{
"plantId": "00000000-0000-0000-0000-000000000000",
"start": "2026-09-01T00:00:00+08:00",
"end": "2026-09-08T00:00:00+08:00",
"timezone": "Asia/Kuala_Lumpur",
"interval": "daily"
}

Each returned row carries date, yieldKwh, performanceRatio, availability, and irradiationKwhM2. Any of the value fields can be null when the source has no reading for that date; a null value is not the same as zero production.

The demo Plant DEMO-AI-P001 has no telemetry. A get_performance call for it returns a response with no populated rows for the requested window. Do not treat that empty result as evidence that a real Plant produced nothing; check the response coverage and warnings first.

Response fields​

Every successful response can include:

  • a request ID;
  • the Plant or other entities used by the result;
  • the resolved date window and timezone, when the tool accepts one;
  • metric definitions, when relevant; and
  • coverage, warnings, and truncation metadata.

Missing values remain missing. An unavailable upstream is not reported as a successful empty result.

Shared limits​

  • A query accepts at most 1,000 returned rows and 1 MB of serialized data.
  • search_plants accepts a query string of 1-120 characters.
  • Use the canonical Plant ID returned by discovery for later reads. A Plant name is a search input, not an authorization method.

See Limits and errors for the full table and error codes.

Read-only boundary​

The connector does not provide tools to:

  • list devices, inverters, meters, or weather stations;
  • read or list alarms or work orders;
  • create, edit, assign, resolve, or delete anything;
  • read portfolios, management summaries, metric catalogs, or DataHub values;
  • run arbitrary SQL, HTTP, storage, or backend requests; or
  • start export jobs.

These capabilities are absent from the connector today, not merely non-mutating. Calling a tool never changes SolarSENS data.