Skip to the main content

Machine interface · JSON, MCP, metered

Your software can ask what binds, and get an engineering answer back.

The same engine behind the studies, callable directly. Thirteen electrical, thermal and physical constraints solved against a hall; the binding one returned with its basis, the costed relief ladder behind it, and the date the whole thing turns on. No account manager, no PDF, no spreadsheet round-trip.

Three ways to use GridForge

  1. 1 · A free result

    Find what binds your hall

    Seven numbers you already know. The engine returns the constraint that binds first, the racks the hall carries as found and after relief, and which inputs were assumed. No card, no account. Every figure carries an evidence class, and the calibration record is published as it stands.

    Run free capacity check
  2. 2 · Metered software

    Call the engine from your own code

    Start on a free allowance of 25 units a month, no card. Then pay as you go at €2 a unit under a monthly cap you set, from €20 to €2,000: invoiced monthly in arrears, with a hard stop at the cap. Take a plan when the volume warrants it: API — Triage starts to cost less from 450 units a month.

    Get the free allowance
  3. 3 · An engineering engagement

    A fixed fee, a named deliverable

    When you need an engineer's opinion on a hall, not an API response. Fixed fee agreed before we start, produced and reviewed by a person. Most halls begin with the Density Screen, from €4,500, which credits in full against the study it usually leads to. API responses are screening output and never carry an engineer's sign-off.

    See the engagements
Infrastructure engineer working at a workstation beside live server racks, screens unreadable.
Reference photography — not a customer site; not measured evidence.
Two dialects, one definition

OpenAI / Anthropic function-calling shape at /v1/tools, and Model Context Protocol over JSON-RPC at /mcp. Both generated from the same schema the server validates against.

Units, not calls

A qualify and a forty-hall portfolio run do not cost the same and are not billed the same. Rates are published at /v1/version so you can price a job before you run it.

Evidence on every number

Each figure carries an evidence class E0–E7 and a provenance digest. A modelled number loose inside an agent loop is more dangerous than one in a board pack, not less.

What you can call

gridforge_qualify and gridforge_estimate are free and need no key. Everything else meters.

ToolEndpointUnitsReturns
gridforge_qualifyfree/v1/qualify0binding constraint, racks as found and after relief, the item that sets the date, and the inputs nobody has measured. No capital cost, no lead times: those are the paid engagement.
gridforge_estimate/v1/estimateNot yet available — awaiting engine release
gridforge_screen/v1/screen1screen payload, or the rendered screening document.
gridforge_compare/v1/compareNot yet available — awaiting engine release
gridforge_study/v1/study5the model pack, a rendered document, or the CSV working files.
gridforge_portfolio/v1/portfolio1halls ranked against the objective, with the total deployable rack count.
gridforge_diff/v1/diff2headline, racks/weeks/capex deltas, ranked drivers, explained and residual.
gridforge_spec/v1/spec3the specification document, what it is sized for, and the response template a supplier fills in.
gridforge_bids/v1/bids2ranked bids with scores, schedule impact, and optional cost-library lines.
gridforge_power_assess/v1/power/assessNot yet available — awaiting engine release
gridforge_power_deploy_assess/v1/power/deploy/assessNot yet available — awaiting engine release
gridforge_power_deploy_spec/v1/power/deploy/specNot yet available — awaiting engine release
gridforge_power_deploy_bids/v1/power/deploy/bidsNot yet available — awaiting engine release
gridforge_proposal/v1/proposal2the proposal document and the engagement's catalogue price.

The downloadable catalogue (/reference/tools.json) and the schemas it carries describe the engine in this repository. Operations marked not available are not served by the engine that is deployed today, so they cannot be called or billed yet. This table follows the deployed engine and lists them as callable once the release that serves them is live.

Add it to your AI client

The free qualifier works over MCP with no key and no account. Paste one of these and ask your assistant whether a hall can take GB300 racks — it will come back with the constraint that binds first, the rack count as found, and which item sets the energisation date.

claude mcp add --transport http gridforge https://gridforge-engine.fly.dev/mcp

