2,500+ MCP servers ready to use
Vinkius

UtilityAPI MCP Server for CrewAI 12 tools — connect in under 2 minutes

Built by Vinkius GDPR 12 Tools Framework

Connect your CrewAI agents to UtilityAPI through Vinkius, pass the Edge URL in the `mcps` parameter and every UtilityAPI tool is auto-discovered at runtime. No credentials to manage, no infrastructure to maintain.

Vinkius supports streamable HTTP and SSE.

python
from crewai import Agent, Task, Crew

agent = Agent(
    role="UtilityAPI Specialist",
    goal="Help users interact with UtilityAPI effectively",
    backstory=(
        "You are an expert at leveraging UtilityAPI tools "
        "for automation and data analysis."
    ),
    # Your Vinkius token. get it at cloud.vinkius.com
    mcps=["https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp"],
)

task = Task(
    description=(
        "Explore all available tools in UtilityAPI "
        "and summarize their capabilities."
    ),
    agent=agent,
    expected_output=(
        "A detailed summary of 12 available tools "
        "and what they can do."
    ),
)

crew = Crew(agents=[agent], tasks=[task])
result = crew.kickoff()
print(result)
UtilityAPI
Fully ManagedVinkius Servers
60%Token savings
High SecurityEnterprise-grade
IAMAccess control
EU AI ActCompliant
DLPData protection
V8 IsolateSandboxed
Ed25519Audit chain
<40msKill switch
Stream every event to Splunk, Datadog, or your own webhook in real-time

* Every MCP server runs on Vinkius-managed infrastructure inside AWS - a purpose-built runtime with per-request V8 isolates, Ed25519 signed audit chains, and sub-40ms cold starts optimized for native MCP execution. See our infrastructure

About UtilityAPI MCP Server

Connect UtilityAPI to any AI agent and access utility billing history, granular usage intervals, and meter data from over 100 US utility companies — including PG&E, Southern California Edison, Con Edison, National Grid, and more — through a single unified API.

When paired with CrewAI, UtilityAPI becomes a first-class tool in your multi-agent workflows. Each agent in the crew can call UtilityAPI tools autonomously, one agent queries data, another analyzes results, a third compiles reports, all orchestrated through Vinkius with zero configuration overhead.

What you can do

  • Supported Utilities — List all 100+ utility companies available through the platform with their codes and data types
  • Customer Authorizations — Create and manage authorization forms for customers to securely share their utility data
  • Meter Management — List all authorized utility meters (service points) with addresses, fuel types, and collection status
  • Billing History — Retrieve complete billing history with costs, usage amounts (kWh/therms), and billing periods
  • Usage Intervals — Access granular smart meter interval data (15-min or hourly readings) for detailed energy analysis
  • Historical Collection — Activate backfilling of historical utility data for newly authorized meters
  • Combined Meter Data — Get both bills and intervals in a single call for comprehensive energy analysis
  • Event Monitoring — Monitor webhook events for authorization flows, data collection status, and errors
  • Demo Testing — Test authorization forms with simulated residential and commercial scenarios before production
  • Billing Summaries — Track API usage costs and billing periods for your UtilityAPI account

The UtilityAPI MCP Server exposes 12 tools through the Vinkius. Connect it to CrewAI in under two minutes — no API keys to rotate, no infrastructure to provision, no vendor lock-in. Your configuration, your data, your control.

How to Connect UtilityAPI to CrewAI via MCP

Follow these steps to integrate the UtilityAPI MCP Server with CrewAI.

01

Install CrewAI

Run pip install crewai

02

Replace the token

Replace [YOUR_TOKEN_HERE] with your Vinkius token from cloud.vinkius.com

03

Customize the agent

Adjust the role, goal, and backstory to fit your use case

04

Run the crew

Run python crew.py. CrewAI auto-discovers 12 tools from UtilityAPI

Why Use CrewAI with the UtilityAPI MCP Server

CrewAI Multi-Agent Orchestration Framework provides unique advantages when paired with UtilityAPI through the Model Context Protocol.

