API & MCP
Everything a person can do on Energy Time Planner, a program or AI agent can do with the same inputs and get the identical result.
HTTP API
POST https://ledgerlyenergyschedule.usefulweb.app/api/v1/calculate– run Energy Time PlannerGET https://ledgerlyenergyschedule.usefulweb.app/api/v1/tool– inputs, output schema, examples- OpenAPI 3.1: /openapi.json · /openapi.yaml
- Errors:
application/problem+json;422includes per-fielderrors.
Energy Time Planner
Schedule appliances against hourly or quarter-hourly prices, with deadlines, parallel-device and modeled power constraints plus a baseline comparison.
| Field | Type | Default | Description |
|---|---|---|---|
prices | textarea | "0.15, 0.15, 0.15, 0.15, 0.15, 0.15, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0.35, 0 | 24 hourly or 96 quarter-hourly prices per kWh |
parallel | number | 1 | Maximum appliances at once |
maxKw | number | 0 | Maximum modeled power (kW, 0 = no limit) |
devices | table | [{"name":"Washer","earliest":0,"deadline":8,"duration":2,"kwh":1},{"name":"Dishw | Appliances |
Example request
Try an example
curl -X POST https://ledgerlyenergyschedule.usefulweb.app/api/v1/calculate -H 'content-type: application/json' -d '{}'
Every result contains
inputs (normalised, defaults applied), summary, result (validated against the published schema), units, assumptions, sources, warnings, computedAt and links.
MCP (Model Context Protocol)
- Streamable HTTP endpoint:
https://ledgerlyenergyschedule.usefulweb.app/mcp– protocol revisions 2026-07-28 (stateless) and 2025-11-25 / 2025-06-18 / 2025-03-26 (initialize handshake). - Tools:
ledgerly_energy_schedule - Local stdio connector:
node src/mcp-stdio.ts --tool=ledgerly-energy-schedule
{
"mcpServers": {
"ledgerly-energy-schedule": { "type": "http", "url": "https://ledgerlyenergyschedule.usefulweb.app/mcp" }
}
}