emoncms-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@emoncms-mcp-serverlist all my energy feeds"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
emoncms-mcp-server
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
Related MCP server: MeteoControl MCP Server
Installation
npm install
npm run buildConfiguration
The server requires two environment variables:
Variable | Required | Description |
| No | Base URL of your EmonCMS instance (default: |
| 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 |
| number | Feed ID |
feed_fetch
Get current values for multiple feeds.
Parameter | Type | Description |
| number[] | Array of feed IDs |
feed_data
Get historical time-series data.
Parameter | Type | Description |
| number | Feed ID |
| string | Start time — ISO 8601 (e.g. |
| string? | End time (default: now) |
| number? | Seconds between data points (default: 600) |
feed_average
Get averaged data over intervals.
Parameter | Type | Description |
| number | Feed ID |
| string | Start time |
| string? | End time (default: now) |
| number | Averaging interval in seconds (e.g. 3600 for hourly) |
feed_daily
Get daily data points (timezone-aligned).
Parameter | Type | Description |
| number | Feed ID |
| string | Start time (e.g. |
| string? | End time (default: now) |
feed_meta
Get metadata for a feed.
Parameter | Type | Description |
| 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 |
| string | Node name (e.g. |
Development
npm run dev # Run with tsx (hot reload)
npm run build # Compile TypeScript
npm start # Run compiled versionLicense
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/guibrazlima/emoncms-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server