ams-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SIMULATE | No | Set to true to pass --simulate and answer from pages recorded off a real reader instead of contacting a meter. | |
| TIMEZONE | No | Optional timezone written as `timezone = "..."` under `[reader]` in the settings file, e.g. "Europe/Oslo". Defaults to the computer's own timezone. | |
| SETTINGS_FILE | No | Path to a TOML settings file passed with --settings-file. It must contain a [reader] section with address = "<reader address>". Without this file (and without --simulate) the server reports where the file should be and stops. | |
| READER_ADDRESS | No | The AmsToMqttBridge reader's address on your home network, written as `address = "..."` under `[reader]` in the settings file. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
A SIMULATED meter reader, not the real one: say so. Reads the home's electricity meter through its HAN-port reader: power now, energy used, the electricity price, the capacity step and a short history. Read each 'say' aloud as it is; it is in kW, kWh and kr. When it starts 'Not confirmed', say so. Every tool only reads: none changes the meter or the reader.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ams_nowA | Power used right now. kW drawn from or sent to the grid, each phase's volts and amps, and the power factor when the meter sends one. |
| ams_energyA | Energy used so far. kWh in and out, and what it cost, this hour, today and this month. |
| ams_priceA | Electricity price by hour. The price now in kr per kWh, the next hours, and the cheapest hours left today. |
| ams_capacityB | Capacity step this month. The grid's capacity step, the month's top three hours, and how much this hour could use before the step goes up. |
| ams_historyA | A day or month in short. Period 'day' (the default): today so far and its busiest hour. 'month': this month so far, its busiest day, and last month. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool targets a distinct facet of metering data: instantaneous power (ams_now), accumulated energy/cost (ams_energy), spot price (ams_price), capacity step (ams_capacity), and period summaries (ams_history). The only real overlap is between ams_energy and ams_history, which both cover today's/month's totals, but the descriptions differentiate them (kWh+cost figures vs. peak-hour/busiest-day summaries).
All five tools follow one clean pattern: the `ams_` server prefix plus a single domain noun (now, energy, price, capacity, history). There is no mixing of verbs, casing, or styles.
Five focused read-only tools is a well-scoped surface for a smart-meter data server; each tool maps to a distinct question a user would ask (current draw, consumption, price, capacity, history). Nothing feels padded or missing at the count level.
The surface covers the core read-only lifecycle: live power, energy/cost over hour/day/month, hourly prices with forward look, capacity, and day/month rollups. Minor gaps remain—no arbitrary date-range or deeper historical queries (only 'day'/'month' with last month), and no way to act on capacity or price data.