01

Multi-agent collaboration lets you decompose complex workflows into specialized roles, one agent researches, another analyzes, a third generates reports, each with access to MCP tools

02

CrewAI's native MCP integration requires zero adapter code: pass Vinkius Edge URL directly in the `mcps` parameter and agents auto-discover every available tool at runtime

03

Built-in task delegation and shared memory mean agents can pass context between steps without manual state management, enabling multi-hop reasoning across tool calls

04

Sequential and hierarchical crew patterns map naturally to real-world workflows: enumerate subdomains → analyze DNS history → check WHOIS records → compile findings into actionable reports

UtilityAPI + CrewAI Use Cases

Practical scenarios where CrewAI combined with the UtilityAPI MCP Server delivers measurable value.

01

Automated multi-step research: a reconnaissance agent queries UtilityAPI for raw data, then a second analyst agent cross-references findings and flags anomalies. all without human handoff

02

Scheduled intelligence reports: set up a crew that periodically queries UtilityAPI, analyzes trends over time, and generates executive briefings in markdown or PDF format

03

Multi-source enrichment pipelines: chain UtilityAPI tools with other MCP servers in the same crew, letting agents correlate data across multiple providers in a single workflow

04

Compliance and audit automation: a compliance agent queries UtilityAPI against predefined policy rules, generates deviation reports, and routes findings to the appropriate team

UtilityAPI MCP Tools for CrewAI (12)

These 12 tools become available when you connect UtilityAPI to CrewAI via MCP:

01

activate_historical_collection

Send an array of meter_uids (from list_meters) to begin backfilling historical data. Once activated, the system will start collecting all available historical data for those meters. Use this after a new customer authorization to ensure you get their complete usage history, not just future data. Data collection may take time depending on the utility and data availability. Activate historical data collection for specific utility meters

02

create_auth_form

Returns a form_uid that can be used to redirect customers to the authorization flow. The utilityCode parameter must be a valid utility code (from list_utilities). Optional scenario parameter controls the test mode: "residential" (home customer), "commercial" (business customer), or other utility-specific scenarios. Use this to set up new data sharing agreements with utility customers. Create a new authorization form for customers to share their utility data

03

get_billing_summaries

Includes billing periods, costs, and meter counts for your UtilityAPI subscription. Optional meterId parameter retrieves summary for a specific meter. Use this to track API usage costs and understand billing periods for your UtilityAPI account. Get billing account summaries for UtilityAPI accounting

04

get_bills

Returns utility bills with: start/end dates, total cost (in dollars), energy usage (kWh for electric, therms for gas), utility name, and meter association. The meters parameter is required — provide a single meter UID or comma-separated multiple UIDs. Use this to analyze customer spending on utilities, identify high-cost periods, or provide billing insights. Bills are only available for meters that have been authorized and are actively collecting data. Get utility billing history for authorized meters

05

get_events

Events include: new authorization created, meter data available, collection completed, errors, etc. Use this to monitor the status of data collection workflows, debug authorization issues, or build real-time notifications for when customer data becomes available. Get webhook events from UtilityAPI (authorizations, data collection status)

06

get_form_templates

Templates define what information is collected during the customer authorization process. Use this to understand available form configurations before creating custom authorization forms. Each template has a unique ID used when creating new forms. Get authorization form templates used for customer data sharing

07

get_intervals

This is granular consumption data showing energy usage over time intervals (typically 15-minute or hourly readings from smart meters). Each interval includes: start/end timestamp, usage value (kWh or therms), and cost information. The meters parameter is required — provide meter UID(s). Use this for detailed energy analysis, identifying peak usage patterns, demand response analysis, or building energy models. This is more granular than bills — ideal for time-series analysis. Get detailed usage interval data (hourly/15-min) for authorized meters

08

get_meter_data

This is a convenience tool that combines results from get_bills and get_intervals for one meter. Returns: complete bill history (dates, costs, usage) plus granular interval data (time-series readings). Use this when you need a complete picture of a customer's utility data — both the financial (billing) and technical (usage patterns) aspects — for comprehensive energy analysis. The meterUid must be a valid meter UID from list_meters. Get combined billing and interval data for a specific meter in one call