X-GridForge-Project is optional: up to 64 characters of letters, digits and . _ : -. When the engine records it, your usage can be read back per project; a value outside that set is ignored, not rejected. Without a key, only the free qualifier answers. Every other tool asks for one.

The handshake tells the model not to present a modelled figure as a property of a physical asset, and every result carries our calibration state. An E0 number loose in an agent loop is more dangerous than one in a board pack — nobody downstream reads the footnote.

Try it without a key

Seven numbers about an existing air-cooled hall. The answer names the constraint that binds first, how many racks fit as found, and which item sets the energisation date.

curl -s -X POST https://gridforge-engine.fly.dev/v1/qualify \
  -H 'content-type: application/json' \
  -d '{"contracted_MW":12,
       "current_site_peak_MW":7.4,
       "current_it_load_MW":4.9,
       "busway_ampacity_A":400,
       "tapoff_max_A":63,
       "plant_supply_C":6,
       "positions_available":180}'

Point an agent at it

MCP over JSON-RPC 2.0 at /mcp, protocol 2025-06-18. The transport is open; each tool keeps its own tier, so the free qualifier works without a key and everything else asks for one.

curl -s -X POST https://gridforge-engine.fly.dev/mcp \
  -H 'x-api-key: YOUR_KEY' \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,
       "method":"tools/call",
       "params":{"name":"gridforge_qualify",
                 "arguments":{ ... }}}'

What the engine says about its own accuracy

Model accuracy against instrumented sites has not been established: 0 reconciled observations across 0 sites, covering 0 of 20 model outputs. Every figure in this report is modelled. The uncertainty ranges shown come from input uncertainty propagated through the model, not from the difference between this engine's predictions and site data — no such difference has been recorded yet.

State

uncalibrated

Observations

0

Sites

0

Outputs covered

0/20

This block is on every response, including the free one, including while the answer is zero. An accuracy record that only appears once it flatters us is a marketing number. Live at /v1/calibration.

If you are integrating this

Every numeric field in a response carries an evidence class (E0 assumed … E7 observed in operation) and a provenance digest. An agent consuming these must not present an E0 or E1 figure as a property of the physical asset. The calibration block states how far this engine has been reconciled against site data; where it says uncalibrated, it means uncalibrated.

Free allowance · 25 units a month · no card

Try the engine on your own hall, free

25 units a month, no card. Enough for 25 constraint screens, or a handful of full studies, to check the engine against a hall you know. It is never invoiced; when it runs out the engine answers 402 and nothing is charged.

Email only. The link goes to this address, and opening it creates your key.

What it costs

Free first, then metered, then a plan if the volume warrants one. Every number below is generated from the engine's own tool catalogue and the published unit price: there is no second price list.

What one operation costs

One unit price for every billable operation: €2 a unit. Each endpoint weighs a published number of units, so a constraint screen and a full study are not billed alike. 25 units a month, no card. Free-allowance usage is never invoiced; when it runs out the engine answers 402 and nothing is charged.

Units and pay-as-you-go cost per operation, from the engine tool catalogue
OperationEndpointUnitsPay as you go
gridforge_qualify/v1/qualify0free
gridforge_portfolio/v1/portfolio1 per hall€2 per hall
gridforge_screen/v1/screen1€2
gridforge_bids/v1/bids2€4
gridforge_diff/v1/diff2€4
gridforge_proposal/v1/proposal2€4
gridforge_spec/v1/spec3€6
gridforge_study/v1/study5€10
gridforge_estimate/v1/estimateNot yet available — awaiting engine release
gridforge_compare/v1/compareNot yet available — awaiting engine release
gridforge_power_deploy_bids/v1/power/deploy/bidsNot yet available — awaiting engine release
gridforge_power_deploy_spec/v1/power/deploy/specNot yet available — awaiting engine release
gridforge_power_assess/v1/power/assessNot yet available — awaiting engine release
gridforge_power_deploy_assess/v1/power/deploy/assessNot yet available — awaiting engine release

An operation marked not available is in the engine's published catalogue but is not served by the engine that is deployed today. It cannot be called, so it cannot be billed. This table follows the deployed engine and lists the operation, with its units and price, once the release that serves it is live.

How it is billed

