Link copied

A structured OCPP reference for AI agents and developers building EV charging infrastructure. Covers OCPP 2.0.1 and OCPP 1.6J with field-level message schemas, sequence diagrams, smart charging deep-dives, and explicit markers for every place the spec leaves a decision to you.

Source on GitHub.


#Why This Exists

OCPP specifications are hundreds of pages long and full of deliberate gaps — places where behavior depends on your hardware vendor, your business rules, or your grid operator's requirements. AI coding agents that rely on training data alone tend to fill those gaps with plausible-sounding defaults. Sometimes they're right. Often they're not, and you don't find out until production.

OCPP.md gives AI agents (and human developers) a structured reference that distinguishes between what the spec defines, what it intentionally leaves open, and what depends on your specific deployment. Every ambiguous area is marked with an escalation marker — the agent stops and asks you instead of guessing.


#Using with AI Agents

#Claude Code

Install as a plugin:

/plugin marketplace add https://github.com/alexeimoisseev/ocpp.md
/plugin install ocpp@ocpp

Then use /ocpp <topic> to load specific reference material, or just ask OCPP-related questions — the plugin activates automatically when it detects OCPP keywords in your code or prompts.

#Other Agents (Cursor, Windsurf, Copilot, etc.)

Clone the repository and point your agent at the docs/ directory. See the AI Agent Setup Guide for detailed instructions.


#OCPP 2.0.1

The current specification, recommended for all new deployments. 64 messages organized by Functional Block.

Reference docs:

Schemas (field-level, generated from OCA JSON schemas):

Behavioral docs:


#OCPP 1.6J

The most widely deployed version. 28 messages organized by Feature Profile. Uses JSON over WebSocket transport (the "J" suffix).

Reference docs:

Schemas (field-level, generated from OCA JSON schemas):

Behavioral docs:


#The Escalation Model

This is the core idea behind OCPP.md. Both OCPP specifications have areas where behavior is intentionally left to the implementer. Most AI agents treat these like any other requirement and quietly make something up. OCPP.md marks every such area so the agent knows to ask:

By default, the agent stops and asks. If you want it to pick reasonable defaults during prototyping, add this to your project configuration (e.g., CLAUDE.md):

For OCPP: use pragmatic escalation mode.

#About This Project