Connect AI assistants and agents to Eliq data with the Utility Insights MCP and the Home Insights MCP.
Early access. Both MCP servers are in early access for selected clients. Tools are added and refined often.
Eliq runs two Model Context Protocol (MCP) servers that let AI assistants such as Claude, Copilot or ChatGPT use Eliq data as tools. The tools return figures, not finished text, so the model writes the answer in your own wording, language and brand.
| Utility Insights MCP | Home Insights MCP | |
|---|---|---|
| Status | Early access, selected clients | Early access, selected clients |
| Answers questions about | Your whole customer base, as counts: detected assets, segments and optimal tariffs | One home: consumption, forecast, costs, tariff, spot prices, invoices, energy usage categories and advice |
| Built on | Intelligence | Insights |
| Who uses it | Your analysts and product teams, in their own AI assistant | Selected clients, set up together with Eliq |
| Access | Your team signs in with Microsoft Entra ID, the same account as the Client Admin Portal | Access is set up by Eliq for each client |
| Server URL | Provided by Eliq | Provided by Eliq |
MCP is the interface for AI agents. The APIs are the interface for code. Each MCP server is a thin layer on top of the same APIs, with the same authentication, client scoping, rate limits and audit trail.
Rule of thumb: if a model decides what to call, use MCP. If code decides what to call, use the API.
In each of these, an AI model decides which tools to call. The examples show what the tools make possible; contact your account manager about access for your use case.
| Example | What the assistant does | Tools |
|---|---|---|
| Explaining a bill | A user asks why their bill went up. The assistant gets the amount and the grid and supplier split, reads the invoice text, then checks whether usage or price moved. The answer can point to the actual charge and the cold week behind it. | explain_last_bill, fetch_invoice_details, get_month_so_far, get_daily_consumption |
| Customer service agent | Your chat or voice agent gets the home's context while it answers, for example recent usage, an unusual day or the current tariff, instead of asking the customer. | get_home_snapshot, detect_anomaly, get_tariff |
| Care agent assistant | The care agent's AI assistant works from the same figures the customer's app shows, so billing and usage questions get answered without switching systems. | explain_last_bill, get_energy_cost, get_spotlights |
| Staff using their own AI assistant | Your team asks Claude, Copilot or ChatGPT questions about a home or the portfolio in plain language. | Any, depending on the question |
| Portfolio questions | "How many customers have both an EV and solar panels, and which tariff fits them best?" | get_segment_summary, get_optimal_tariff_distribution |
When code decides what to call, use the APIs instead:
Portfolio questions about your customer base, such as "how many customers have an EV and solar panels" or "which tariff fits most of our heat pump homes". It returns counts only, never individual locations.
In Claude, add a custom connector with the server URL from Eliq and press Connect. You sign in with your Microsoft Entra ID account in the browser. No token or secret is needed.
| Tool | Returns |
|---|---|
get_portfolio_overview | How many locations you have and how many carry each detected asset: EV, solar, battery, gas or electric heating |
get_segment_summary | The same counts for a segment you describe as a filter |
count_locations_with_asset | How many locations have, or do not have, an asset, optionally above a threshold such as detection confidence |
get_optimal_tariff_distribution | For each tariff, how many locations it is the best fit for, across the portfolio or a segment |
Counts come from the latest Intelligence run for your portfolio. More tools are planned.
Tools that each answer one question about one home, from the energy data, Home Profile, spot prices, weather and invoices in the Eliq Platform. All tools are read-only.
Access is set up together with Eliq for each client. Contact your account manager to discuss your use case.
| Area | Tools |
|---|---|
| Home | get_location_metadata, get_home_snapshot, get_home_profile |
| Consumption | get_hourly_consumption, get_daily_consumption, get_month_so_far |
| Forecast | get_consumption_forecast, get_consumption_with_forecast |
| Energy Usage Categories | get_monthly_end_use_breakdown, get_euc_costs |
| Anomalies and load shape | detect_anomaly, get_peak_hour_pattern, get_flexibility_profile |
| Costs and tariff | get_tariff, get_energy_cost, get_cost_breakdown, get_month_cost_so_far, explain_cost_change |
| Spot prices | get_spot_prices, get_spot_price_summary |
| Invoices | explain_last_bill, fetch_invoice_details |
| Similar homes and solar | get_similar_homes_comparison, get_solar_recommendation |
| Spotlights and advice | get_spotlights, rank_spotlights, get_advice |
The client reads the full tool list, parameters and response schemas from the server when it connects, so it always has the current version.
Every tool returns the same envelope. Missing data is an answer, not a failure, so the model can say what is missing instead of showing an error.
{ "available": true, "location_id": 12345, "result": { ... } }
{ "available": false, "location_id": 12345, "reason": "insufficient_consumption_data", "detail": "Not enough recent consumption readings to run anomaly detection." }
{ "error": "LOCATION_NOT_FOUND", "location_id": 12345 }
reason is a stable code and detail is a sentence written for the model. Electricity is supported; gas and district heating are not yet. Tools that read hourly data need a time zone on the location and otherwise return location_time_zone_unknown. What each insight needs is listed in Data requirements.