A month's charge is the net ledger units for the UTC month (charges minus refunds) at €2 a unit, invoiced monthly in arrears. A month whose charge is under the €5 minimum invoice is not invoiced on its own: it is carried forward and added to the next month, and so on from month to month. A balance that never reaches €5 is never invoiced. A request that is rejected, unauthorised, invalid or fails is refunded and never charged, and a retry with the same Idempotency-Key is never charged twice. Free-allowance usage is never invoiced. The customer's own monthly cap is a hard stop: beyond it the engine answers 402 and nothing more accrues.

You set a monthly cap between €20 and €2,000. The engine stops at it. It does not go over.

When a plan is cheaper

  • API — Triage (€900 a month, 600 units included) costs less than pay-as-you-go from 450 units a month; below that, metering costs less.
  • API — Scale (€2,900 a month, 2,500 units included) costs less than pay-as-you-go from 1,450 units a month; below that, metering costs less. That is above the 1,000 units the highest pay-as-you-go cap allows (€2,000), so a cap-limited account cannot reach it.
  • API — Platform (€7,500 a month, 10,000 units included) costs less than pay-as-you-go from 3,750 units a month; below that, metering costs less. That is above the 1,000 units the highest pay-as-you-go cap allows (€2,000), so a cap-limited account cannot reach it.

Computed from the plan prices and the unit price above. Plans have no overage: past the included units the engine answers 402.

What will this cost?

Pick an operation and a volume. The figures are worked out from the same published unit weights the engine meters, at €2 a unit.

This call

€2

1 unit

This volume, pay as you go

€40

20 units a month

Cheapest way to buy it

Free allowance

€0

  • 1 unit per call.
  • The 25-unit free allowance covers 25 calls of this size.
  • This volume fits inside the free allowance: no card, no invoice.

The engine's own live estimate (/v1/estimate) is not available yet: the figures above are computed from the published unit weights, not read back from the engine.

Monthly plans

Plans are for steady volume: a fixed price a month for a fixed number of units. If you are not there yet, the free allowance and pay-as-you-go above cost less. Past a plan's units the engine returns 402; there is no overage billing.

The key link goes to this address. Use the one your engineers actually read.

API — Triage

€900 /month

600 units: 120 full studies, or 600 screens, or any mix

  • A signed API key and the MCP endpoint, with the same endpoints and evidence on every number as the free allowance.
  • API — Triage (€900 a month, 600 units included) costs less than pay-as-you-go from 450 units a month; below that, metering costs less.
  • Screening-mode output only: no issued opinion, no named signatory, no professional indemnity.
API — Scale

€2,900 /month

2,500 units: 500 full studies, or 2,500 screens, or any mix

  • A signed API key and the MCP endpoint, with the same endpoints and evidence on every number as the free allowance.
  • API — Scale (€2,900 a month, 2,500 units included) costs less than pay-as-you-go from 1,450 units a month; below that, metering costs less. That is above the 1,000 units the highest pay-as-you-go cap allows (€2,000), so a cap-limited account cannot reach it.
  • Screening-mode output only: no issued opinion, no named signatory, no professional indemnity.
API — Platform

€7,500 /month

10,000 units: 2,000 full studies, or 10,000 screens, or any mix

  • A signed API key and the MCP endpoint, with the same endpoints and evidence on every number as the free allowance.
  • API — Platform (€7,500 a month, 10,000 units included) costs less than pay-as-you-go from 3,750 units a month; below that, metering costs less. That is above the 1,000 units the highest pay-as-you-go cap allows (€2,000), so a cap-limited account cannot reach it.
  • Screening-mode output only: no issued opinion, no named signatory, no professional indemnity.

Billed monthly through Stripe. To cancel, write to power@timetopower.ai. No overage billing: past the included units the engine returns 402 and refuses the call, so you never meet an invoice you did not expect. Anything beyond the API itself, such as support, a named contact or redistribution terms, is arranged by email after purchase. It is not automated and it is not part of what the key does. No availability SLA comes with any plan.

Not sure yet?

The qualifier is free and needs no key, and the full deliverable is published in full — document, deck, proposal and the tables behind every number.

Run free capacity check See the full deliverable