https://chargerdojo.com/api/mcp. It speaks the
Model Context Protocol, the standard your agent
already uses to reach tools outside itself.
Connect it and you can ask OCPI questions in the editor you are already in: which
versions exist, how each one encodes the credentials token, what changed between
2.2.1 and 2.3.0, which suites and journeys you can run. That half needs no
account, no key and no signup. Answers come from the same registry the simulator
obeys, so they match what the site does rather than what a model remembers.
Add your cdojo_ API key and the same agent also reads your account: your
registered endpoints, your run history, a verdict, your remaining quota.
Connect it
Each of these was run against the live endpoint.~/.cursor/mcp.json; opencode reads ~/.config/opencode/opencode.json.
Any other client that speaks Streamable HTTP takes the URL and nothing else.
opencode’s own published examples show
mcp.servers.<name>. That shape does not
connect. The one above does.Ask it something
Nothing else to set up. Ask your agent a version question and it will reach for the server:What changed between OCPI 2.2.1 and 2.3.0?
chargerdojo_describe_access will tell you at any point which tools your
connection currently has.
Add your key
Six tools are open to anyone. The other eight read or act on one account, so they need an API key, the samecdojo_ key the REST API uses. Send it as a
bearer token:
add says MCP server chargerdojo already exists and
changes nothing: your header never lands, and the account tools never appear.
Clients that take a config file instead carry the same header in a headers map
beside the URL.
Keys are created in the app, under Settings, then Security, and need a paid
plan. See Create an API key.
Runs an agent starts are recorded in your account’s audit log as agent-started,
naming the tool, so a shared account can still tell who did what.
Every tool
Open to anyone, no account:
With an API key:
The ids chain:
list_targets gives you a targetId, and every run tool takes the
reportId that list_runs or run_sandbox_journey hands back. You should not have
to look any of this up, though. Ask your agent to list the server’s tools and it
gets the current names, descriptions and argument schemas, which stay right when
this table drifts.
What it will not do
It does not start conformance runs against your partner. A suite run costs minutes and quota, and an agent that starts one on a hunch is expensive in a way you find out about later. Start those through the REST API, where the call sits in your script and you can see it.chargerdojo_run_sandbox_journey is the
exception, because the sandbox is ours and a wasted run costs you nothing but your
own rate limit.
An agent gets half your rate, not all of it. Tools that start work draw on half
your plan’s runs per minute and half its in-flight cap, so a looping agent leaves
your CI pipeline the other half.
If your agent cannot connect
- The URL is
https://chargerdojo.com/api/mcp, with no trailing slash and no version segment.docs.chargerdojo.comruns a different server, for these pages. - A client on an older MCP revision still works. The endpoint answers both the current revision and the 2025 ones from the same URL.
- If the account tools are missing, the key did not arrive. The usual cause is the
one above, a second
addrefused because the name was taken. Otherwise check the header reached the server rather than that it sits in the config file: some clients send only the headers they were given at add time. - A revoked or unknown key gets a
401and the messageInvalid or revoked API key. It never quietly drops you to the open six, because running an agent against the wrong account is worse than an error. - The server is listed in the official MCP registry as
com.chargerdojo/ocpi, if your client discovers servers that way.