09

list_authorizations

Each authorization represents a customer who has granted access to their utility data. Optional referrals parameter filters by a specific referral code (from test submissions). Set includeMeters=true to also return associated meter data with each authorization. Use this to track which customers have authorized data access and get their referral codes for meter queries. List all customer data sharing authorizations

10

list_meters

Each meter represents a specific utility service connection (electricity or gas) at a customer location. Meter data includes: utility name, service address, fuel type (electric/gas), collection status, and the unique meter_uid used for fetching bills and intervals. Optional authorizationId filters meters to a specific customer authorization. Use the meter_uid with get_bills and get_intervals to retrieve usage data. List all authorized utility meters (service points)

11

list_utilities

Each utility includes its name, utility code (used for form submissions), and supported data types. Use this to find the correct utility code when creating authorization forms or querying utility-specific data. Common utilities include: PG&E (Pacific Gas & Electric), SCE (Southern California Edison), Con Edison, National Grid, and many others across the US. List all supported utility companies available through UtilityAPI

12

test_form_submission

Returns a referral_code that can be used to retrieve the test authorization and associated meter data. Use this during development and testing to verify form configurations work correctly before deploying to production. The formId is the uid returned by create_auth_form. The referral_code returned can be used with list_authorizations to retrieve test data. Test an authorization form to simulate customer authorization and get a referral code

Example Prompts for UtilityAPI in CrewAI

Ready-to-use prompts you can give your CrewAI agent to start working with UtilityAPI immediately.

01

"List all supported utility companies."

02

"Get the billing history for meter 44445555."

03

"Show me the usage intervals for my authorized PG&E meters."

Troubleshooting UtilityAPI MCP Server with CrewAI

Common issues when connecting UtilityAPI to CrewAI through the Vinkius, and how to resolve them.

01

MCP tools not discovered

Ensure the Edge URL is correct. CrewAI connects lazily when the crew starts. check console output.
02

Agent not using tools

Make the task description specific. Instead of "do something", say "Use the available tools to list contacts".
03

Timeout errors

CrewAI has a 10s connection timeout by default. Ensure your network can reach the Edge URL.
04

Rate limiting or 429 errors

Vinkius enforces per-token rate limits. Check your subscription tier and request quota in the dashboard. Upgrade if you need higher throughput.

UtilityAPI + CrewAI FAQ

Common questions about integrating UtilityAPI MCP Server with CrewAI.

01

How does CrewAI discover and connect to MCP tools?

CrewAI connects to MCP servers lazily. when the crew starts, each agent resolves its MCP URLs and fetches the tool catalog via the standard tools/list method. This means tools are always fresh and reflect the server's current capabilities. No tool schemas need to be hardcoded.
02

Can different agents in the same crew use different MCP servers?

Yes. Each agent has its own mcps list, so you can assign specific servers to specific roles. For example, a reconnaissance agent might use a domain intelligence server while an analysis agent uses a vulnerability database server.
03

What happens when an MCP tool call fails during a crew run?

CrewAI wraps tool failures as context for the agent. The LLM receives the error message and can decide to retry with different parameters, fall back to a different tool, or mark the task as partially complete. This resilience is critical for production workflows.
04

Can CrewAI agents call multiple MCP tools in parallel?

CrewAI agents execute tool calls sequentially within a single reasoning step. However, you can run multiple agents in parallel using process=Process.parallel, each calling different MCP tools concurrently. This is ideal for workflows where separate data sources need to be queried simultaneously.
05

Can I run CrewAI crews on a schedule (cron)?

Yes. CrewAI crews are standard Python scripts, so you can invoke them via cron, Airflow, Celery, or any task scheduler. The crew.kickoff() method runs synchronously by default, making it straightforward to integrate into existing pipelines.

Connect UtilityAPI to CrewAI

Get your token, paste the configuration, and start using 12 tools in under 2 minutes. No API key management needed.