How the Utility Insights MCP signs people in, who can connect and what an AI assistant can reach.
For utility IT, security and admin teams. For what the server does, see MCP servers.
The Utility Insights MCP lets assistants such as Claude or Microsoft Copilot answer questions about your customer portfolio: how many homes have solar panels or an EV, or which tariff would suit them better. People sign in with their own work account through Microsoft Entra ID, and only people your admins have given a role in the Eliq Client Admin Portal can connect.
| Control | What it means |
|---|---|
| You control access | Your admins invite users and assign roles in the Client Admin Portal. No role, no connection. |
| Locked to your utility | Every token is bound to your utility and your server address. It cannot read another utility's data. |
| Defined tools only | The assistant can call only the tools Eliq publishes. It never gets direct access to a database. |
| Read-only | No tool can change anything. Assistants can ask questions, nothing more. |
The connection uses the OAuth 2.1 authorization code flow with PKCE, the flow the MCP specification requires for remote servers, and Microsoft Entra ID for the sign-in itself. Your users are guests in Eliq's Entra tenant, invited by your own admins, and sign in with their existing work account. Eliq's Auth API sits between the assistant and Entra: it sends the user to Microsoft, checks the result and the user's role, and issues a short-lived token that only the Utility Insights server accepts.
openid and profile only: no mailbox, no files, no access to anything in your organisation.utility-insights.read and names your utility. The assistant renews it with a refresh token that changes on every use.| Question | Answer |
|---|---|
| Who can connect? | Only users your admins have invited and given a role for your utility. Admins add, change and remove users and roles themselves in the Client Admin Portal, and every change is written to the portal's audit log. |
| Can a token be stolen or replayed? | PKCE with S256 is mandatory; plain PKCE and no PKCE are refused. Redirect addresses must match the registered value exactly. Authorization codes live 60 seconds, are single use and are stored only as a hash; reusing one revokes what it issued. The Entra leg has its own PKCE and nonce. |
| What if a token leaks? | Access tokens expire after 10 minutes and are signed with RS256 using keys held in Azure Key Vault. Refresh tokens rotate on every use, and reusing an old one revokes the whole chain. Eliq can revoke a user's sessions at any time. |
| Could we see another utility's data, or they ours? | No. Each utility has its own server address, {your-key}.mcp-utility-insights.eliq.com, and the utility in the token must match it or the call is rejected. The utility is never a tool parameter; it always comes from the token. Data is read from your utility's own database. |
| What can the assistant reach? | Only the tools Eliq publishes, each with a documented input and output. No direct database access and no free-form queries. Every input is validated before it reaches your data, and all tools are read-only and marked so for the assistant. |
| What if an assistant misbehaves? | Requests are capped at 64 KB, filters at 10 assets and 8 KB, and at most 3 queries run at once per utility. New tools are announced in the changelog before release. |
| Tool | Answers questions like | Returns |
|---|---|---|
get_portfolio_overview | "Give me an overview of our customer base." | Total locations, and how many have an EV, solar panels, a battery, gas or electric heating |
get_segment_summary | "Of the homes with solar, how many also have an EV?" | The same counts for a filtered segment |
count_locations_with_asset | "How many homes have solar with at least 80% confidence?" | One count, optionally with a threshold |
get_optimal_tariff_distribution | "Which tariff would suit our EV owners best?" | Number of locations per best-fit tariff |
Counts describe your latest analysis batch. Assets are detected from consumption data, not verified installations; EV and solar detections carry a confidence score.
The tool set will grow, for example with insights for a single location or lists of candidate customers from an analysis. Every new tool sits behind the same sign-in, role and utility checks, stays read-only, and is listed in the changelog with what it returns before it goes live.
https://{your-key}.mcp-utility-insights.eliq.com/mcp.Verified. Claude discovers everything from the server address, so no client ID is needed.
For Claude Code:
claude mcp add --transport http eliq-utility-insights https://{your-key}.mcp-utility-insights.eliq.com/mcp
Set up together with Eliq, through an agent in Copilot Studio. The agent can also be published to Microsoft 365 Copilot and Teams.
| Setting | Production value |
|---|---|
| Server URL | https://{your-key}.mcp-utility-insights.eliq.com/mcp |
| Authorization URL | https://auth-api.eliq.com/oauth/authorize |
| Token URL | https://auth-api.eliq.com/oauth/token |
| Refresh URL | https://auth-api.eliq.com/oauth/token |
| Scope | utility-insights.read |
| Client ID | Provided by Eliq |
| Discovery | https://auth-api.eliq.com/.well-known/oauth-authorization-server |
Test environment: replace mcp-utility-insights with mcp-utility-insights-uat and auth-api with auth-api-uat. We recommend connecting there first.
No. Users sign in on Microsoft's pages with the work account your organisation manages. Eliq receives a signed ID token that says who signed in, and stores only the user's Entra object ID with the session.
The assistant receives the results of the tools it calls, and nothing else. It never gets direct database access, and only users your admins have given a role can make it call the tools. Tool results become part of the conversation, so how the vendor handles them is governed by your agreement with that vendor (for example Microsoft for Copilot).
Remove the user, or their roles, in the Client Admin Portal. They can no longer sign in to the server. To end sessions that are already open immediately, ask Eliq to revoke that user's tokens; otherwise they end when the refresh token is no longer valid.
No. Users are guests in Eliq's Entra tenant and access is managed in the Client Admin Portal. Eliq asks only for the sign-in permissions openid and profile, and gets no access to anything in your organisation.
No. Every token names one utility, and every server address belongs to one utility. A token sent to another utility's address is rejected before any tool runs.
For each tool call: tool name, outcome, utility ID, duration and a trace ID. The question, filters and answers are not logged. Sign-in logging records error codes and client IDs, not names or email addresses.
Standards: OAuth 2.1 authorization code with PKCE, RFC 8414 authorization server metadata, RFC 9728 protected resource metadata, Model Context Protocol 2025-11-25 and 2026-07-28.