UtilityAPI MCP. Analyze 100+ utilities' billing and usage data.
Works with every AI agent you already use
…and any MCP-compatible client
Just plug in your AI agents and start using Vinkius.
UtilityAPI connects your AI client to billing, usage data, and meter information from over 100 US utilities—including PG&E, Con Edison, and National Grid.
It lets you pull granular energy consumption readings (hourly/15-min) and full billing histories through a single API call, eliminating the need for separate utility integrations.
What your AI agents can do
Activate historical collection
Starts collecting historical data for specific utility meters after a new customer authorization is set up.
Create auth form
Generates a unique form ID that redirects customers to the correct utility portal to share their data securely.
Get billing summaries
Retrieves billing period summaries, total costs, and API usage account details for UtilityAPI.
The agent pulls granular smart meter data (hourly or 15-minute readings) to map out consumption patterns.
The agent retrieves total costs, kWh/therms used, and billing periods for specific meters in a given timeframe.
The agent pulls both the financial bill summary and the detailed usage intervals for one meter simultaneously.
The agent creates or checks required forms to ensure legal access to a customer's utility data before running any reports.
The agent tracks webhooks for successful data collection, authorization failures, or other critical service events.
Ask AI about this MCP
Supported MCP Clients
Waiting for input…
UtilityAPI: 12 Tools for Energy Analysis
These tools let your agent manage customer authorizations, pull billing summaries, retrieve granular usage intervals, and list all meters across multiple US utility providers.
019d761aactivate historical collection
Starts collecting historical data for specific utility meters after a new customer authorization is set up.
019d761acreate auth form
Generates a unique form ID that redirects customers to the correct utility portal to share their data securely.
019d761aget billing summaries
Retrieves billing period summaries, total costs, and API usage account details for UtilityAPI.
019d761aget bills
Pulls the complete utility bill history, including dates, dollar costs, and energy amounts (kWh/therms), for authorized meters.
019d761aget events
Retrieves a log of service status changes, like when an authorization is created or data collection finishes.
019d761aget form templates
Lists available form configurations used for customer data sharing without needing to build a custom template first.
019d761aget intervals
Gets granular energy consumption data, showing usage over specific time intervals (15-minute or hourly) for authorized meters.
019d761aget meter data
Combines the bill history and detailed interval readings into one call for a complete view of a single meter's data.
019d761alist authorizations
Lists all customer accounts that have granted utility data access, which helps track who has shared information with you.
019d761alist meters
Gets a list of all connected utility meters (service points) at specific addresses and their unique IDs.
019d761alist utilities
Provides a catalog of 100+ supported utilities, giving you the correct code needed to start an authorization form.
019d761atest form submission
Simulates a customer submitting an authorization form using a referral code for development and testing purposes.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with UtilityAPI, then connect any of our 4,700+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 4,700+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
What you can do with this MCP connector
UtilityAPI connects your agent to utility data from over 100 US providers—think PG&E, Con Edison, National Grid. It lets you pull everything you need—from high-level billing summaries right down to minute-by-minute usage intervals—without ever having to write a separate connection for every single company.
Managing the Connection: You'll start by figuring out which utilities are even supported; list_utilities gives you a catalog of over 100 options, so you know exactly what code to use. To get started with any customer data, your agent needs proper authorization first. You can check available form setups using get_form_templates, and then generate the necessary secure link for the user with create_auth_form; this tool spits out a unique form ID that redirects customers right to the correct utility portal so they can share their info safely.
Testing and Setup: When you're building or testing, don't bother asking a customer—you can simulate the entire process using test_form_submission, which lets you pretend a user submitted an authorization form with a specific referral code. If you need to track who’s actually granted access, list_authorizations gives you a list of all customer accounts that have given utility data access, helping you keep tabs on what information's available.
Finding the Meters: Before you pull any numbers, you gotta find the service point. list_meters gets you a full rundown of every connected utility meter—every single service point—at specific addresses and gives you their unique IDs. After that, if you want to track all your meters' status, get_events retrieves a log of service changes, letting you know when an authorization was created or when data collection finished.
For development purposes, activate_historical_collection starts the process of collecting historical data for specific utility meters once a new customer has authorized access.
Pulling Billing Data: When it comes to money, get_billing_summaries retrieves high-level reports on billing periods, total costs, and your API usage account details. For a complete dive into the records, you'll use get_bills, which pulls out the entire utility bill history for authorized meters, including dates, dollar costs, and energy amounts measured in kWh or therms.
You can get a whole picture of one meter by calling get_meter_data; this single function combines both the detailed interval readings and the full financial bill summary into one call.
Tracking Usage Data: To map out consumption patterns, your agent uses get_intervals to pull granular energy usage data. This gives you readings over specific time slots—either 15 minutes or hourly—for authorized meters. You can also get a complete view of both the financial bill summary and these detailed usage intervals simultaneously using get_meter_data.
Keeping Things Running: If something goes sideways, you'll track it through the system status via get_events, which logs service failures or successful data collections. This whole setup lets your agent manage the entire lifecycle: from getting customer consent and identifying the meter IDs to pulling combined financial reports with granular usage patterns all in one place.
You don’t need separate connections for each provider; this API handles it all.
How UtilityAPI MCP Works
- 1 First, you call
list_utilitiesto find the correct utility code (e.g., PG&E) and then useget_form_templatesorcreate_auth_formto generate a secure authorization form for your customer. - 2 Next, the customer completes that form, granting data access. You monitor this process using
list_authorizationsand wait for the system to start collecting historical data viaactivate_historical_collection. - 3 Finally, you use the meter UID (from
list_meters) with tools likeget_meter_dataorget_intervalsto pull the required billing and usage data into your agent.
The bottom line is: You authorize access once, and the API handles the complex retrieval of all historical billing and interval data across a massive network of utilities.
Who Is UtilityAPI MCP For?
Energy consultants and property managers need this. They spend hours manually pulling usage reports from various utility portals to estimate costs or diagnose inefficiencies. This tool gives the agent direct, structured access to that data, letting them focus on recommendations instead of report generation.
They analyze a client's billing history and usage patterns using get_intervals to spot peak consumption times and recommend specific efficiency upgrades.
They use the API to access historical electricity usage (get_meters) for a property, which is essential for accurately sizing solar array systems and calculating return on investment (ROI).
They monitor utility costs across an entire portfolio of buildings by calling list_meters followed by get_bills to spot cost anomalies or unexpected spikes in consumption.
What Changes When You Connect
- Get a full picture of energy use with
get_meter_data. This single tool pulls both the financial bill history and the granular time-series interval readings, so you don't have to run two separate calls. - Eliminate manual utility integration. Instead of connecting to PG&E, SCE, and National Grid separately, using this server means one API handles over 100 providers instantly.
- Pinpoint peak usage periods with
get_intervals. Since you get 15-minute or hourly readings, your agent can precisely identify when energy consumption spikes, which is critical for demand response planning. - Manage customer data access legally. You use
create_auth_formto build the necessary authorization agreement and track compliance vialist_authorizationsbefore running any reports. - Build comprehensive financial models by combining bill summaries (
get_bills) with meter location data (list_meters). This lets you link consumption directly back to specific service points.
Real-World Use Cases
Calculating total annual ROI for solar panels
A solar installer needs to prove the client's current energy spending. They run list_meters to find the property ID, then use get_meter_data on that UID. The agent analyzes years of combined bill and interval data to calculate peak usage patterns and accurately size a replacement system.
Investigating sudden cost spikes in a commercial building
A property manager notices an unusual spike in costs last month. They use get_bills for that specific meter UID, then cross-reference the billing period with the granular data from get_intervals. This pinpoints if the cost increase was due to high usage or a rate change.
Assessing loan eligibility based on energy habits
A FinTech agent needs proof of stable utility payments. It uses list_authorizations to confirm access, and then calls get_bills repeatedly over the last two years. The resulting data set verifies payment history for lending qualification.
Debugging an authorization failure
An agent fails to pull usage data from a new meter. Instead of guessing, it checks list_meters for the UID and then uses get_events. The event log immediately shows if the connection failed because the historical collection was never activated.
The Tradeoffs
Treating all usage data equally
Just running list_meters and expecting detailed consumption data. The meter list only gives you IDs, addresses, and basic status; it doesn't contain the energy readings themselves.
→
You must use a specific query tool. To get bills, use get_bills. To get granular usage patterns, run get_intervals on the UID you found via list_meters.
Ignoring authorization requirements
Trying to call get_intervals right after getting a meter ID. The API will fail because data access requires explicit customer consent that hasn't been granted yet.
→
Always start the compliance process first. Use create_auth_form and wait for the user to complete it before you run any data retrieval tool.
Forgetting the time granularity difference
Running get_bills thinking it covers everything. Bills summarize usage over a period (e.g., 30 days) but hide when the peak consumption actually happened.
→
If you need to know when energy was used, you have to use get_intervals. This provides time-series data—the detailed breakdown that bills omit.
When It Fits, When It Doesn't
Use this server if your core problem revolves around analyzing historical utility consumption or billing costs. The key is the need for cross-domain data: combining financial records (bills) with technical usage metrics (intervals).
Don't use it if you only need to know where a meter is located; list_meters handles that. Don't use it if you just need to check payment status—that’s typically handled by dedicated banking APIs. You need this when you must prove cost or usage patterns over time, requiring both the bill summary and the granular interval data. If your goal involves regulatory compliance, remember to run list_authorizations first; otherwise, nothing else matters.
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by UtilityAPI. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This server provides 12 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.
Available Capabilities
Utility billing analysis shouldn't require 5 different vendor logins.
Today, if you need to check a client’s energy usage in two states—say, PG&E and Con Edison—you spend half the day navigating separate portals. You export PDFs, copy-paste meter numbers, and manually reconcile different reporting formats just to get an annual spending summary.
With UtilityAPI MCP Server, you connect your agent once. It handles the authentication across 100+ utilities. You use `get_meter_data` and pull a single, unified data set that combines both billing costs and usage trends from every utility in one place.
Use get_intervals for Usage Patterns
The old way forces you to use `get_bills`, which only gives a total kWh or therms number. That single number tells you nothing about *when* the energy was consumed—did they run the AC all day, or just in the evenings?
Now, when your agent uses `get_intervals`, it provides 15-minute readings. You finally know if the spike happened at 2 PM during peak hours, which is the precise data needed to recommend a better thermostat.
Common Questions About UtilityAPI MCP
How do I get billing history using get_bills? +
You must provide a specific meter UID or a comma-separated list of UIDs. The get_bills tool returns the total cost and energy usage (kWh/therms) for those meters over their respective billing periods.
What is the difference between get_intervals and get_meter_data? +
get_intervals gives you only the granular time-series data. get_meter_data combines both that interval data and the bill summary for one complete picture.
Do I need to run activate_historical_collection manually? +
Yes, after a customer authorizes access via create_auth_form, you must call activate_historical_collection on the meter UID. This tells the system to start pulling all available historical data.
Can I check which utilities are supported with list_utilities? +
Yes, running list_utilities provides a catalog of 100+ providers and gives you their specific utility codes. You need these codes when creating new authorization forms.
How do I test if my form submission works before going live? +
Use the test_form_submission tool. It simulates a customer submitting an authorization and returns a temporary referral code you can use for testing purposes.
How do I find the specific meter UIDs needed for `get_bills` using `list_meters`? +
You must run list_meters. This tool returns a list of all authorized service points, each providing its unique meter_uid. You need these IDs to pull accurate billing or interval data.
If my utility data collection fails, how do I check the status using `get_events`? +
Run get_events to see a real-time log of activity. This pulls records detailing new authorizations, when data collection started, or if any errors occurred during the workflow.
How does using `get_meter_data` improve my energy analysis workflow compared to separate calls? +
It combines both bill history and granular interval readings into a single call. This delivers a complete picture—the financial cost alongside the technical usage patterns—without needing multiple API requests.
How do I get access to a customer's utility billing and usage data? +
First, create an authorization form using create_auth_form with the customer's utility code. Share the form URL with the customer to complete authorization. Once authorized, use list_meters to find their service points, then get_bills and get_intervals with the meter UID to retrieve their data. You can also activate historical collection with activate_historical_collection to backfill past data.
What's the difference between bills and intervals data? +
Bills provide monthly (or billing cycle) summaries: total cost, total usage (kWh/therms), and billing period dates. Intervals provide granular time-series data from smart meters — typically 15-minute or hourly readings showing exact consumption patterns throughout the day. Use bills for cost analysis and trend overview; use intervals for detailed energy modeling, peak demand identification, and time-of-use analysis.
Which utility companies are supported? +
UtilityAPI supports 100+ US utilities including PG&E (Pacific Gas & Electric), Southern California Edison (SCE), Con Edison, National Grid, SDG&E, LADWP, CenterPoint Energy, and many more. Use the list_utilities tool to see the complete, up-to-date list of supported utilities with their codes. Coverage varies by state and continues to expand.
Can I test the authorization flow before going to production? +
Yes! Use create_auth_form to create a form, then test_form_submission with utility='DEMO' and scenario='residential' (or 'commercial'). This simulates a customer authorizing their data and returns a referral_code. Use this code with list_authorizations?referrals=YOUR_CODE&include=meters to retrieve test authorization and meter data without needing a real customer.
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
More in this category
Pitchly
Turn your firm experience data into competitive deal sheets, credentials, and pitch materials with automated content generation.
UUID Generator Engine
Generate enterprise-grade UUIDs v4, v5, and v7 conforming to RFC 9562. The standard that banks, healthcare, and Fortune 500 trust. 80M+ weekly downloads.
Scale AI
Automate high-quality data labeling and RLHF workflows via Scale AI — create projects, manage batches, and submit annotation tasks directly from your AI agent.
You might also like
Agora
Orchestrate Agora real-time engagement — manage channels, monitor usage, and handle cloud recording directly from any AI agent.
Geekflare
Test your website performance, security headers, and DNS configuration with a comprehensive suite of technical audit tools.
Google BigQuery
Empower your AI agent to query massive datasets via BigQuery — execute Standard SQL, track active jobs, and inspect table schemas natively.