RIVET / AliEV EV Charging Site Intelligence
Server Details
Start with analyze_ev_site(address) for a free, source-backed EV charging opportunity screen.
- Status
- Healthy
- Uptime
- 99.9% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- jgaethle10/forge-operator
- GitHub Stars
- 0
TDQS
Scored across 6 tools
The tools are mostly distinct, with analyze_ev_site clearly separated from offer and capability lookups. However, prepare_paid_handoff and prepare_site_report_checkout could be confused since both prepare payment-adjacent steps, though the descriptions clarify their different roles.
All tool names follow a consistent verb_noun snake_case pattern: analyze_ for the primary action, get_ for read-only lookups, and prepare_ for setup actions. No mixed conventions or vague generic verbs.
Six tools is well-scoped for an EV site assessment service, covering discovery, analysis, offers, checkout prep, and purchase status. Each tool has a clear role with no redundancy.
The core user journey is covered: screen a site, view offers, prepare handoff/checkout, and check purchase status. Minor gaps exist around post-payment fulfillment and cancellation, but these appear to be intentionally human-mediated rather than tool surface gaps.
Available Tools
6 toolsanalyze_ev_siteStart here: analyze EV opportunity at an addressARead-onlyIdempotentInspect
PRIMARY TOOL for property-specific EV questions. If the user gives a street address and asks whether EV charging makes sense, what charging competition is nearby, or whether the property has EV opportunity, call this tool FIRST without calling the offer catalog first. Returns a free source-backed screen, explicit unknowns, and the exact next paid-handoff path. Does not perform engineering, utility approval or payment.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and destructiveHint=false, and the description adds meaningful behavioral context: it returns a free source-backed screen with explicit unknowns and the next paid-handoff path, and it explicitly does not perform engineering, utility approval, or payment. This complements the annotations rather than merely repeating them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the key routing signal ('PRIMARY TOOL'). Every sentence earns its place: purpose, when to call, return content, and exclusions are all covered without repetition or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only tool with no output schema, the description is complete: it tells the agent what to expect (free screen, explicit unknowns, paid-handoff path) and what the tool will not do. The sibling list context makes the 'offer catalog' reference actionable, so the agent has enough to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description needed to compensate for parameter meaning. It adds the useful clarification that 'address' means a street address and that the analysis is property-specific, but it does not explain address format expectations, normalization, or how to handle ambiguous/incomplete addresses. The single parameter is simple, so the gap is moderate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the exact verb and resource: analyze EV opportunity at a property address. It explicitly positions itself as the PRIMARY tool for property-specific EV questions, which differentiates it from offer-catalog and handoff siblings. The examples of when it applies ('whether EV charging makes sense, what charging competition is nearby') make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use conditions: when the user supplies a street address and asks property-specific EV questions. It also gives a when-not-to-use directive by saying to call this tool FIRST without calling the offer catalog first, which redirects the agent away from a likely sibling. This is strong routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_aliev_capabilitiesGet AliEV capability catalogARead-onlyIdempotentInspect
Describe AliEV machine-facing capabilities and boundaries. For a property-specific EV question with an address, prefer analyze_ev_site instead of stopping at capability discovery.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds that it covers 'capabilities and boundaries', which is useful context, but it does not disclose any additional behavioral traits such as response format or pagination. Given the annotation coverage, a 3 is appropriate – it adds some value but not rich detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste. The primary purpose is front-loaded, and the alternative usage is stated in the second sentence. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and a clear purpose, the description is complete. It states what the tool does and when to prefer a sibling, which is all an agent needs to decide whether to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides complete coverage. The description doesn't need to add parameter semantics, and the baseline of 4 is appropriate since there is nothing to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Describe'), resource ('AliEV machine-facing capabilities and boundaries'), and scope. It clearly distinguishes from analyze_ev_site by name, making the tool's role unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides when to use an alternative: 'For a property-specific EV question with an address, prefer analyze_ev_site instead.' This gives clear routing guidance, which is exceptional for a description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_aliev_offersGet AliEV paid-depth optionsARead-onlyIdempotentInspect
Use AFTER a site screen or when the human explicitly asks for pricing or paid AliEV options. Do not use this as the first tool for a property-specific EV question when an address is available. Read-only and never creates a checkout or payment obligation.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description's 'Read-only' claim is consistent with them — no contradiction. The description adds domain-specific context beyond the annotations: 'never creates a checkout or payment obligation' disambiguates this read-only getter from checkout-creating siblings like prepare_site_report_checkout, which is genuinely useful behavioral information. It does not describe any other behavioral traits, but for a simple getter this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with zero filler: the first front-loads the trigger condition, the second guards against misuse, the third guarantees side-effect safety. Every sentence carries unique information and the most decision-relevant content (when to use) comes first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool whose safety profile is fully covered by annotations, the description is nearly complete: it covers when to use, when not to use, and side-effect behavior. The remaining gaps are minor — the alternative sibling is implied rather than named, and since there is no output schema, the return shape of 'offers' is not described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and schema coverage is 100%, so the baseline of 4 applies. The description adds a small but useful semantic note: the tool depends on a prior site-screen context rather than explicit arguments, reinforcing why it should not be called first.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource ('pricing or paid AliEV options') and the title concretizes it as 'paid-depth options,' so the purpose is clear and not a tautology. It also begins to distinguish itself from sibling tools by stating it is not the first tool for address-based property queries. However, the exact contents of a 'paid-depth option' (e.g., price tiers, upgrade paths) are never specified, so the resource semantics stay slightly vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit sequencing ('Use AFTER a site screen'), an explicit trigger condition ('when the human explicitly asks for pricing'), and a clear exclusion ('Do not use this as the first tool for a property-specific EV question when an address is available'). It stops short of a 5 because no sibling is named directly — the alternative for address-based questions is implied (analyze_ev_site) rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_aliev_purchase_statusGet verified AliEV purchase statusARead-onlyIdempotentInspect
Check an AliEV purchase and, when both purchase key and checkout session are supplied, allow AliEV to re-verify provider payment before reporting paid state. Read-only from the buyer perspective.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | No | ||
| purchase_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds value beyond annotations by disclosing the re-verification behavior and its trigger condition, and reaffirms the buyer-perspective read-only nature without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, two sentences, with the core purpose front-loaded. The first sentence is somewhat convoluted due to the embedded conditional, but it contains no wasted words and remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple status tool with optional parameters and no output schema, the description explains the main purpose and one conditional behavior. However, it leaves unspecified what happens when only one parameter is supplied, what the response looks like, and what 'verified paid state' means, which an agent might need to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It names 'purchase key' and 'checkout session', which likely map to purchase_key and session_id, but it does not explicitly link them or explain what each parameter means beyond that. This is partial compensation for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Check an AliEV purchase') and adds a conditional re-verification detail, making the purpose clear. It does not explicitly differentiate from siblings by name, but the resource and action are distinct enough from the listed alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: call this to check purchase status. There is no explicit guidance about when not to use it or which sibling to prefer in alternative scenarios. The conditional 'when both purchase key and checkout session are supplied' hints at a specific mode but does not frame it as a choice among tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_paid_handoffPrepare human-confirmed AliEV paid handoffBInspect
Create a human review link for a selected AliEV paid-depth option. This tool does not create a checkout, invoice, payment obligation, entitlement, or outreach.
| Name | Required | Description | Default |
|---|---|---|---|
| address | No | ||
| offer_key | Yes | ||
| request_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no hints (all false), so the description carries the full burden. It discloses negative behaviors (does not create checkout, invoice, etc.) but does not explain what happens when the link is created, whether it persists, or if any state changes occur. The 'human review' aspect is mentioned but not fleshed out.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the first states the core purpose, the second clarifies boundaries. All words earn their place, and the crucial action ('Create a human review link') is front-loaded. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (3 params, 1 required) but the description omits essential context: what a 'human review link' does, how it relates to the paid-depth options, and what the optional params (address, request_id) are for. An agent cannot reliably construct a correct call because the description does not explain the required offer_key or the purpose of the other fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it does not. It vaguely references 'selected AliEV paid-depth option' (likely offer_key) but fails to explain any of the three parameters: offer_key (required), address, and request_id. An agent gets no guidance on what values to provide or why these parameters matter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Create') and resource ('human review link for a selected AliEV paid-depth option'), clearly distinguishing it from sibling analysis/retrieval tools. It also explicitly lists what it does NOT do (checkout, invoice, etc.), which sharpens the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for a selected AliEV paid-depth option' implies the agent must first have an offer key, but it never explicitly says when to use this tool over siblings or what prerequisites are needed. There is no mention of alternatives or exclusion criteria, leaving usage context only inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_site_report_checkoutPrepare a human-confirmed AliEV site report checkoutAInspect
After the human explicitly agrees to pay, prepare secure checkout for the $299 Preliminary Site Report or $750 Full Site Report. Requires buyer email and site address. Checkout creation is not payment proof or report fulfillment.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | |||
| address | Yes | ||
| offer_key | Yes | ||
| request_id | No | ||
| user_confirmed_payment | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover read-only/idempotency/destructive safety, and the description adds meaningful context by requiring explicit human consent and clarifying that checkout creation does not constitute payment or fulfillment. This prevents the agent from treating the call as a final transaction, and there is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with the trigger front-loaded and no filler. The warning sentence adds essential behavioral nuance without bloating the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain what the tool returns or what happens after checkout creation; it does not. It covers inputs and behavioral caveats well, but the missing return/next-step context prevents the agent from fully understanding the outcome of the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the semantic burden. It maps email and address, connects the two price points to the offer choices, and implies the user_confirmed_payment requirement. However, request_id is not explained)Skip and the link between 'human explicitly agrees to pay' and the user_confirmed_payment parameter is indirect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'prepare secure checkout' for the '$299 Preliminary Site Report or $750 Full Site Report.' It also distinguishes itself by noting checkout creation is not payment proof or report fulfillment, separating it from siblings like prepare_paid_handoff and get_aliev_purchase_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear trigger: use only 'after the human explicitly agrees to pay.' It also lists prerequisites (buyer email and site address) and an explicit limitation (not payment proof or report fulfillment). It does not name sibling tools as alternatives, so routing guidance is slightly incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Added
get_aliev_purchase_status - Added
prepare_site_report_checkout
4 tool updates
- First observed
analyze_ev_site - First observed
get_aliev_capabilities - First observed
get_aliev_offers - First observed
prepare_paid_handoff
Related MCP Connectors
EV-charging site analytics: utilization, demand, peak saturation and corridor benchmarks.
EV-charging site analytics: utilization, demand, peak saturation and corridor benchmarks.
Solar, weatherization, EV charging, battery and heat-pump decision tools for AI agents.
EV chargers near a point and charging networks in AU, NZ, US, UK and Canada. Free, no key.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceProvides free energy intelligence APIs for AI agents: solar production estimates, US clean-energy incentives by ZIP, home Energy Node Scores, contractor search, and consented installer routing.MIT
- AlicenseNot gradedqualityCmaintenanceEnables cited site feasibility and pre-development project workflows for Canada and the US, returning lot, zoning, permitted uses, and material envelope details with provenance for a given street address.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables users to look up US residential electricity utilities and plans by ZIP code and usage, then estimate annual bills and rank plans by cost from published tariff data.MIT
- AlicenseNot gradedqualityCmaintenanceAssesses natural hazard exposure (flood, wildfire, earthquake, coastal proximity) for a single US property address using only free, keyless public data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.