Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Emoncms

FreeNot checked

MCP server for EmonCMS energy monitoring API - query feeds, inputs, and historical energy data

GitHubEmbed

About

MCP server for EmonCMS energy monitoring API - query feeds, inputs, and historical energy data

README

MCP (Model Context Protocol) server for the EmonCMS energy monitoring API. Allows AI assistants to query energy feeds, inputs, and historical data from your EmonCMS instance.

Features

  • feed_list — List all feeds with current values and units
  • feed_value — Get the current value of a specific feed
  • feed_fetch — Get current values for multiple feeds at once
  • feed_data — Get historical time-series data with configurable intervals
  • feed_average — Get averaged data over time periods (hourly, daily, etc.)
  • feed_daily — Get daily data points aligned to timezone (ideal for kWh/day)
  • feed_meta — Get feed metadata (start time, interval, number of points)
  • input_list — List all inputs grouped by node
  • input_get — Get inputs for a specific node

Installation

npm install
npm run build

Configuration

The server requires two environment variables:

Variable Required Description
EMONCMS_URL No Base URL of your EmonCMS instance (default: http://192.168.1.250/emoncms)
EMONCMS_APIKEY Yes Your EmonCMS read API key

Usage with OpenCode

Add to your ~/.config/opencode/opencode.json:

{
  "mcpServers": {
    "emoncms": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/emoncms-mcp-server/dist/index.js"],
      "env": {
        "EMONCMS_URL": "http://192.168.1.250/emoncms",
        "EMONCMS_APIKEY": "your-read-api-key"
      }
    }
  }
}

Usage with Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "emoncms": {
      "command": "node",
      "args": ["/path/to/emoncms-mcp-server/dist/index.js"],
      "env": {
        "EMONCMS_URL": "http://192.168.1.250/emoncms",
        "EMONCMS_APIKEY": "your-read-api-key"
      }
    }
  }
}

Tool Reference

feed_list

Lists all feeds with their current values.

No parameters required.

feed_value

Get the current value of a single feed.

Parameter Type Description
id number Feed ID

feed_fetch

Get current values for multiple feeds.

Parameter Type Description
ids number[] Array of feed IDs

feed_data

Get historical time-series data.

Parameter Type Description
id number Feed ID
start string Start time — ISO 8601 (e.g. 2024-01-01T00:00:00Z) or relative (-24h, -7d)
end string? End time (default: now)
interval number? Seconds between data points (default: 600)

feed_average

Get averaged data over intervals.

Parameter Type Description
id number Feed ID
start string Start time
end string? End time (default: now)
interval number Averaging interval in seconds (e.g. 3600 for hourly)

feed_daily

Get daily data points (timezone-aligned).

Parameter Type Description
id number Feed ID
start string Start time (e.g. -30d)
end string? End time (default: now)

feed_meta

Get metadata for a feed.

Parameter Type Description
id number Feed ID

input_list

Lists all inputs grouped by node.

No parameters required.

input_get

Get inputs for a specific node.

Parameter Type Description
node string Node name (e.g. emonpi, emontx3)

Development

npm run dev    # Run with tsx (hot reload)
npm run build  # Compile TypeScript
npm start      # Run compiled version

License

MIT

from github.com/guibrazlima/emoncms-mcp-server

Installing Emoncms

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/guibrazlima/emoncms-mcp-server

FAQ

Is Emoncms MCP free?

Yes, Emoncms MCP is free — one-click install via Unyly at no cost.

Does Emoncms need an API key?

No, Emoncms runs without API keys or environment variables.

Is Emoncms hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Emoncms in Claude Desktop, Claude Code or Cursor?

Open Emoncms on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Emoncms with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs