Are you the author? Sign in to claim
MicroService Agent System for Energy Markets
API-first Agentic Energy Operations Layer for Stadtwerke, DSOs and energy-service teams. Cernion combines deterministic energy-domain services, curated capability routing, evidence dossiers, VDMI role logic, HITL boundaries and read-only integration surfaces for REST, Sidecar, Microsoft Copilot, n8n, OpenWebUI and OpenClaw.
Cernion Energy Tools is the backend runtime behind cernion.de: a Node.js/Moleculer service platform for energy-domain automation, decision support and agentic process orchestration.
It is not just a chat frontend for energy APIs. The current platform contains:
services/openapi-export.jsontests/Current package/OpenAPI version: 0.67.8
Cernion does not let the chat decide. The platform structures the objective, available data, service chain, evidence, gaps, risk and the next safe gate. The result is not a black-box answer, but a dossier-ready status or decision-readiness view for Stadtwerke, distribution-system operators and energy-service teams.
Cernion Energy Tools is not an automatic contract decision, grid-connection commitment,
device-control system, MaKo execution system, billing/settlement system or tariff-mutation
machine. Suitable integration scopes are ask, plan, evidence, capability lookup
and read-only status. Write-like or consequential steps stay in draft, prepare or
pending confirmation states and require HITL.
The public website explains Cernion as an energy-intelligence and decision platform for Stadtwerke: MaStR analysis, grid planning, §14a, Redispatch, Energy Sharing, customer-service automation and Microsoft Copilot complementarity. This repository is the deeper technical system underneath that product narrative.
Cernion is API-first, but the API is only the integration layer. The agentic part is the runtime behavior:
capability-broker maps intent to curated service chains instead of exposing the
full tool catalogue to an LLM.This is the practical difference between a question-and-answer bot and an agentic energy-operations platform.
External systems / humans / agents
|
v
REST API, Copilot API, OpenClaw Sidecar, MCP-like tool surfaces
|
v
Personal Agent / Capability Broker / Agent Receipts / Blueprints
|
v
Governed Moleculer services
|
v
Datapoints, Object Store, Knowledge RAG, Dossiers, Jobs, Observability
| Layer | Components | Purpose |
|---|---|---|
| Service bus | Moleculer, REST gateway, async jobs | Deterministic service execution and API exposure |
| Data layer | Object Store, Datapoints, DataSources, Knowledge RAG | Internal data, external evidence, tenant memory and source material |
| Agentic routing | Personal Agent, Capability Broker, Blueprints, Agent Receipts | Intent resolution, tool-chain selection, durable execution |
| Governance | VDMI, HITL, Clarification Policy, Interface Placeholder, Evidence Revalidation | Responsibilities, missing evidence, human decisions, gap handling |
| Integration | Full OpenAPI, Copilot subset, OpenClaw Sidecar, Webhooks, MCP-style tools | Safe use by humans, copilots, agents and automation systems |
| Observability | Metrics, traces, audit records, job status | Operation, auditability and support |
The platform covers several energy-industry work areas. The following list is representative; the OpenAPI export is the source of truth.
| Domain | Examples |
|---|---|
| Grid connection and fNAV | Grid-connection validation, flexible network access, connection-rejection evidence |
| VDMI governance | Verantwortlich, Durchführend, Mitwirkend, Information per process step; findings, dossiers and evidence |
| Zielnetzplanung (ZNP) | Projects, assumptions, Layer 0/1/2 assets, portfolio analysis, NOVA decisions |
| Asset and data quality | MaStR quality, asset overrides, ghost-asset alerts, datasource classification |
| Energy Sharing and settlement | §42c-style allocation, settlement checks, Redispatch ex-post reconciliation |
| EDM and market communication | MSCONS import, EDM validation, virtual meters, messkonzept checks |
| Forecasting and flexibility | Forecast engine, residual load, §14a flex events, SLP profiles |
| Finance and investment | Finance agent, fNAV economics, BESS screening, capex prioritization |
| Reporting and BI | Reporting governance, dashboard API, VNB monitoring, EWK monitoring |
| Knowledge and evidence | Knowledge RAG, evidence routing, dossiers, object-store context |
services/personal-agent.service.js is the user-facing orchestration layer. It keeps
conversation state, routes intents, calls deterministic services and synthesizes results
without turning the whole backend into one prompt.
Key concepts:
services/capability-broker.service.js and src/capability-catalog.js provide curated
capability routing. This is the control point that prevents agents from seeing or choosing
the entire backend surface directly.
Examples of curated capabilities include:
vdmi_role_boundary_governancevdmi_asset_validation_governancevdmi_grid_connection_decision_governancenetzfahrplan_fnav_assessmentznp_portfolio_assessmentsettlement_a96_reconciliationfinancier_due_diligence_assessmentreporting_governanceservices/agent-receipts.service.js turns repeatable agent workflows into versioned,
testable recipes. Receipts describe matching conditions, required inputs, tool plans and
knowledge plans. They are the bridge from "the agent answered" to "the platform selected a
governed, inspectable workflow".
Cernion uses dossiers and decision frames for auditable outputs. A result can include:
Two active architecture tracks are captured in GitHub issues:
The target direction is that a changed fact can become a control signal for agents:
MaStR / datapoint / object-store change
|
v
Dependency and impact analysis
|
v
Revalidation queue
|
v
Agent receipt / capability flow rerun
|
v
Audit note, updated dossier, HITL item or exception case
This is how Cernion moves from one-time API analysis toward RPA+ for commodity energy processes: standard cases are automated, exceptions are made explicit.
The complete REST API is generated from Moleculer service metadata.
GET /api/docsGET /api/openapi.jsonopenapi-export.jsonThe recipes use only synthetic examples, environment-variable based tokens and tenant-safe demo identifiers. They document consultation/read-only/pending-confirmation boundaries and are not approval, billing, tariff, device-control, contract or production-mutation demos.
Regenerate and audit:
npm run export:openapi
npm run audit:openapi
Cernion does not expose all 600+ API paths to Microsoft Copilot. The Copilot bridge uses a
curated allowlist maintained in config/copilot-operations.json.
Relevant files:
openapi-copilot.jsonGenerate the Copilot subset:
npm run export:openapi:copilot
The Copilot-facing surface distinguishes:
read operations with no side effectsdraft operations that prepare suggestionsprepare operations requiring confirmationCernion Energy Tools can be used from OpenClaw through the public ClawHub package @cernion/openclaw-energy-tools-sidecar. Install it in OpenClaw with:
openclaw plugins install clawhub:@cernion/openclaw-energy-tools-sidecar
The companion repository SmartEnergySolutions/cernion-openclaw-sidecar provides an OpenClaw plugin for generic Energy Sidecar providers, with Cernion as the first provider.
The product boundary is intentionally split: OpenClaw is the agent runtime for conversation, tool orchestration, memory and answer synthesis. Cernion Energy Tools is the energy-domain evidence, policy, Knowledge RAG and read-only API layer behind answers about MaStR assets, grid context, Redispatch, Zielnetzplanung, 14a/14d EnWG duties, process intake and operational status.
The sidecar consumes the Cernion Sidecar contract:
GET /api/agent-sidecar/descriptorGET /api/agent-sidecar/mcp/toolsPOST /api/agent-sidecar/mcp/tools/:name/callPOST /api/knowledge-rag/queryPOST /api/evidence-router/routePOST /api/copilot-process/intentsGET /api/_agent/capabilities[?domain=]GET /api/_agent/operations[?domain=]The boundary is deliberately strict:
pending_confirmation receiptsCernion also publishes AI-agent-friendly tool descriptions through llm.txt, capability
resolution endpoints and MCP/OpenClaw-style tool lists. The public documentation page
describes this as a set of ready-to-use energy tools for Stadtwerke.
Prerequisite: Node.js 22+
git clone https://github.com/energychain/cernion-energy-tools.git
cd cernion-energy-tools
npm install
cp .env.example .env
npm start
Default local endpoints:
http://localhost:3000/apihttp://localhost:3000/api/docshttp://localhost:3000/appFull setup guide: QUICKSTART.md
Start with .env.example. Common variables:
| Variable | Purpose |
|---|---|
CERNION_TOKEN | API token for authenticated access |
LLM_PROVIDER | LLM provider (gemini, openai-compat, ollama) |
LLM_MODEL | Model name for the selected provider |
LLM_API_KEY / GEMINI_API_KEY | Provider credentials when needed |
API_URL | Base URL used in generated OpenAPI servers and CLI share links |
PORT | API gateway port, default 3000 |
TRACING_ENABLED | Enable OpenTelemetry tracing |
OTEL_EXPORTER_OTLP_ENDPOINT | OTLP HTTP trace destination |
METRICS_PUBLIC | Expose /metrics without a full-access token |
LLM health:
GET /api/system/llm/health
Observability:
GET /metrics returns Prometheus-compatible metricsAuth guide: BEARER_TOKEN_AUTHENTICATION.md
npm test
npm run test:unit:ci
npm run test:tdd-matrix
npm run test:rest-usecases
npm run lint
npm run audit:openapi
npm run check:llm
npm run release:check
Useful generation commands:
npm run export:openapi
npm run export:openapi:copilot
npm run generate:llm
npm run blueprint:export
Create a new Moleculer service:
npm run create
Good demos should show an agentic run, not only a chat answer.
Strong demo patterns:
A useful agentic trace should make these visible:
User objective
-> intent and capability
-> selected receipt / blueprint
-> service chain
-> evidence used
-> gaps and risks
-> HITL / policy decision
-> dossier or decision artifact
-> audit trace
| Document | Topic |
|---|---|
| docs/copilot-process-bridge.md | Curated Microsoft Copilot API subset |
| docs/v0.52-implementation-plans/personal-agent-v052-architecture-tdd.md | Personal Agent architecture and TDD contract |
| docs/v0.52-implementation-plans/v0.52.1-capability-broker.md | Capability Broker implementation plan |
| docs/observability/grafana/README.md | Grafana dashboards |
| docs/DSFA_TEMPLATE.md | Data protection impact-assessment template |
| docs/BACKEND_CONTEXT.md | Backend context for UI/frontend work |
| CHANGELOG.md | Release history |
| MCP_TOOLS.md | MCP/tool reference |
| llm.txt | Machine-readable service and capability context |
| SECURITY.md | Security policy |
License: GPL-3.0. See LICENSE.
Cernion is developed by STROMDAO GmbH in the context of the Cernion energy-intelligence platform.
Support and product feedback:
dev@stromdao.comRun Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Google's universal MCP server supporting PostgreSQL, MySQL, MongoDB, Redis, and 10+ databases
Official GitHub integration for repos, issues, PRs, and CI/CD workflows