askacharge.com — EV charging network

com.askachargePublished by askacharge.comOfficial publisherv1.0.0Updated Oct 25, 2026

Operate a network of EV charge points over OCPP: status, sessions, tariffs, prices, remote commands

VerifiedStreamable HTTPWeb executableLocation & LifestyleCloud & InfrastructureFinance

Overview

AI-generated overview

Remote MCP server for the askacharge.com EV charging platform, letting an assistant inspect chargers, sessions, tariffs and prices and send OCPP commands to the

What you can do
List and inspect charge points: status, connectors, power, access mode, live sessions and power drawn, open faults, kW limits per site, and the brand's API key activity trail. Review charging history and business figures: session history with energy, revenue and cost, period KPIs such as energy, revenue, net margin, sessions and customers, tariff groups, and today's Spanish PVPC hourly price. Manage customers and setup: list fleet customers with tariff and monthly consumption, register customers, tariff groups, charge points and RFID tags, and add up to 10 simulated chargers for testing. Send OCPP commands to hardware: start or stop a charge, reboot, put a charger in or out of service, unjam
When to use it
Use it when an assistant should answer operational questions about an EV charging network — which chargers are offline, what a site earned last month, whether charging is cheap this hour — or act on the hardware through OCPP commands. It suits charge point operators running their brand on askacharge.com.
Requirements
A hosted remote endpoint; nothing to install. Needs an askacharge.com account and a brand API key sent as an Authorization bearer header (X-Api-Key also accepted). The key's scopes decide which tools are visible and which calls are allowed. Tool names and descriptions are in Spanish.
Before you install
OCPP command tools act on physical hardware: starting a charge delivers real energy and generates a charge to the driver, stopping cuts a live session, and a reboot takes the point out of service and aborts sessions. Write tools create chargers, tariffs, customers and RFID tags, and customer creation does not check for duplicates. The generic API-call tool reaches every platform operation under the same key. Location-scoped keys restrict actions but not what listings return.

Installation

In SourceWeft

  1. Open askacharge.com — EV charging network in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.askacharge%2Faskacharge/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "askacharge-com-ev-charging-network": {
      "type": "http",
      "url": "https://askacharge.com/askacharge/api/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

askacharge.com MCP server

[Listed on mcpservers.org] [Glama score]

Let an AI agent operate a network of EV charge points.

askacharge.com is a CSMS — a Charging Station Management System — for electric vehicle charging: OCPP 1.6J and 2.0.1 to the hardware, tariffs and billing, QR and RFID driver payments, OCPI 2.2 roaming between operators, and fiscal invoicing. This repository documents its remote MCP server, which exposes that platform to any Model Context Protocol client.

Nothing to install. It is a hosted endpoint:

https://askacharge.com/askacharge/api/mcp

Transport is JSON-RPC 2.0 over HTTP POST (streamable-http). Protocol versions accepted: 2025-06-18, 2025-03-26, 2024-11-05. GET returns 405 on purpose — there is no SSE stream.


Why this exists

Charge point operators spend their day on questions an agent can answer directly: which chargers are offline right now, what did site X earn last month, is it cheap enough to charge at this hour, reboot the one that stopped responding. The REST API has always been able to do that. MCP is what makes it usable by an agent without anyone writing an integration first — the value is not the protocol, it is the description of when to use each tool and what happens if you get it wrong.

Authentication

One header, the brand's API key, created from the panel under API keys:

Authorization: Bearer ask_live_...

X-Api-Key: ask_live_... works too.

Once a key is present, its scopes decide which tools you can see. A read-only key never gets shown askacharge_parar_carga. Commands can be granted one by one: a key with commands:remote-start and commands:remote-stop sees start and stop but not reboot (commands:reset) or firmware; commands:write still means all of them. A key restricted to one location (commands:reset@hotel-madrid) sees the command tools and receives a 403 when it aims them at a charger somewhere else. A key belongs to one brand and reaches only that brand's data.

The 25 tools

Read

ToolWhat it answers
askacharge_listar_cargadoresEvery charge point with OCPP status, location and last contact
askacharge_ver_cargadorOne charger in detail: connectors, power, access mode, status
askacharge_estado_en_vivoRight now: chargers connected, sessions running, power being drawn
askacharge_resumenPeriod KPIs — energy, revenue, net margin, sessions, customers
askacharge_listar_sesionesCharging session history with energy, revenue and cost
askacharge_listar_incidenciasOpen faults per charger
askacharge_listar_tarifasTariff groups: per kWh, per hour, per session, PVPC or free
askacharge_precio_pvpc_hoyToday's hour-by-hour Spanish PVPC electricity price
askacharge_listar_clientesFleet customers with their tariff and monthly consumption
askacharge_limites_de_potenciakW ceiling per location and load-balancing strategy
askacharge_traza_de_actividadWhat the brand's API keys did: writes and rejected attempts
askacharge_estado_comandoHow a launched command is going, by its job_id: acked (charger accepted, waiting for the real effect), confirmed (the effect arrived — a session started, the charger came back after a reset), timeout, rejected, failed

OCPP commands — these act on physical hardware. Each one returns the charger's acknowledgement inline plus a job_id; the real effect arrives later over OCPP and closes the job, so ask askacharge_estado_comando instead of repeating the command (repeating it starts two sessions or reboots twice).

ToolWhat it does
askacharge_arrancar_cargaRemote start (OCPP RemoteStartTransaction)
askacharge_parar_cargaRemote stop (OCPP RemoteStopTransaction) — cuts a live session
askacharge_reiniciar_cargadorReboot, soft or hard (OCPP Reset)
askacharge_cambiar_disponibilidadPut a charger in or out of service (OCPP ChangeAvailability)
askacharge_desbloquear_conectorRelease a stuck cable (OCPP UnlockConnector)
askacharge_refrescar_estadoAsk the charger to send its status/heartbeat/meter now (OCPP TriggerMessage)
askacharge_diagnosticosAsk the charger to upload its diagnostics file (OCPP GetDiagnostics)

Write

ToolWhat it does
askacharge_crear_cargadorRegister a charge point
askacharge_cargadores_simuladosSandbox: add up to 10 simulated OCPP chargers that connect within a minute and answer every command
askacharge_crear_tarifaCreate a tariff group (per_kwh, per_hour, per_session, pvpc_margin, free…)
askacharge_crear_clienteRegister a fleet customer
askacharge_crear_tag_rfidAuthorise an RFID tag on the brand

Escape hatch

ToolWhat it does
askacharge_llamar_apiCall any of the platform's 463 API operations, under the same permission checks

It does not reimplement the product

Every tool runs against askacharge.com's own REST API with the same key, so it passes through the same scopes, the same audit trail, the same rate limit and the same idempotency handling. If a tool could ever do something the API forbids, that is a bug in the server, not a feature. The envelope itself is not what gets logged — the concrete operation it triggered is.

Using it

Claude Code

bash
claude mcp add --transport http askacharge https://askacharge.com/askacharge/api/mcp \  --header "Authorization: Bearer ask_live_..."

Clients that take a JSON config

json
{  "mcpServers": {    "askacharge": {      "type": "http",      "url": "https://askacharge.com/askacharge/api/mcp",      "headers": { "Authorization": "Bearer ask_live_..." }    }  }}

Raw, to check it is alive

bash
curl -s -X POST https://askacharge.com/askacharge/api/mcp \  -H "Content-Type: application/json" \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

No key needed for that: initialize, ping and tools/list answer anonymously, and the anonymous tools/list returns the whole catalogue of 25 tools (it is public anyway — it is the table above). Everything else — tools/call — needs the key, and without one you get a JSON-RPC error (-32001) saying so. A key that is present but invalid is an error too, not a fallback to anonymous.

Getting a key

Create an account at askacharge.com — 30-day trial, no card — then API keys in the panel. Pricing is a flat €20/month with unlimited chargers and no software commission per session; the whole list, including what does carry a percentage, is at askacharge.com/askacharge/en/pricing.html.

Honest limits

  • Tool names and descriptions are in Spanish. The platform's first market is Spain and the Basque Country. Models handle it without trouble, but you should know before you wire it in.
  • Scoping a key by location restricts what it can act on, not what it can read. A listing still returns the whole brand. This is documented behaviour, not an oversight.
  • There is no separate sandbox. To try things without consequences, create a brand in trial mode.
  • No SSE stream. Request/response only.

A fuller statement of what the platform is and is not — including current architectural limits — lives at askacharge.com/llms.txt.

Related


En español

Servidor MCP remoto de askacharge.com, la plataforma de gestión de cargadores de vehículo eléctrico (CSMS) con OCPP 1.6J/2.0.1, roaming OCPI 2.2, pago por QR y facturación fiscal (Verifactu y TicketBAI/Batuz).

Endpoint: https://askacharge.com/askacharge/api/mcp. No hay nada que instalar. Se autentica con la API key de la marca en Authorization: Bearer, y los scopes de esa key deciden qué herramientas se ven: una key de solo lectura nunca ve las de parar una carga, los comandos se pueden conceder uno a uno (commands:remote-start sin commands:reset), y una acotada por ubicación (commands:reset@hotel-madrid) recibe un 403 si apunta a un cargador de otra sede. Cada comando devuelve un job_id y askacharge_estado_comando dice si el efecto real llegó.

Son 25 herramientas —cargadores, estado en vivo, sesiones, tarifas, PVPC, clientes, límites de potencia, comandos OCPP y altas— más askacharge_llamar_api, que abre las 463 operaciones de la API con el mismo control de permisos. Ninguna reimplementa lógica de negocio: todas se ejecutan contra la propia API REST, con los mismos scopes, la misma traza y el mismo límite de uso.

Cuenta y key: askacharge.com, 30 días de prueba sin tarjeta. Precios en askacharge.com/askacharge/precios.html.

License

MIT — see LICENSE.

Registry

Published in the official MCP Registry as com.askacharge/askacharge, authenticated against the askacharge.com domain.

bash
curl -s "https://registry.modelcontextprotocol.io/v0/servers?search=askacharge"

See also

Source: README.md at commit 20bf771

Tools

25

askacharge_listar_cargadores

Listar cargadores

Lista los cargadores de la marca con su estado OCPP, ubicación y último heartbeat. Empieza por aquí para saber qué hay y qué está caído. En una red grande filtra (estado, q) o pagina (limit, offset) en vez de traerla entera; para solo contar, el recuento está en GET /api/brand/charge-points/resumen.

Parametersqlimitestadooffset

askacharge_ver_cargador

Ver un cargador

Detalle de un cargador concreto: conectores, potencia, modo de acceso y estado.

Parameterscharge_point_idrequired

askacharge_estado_en_vivo

Estado en vivo de la red

Foto del momento: cargadores conectados, sesiones activas y potencia que se está entregando ahora mismo. Para diagnosticar, mejor esto que el histórico.

Takes no parameters.

askacharge_resumen

Resumen de KPIs del periodo

Devuelve los KPIs agregados de un periodo —energía, facturado, margen neto, sesiones y clientes— y la variación respecto al periodo anterior. Solo lee, no cambia nada. Para el detalle sesión a sesión usa askacharge_listar_sesiones; para lo que está pasando ahora mismo, askacharge_estado_en_vivo.

Parametersperiod

askacharge_listar_sesiones

Listar sesiones de carga

Historial de sesiones de carga con energía, ingresos y coste. Úsalo para analizar consumo, facturación o detectar cargas anómalas.

Parameterslimit

askacharge_listar_incidencias

Listar incidencias

Incidencias abiertas por cargador (averías reportadas).

Takes no parameters.

askacharge_listar_tarifas

Listar grupos de tarifa

Lista los grupos de tarifa de la marca —por kWh, por hora, por sesión, combinado, margen sobre PVPC o mercado, por franjas horarias (con sus periods), coste de la luz + margen o gratis— con su precio, y la tarifa por defecto en primer lugar. Solo lee, no cambia nada. Para crear una nueva usa askacharge_crear_tarifa; para el precio horario del mercado, askacharge_precio_pvpc_hoy.

Takes no parameters.

askacharge_precio_pvpc_hoy

Precio PVPC de hoy

Precio PVPC hora a hora de hoy (mercado regulado español). Úsalo para decidir cuándo conviene cargar o para fijar un margen sobre el precio real.

Takes no parameters.

askacharge_listar_clientes

Listar clientes

Lista los clientes activos de la marca con su tarifa asignada y su consumo del mes. Solo lee, no cambia nada; devuelve todos de una vez (sin filtros ni paginación) y deja fuera a los dados de baja. Para dar de alta uno nuevo usa askacharge_crear_cliente; para sus cargas, askacharge_listar_sesiones.

Takes no parameters.

askacharge_limites_de_potencia

Ver límites de potencia

Límite de kW por ubicación y estrategia de reparto. Consúltalo antes de arrancar cargas en sitio con potencia contratada justa.

Takes no parameters.

askacharge_traza_de_actividad

Ver la traza de las API keys

Lista lo que han hecho las API keys de la marca, de lo más reciente a lo más antiguo: escrituras e intentos rechazados, con método, ruta, código de respuesta, IP y duración. Las lecturas correctas NO se registran, y la traza se borra a los 90 días. Solo lee, no cambia nada. Es la herramienta de auditoría de credenciales: para la actividad de carga usa askacharge_listar_sesiones.

Parameterslimitkey_idsolo_errores

askacharge_estado_comando

Ver cómo va un comando lanzado

Estado de un comando OCPP por su job_id (lo devuelve cada herramienta que manda un comando). Un comando tiene dos tiempos: la respuesta inmediata es solo el acuse del cargador; el efecto real llega después. Estados: 'acked' = aceptado y esperando el efecto (expected_event dice cuál: session.started tras arrancar, charger.online tras reiniciar, connector.status tras cambiar disponibilidad); 'confirmed' = el efecto llegó (en event); 'timeout' = no llegó en 5-10 minutos, algo falló en el cargador; 'rejected' = el cargador dijo que no; 'failed' = ni se pudo enviar. Sin job_id lista los últimos comandos de la marca. Úsala en vez de repetir el comando: repetirlo es arrancar dos cargas o reiniciar dos veces.

Parametersjob_idcharge_point_id

askacharge_arrancar_carga

Arrancar una carga

Arranca una carga en remoto (OCPP RemoteStartTransaction). El cargador debe estar conectado y el id_tag autorizado en la marca. CUIDADO: entrega energía real y genera un cobro.

Parametersid_tagconnector_idcharge_point_idrequired

askacharge_parar_carga

Parar una carga

Para una carga en curso (OCPP RemoteStopTransaction). CUIDADO: corta la carga de un conductor que puede estar esperándola.

Parameterstransaction_idcharge_point_idrequired

askacharge_reiniciar_cargador

Reiniciar un cargador

Reinicia el cargador (OCPP Reset). 'Soft' reinicia el software y 'Hard' es un corte completo. Deja el punto fuera de servicio unos minutos y aborta las sesiones en curso: comprueba antes que no haya ninguna activa.

Parametersreset_typecharge_point_idrequired

askacharge_cambiar_disponibilidad

Poner un cargador dentro o fuera de servicio

Pone un cargador operativo o fuera de servicio (OCPP ChangeAvailability). Úsalo para retirar de servicio un punto averiado sin desconectarlo.

Parameterscharge_point_idrequiredoperational_statusrequired

askacharge_desbloquear_conector

Desbloquear un conector

Libera el bloqueo del cable en un conector (OCPP UnlockConnector). Es lo que hay que mandar cuando un conductor no puede sacar el cable al terminar. Si hay sesión en curso, el cargador la para antes. Devuelve Unlocked, UnlockFailed o NotSupported; para un conector que sigue en Faulted, usa askacharge_reiniciar_cargador.

Parametersconnector_idcharge_point_idrequired

askacharge_refrescar_estado

Pedir al cargador su estado ahora

Pide al cargador que envíe ya un mensaje concreto (OCPP TriggerMessage): StatusNotification para refrescar el estado del conector, Heartbeat para comprobar que responde, MeterValues para una lectura del contador. Úsalo tras un comando para verificar el resultado sin esperar al siguiente latido. No cambia nada en el cargador; el estado nuevo llega por webhook connector.status y se ve en askacharge_ver_cargador.

Parametersconnector_idcharge_point_idrequiredrequested_message

askacharge_diagnosticos

Pedir diagnóstico al cargador

Pide al cargador que suba su fichero de diagnóstico (OCPP GetDiagnostics). Es el primer paso razonable ante un cargador que falla y no dice por qué.

Parameterscharge_point_idrequired

askacharge_crear_cargador

Dar de alta un cargador

Da de alta un cargador. El charge_point_id es el identificador de fábrica y solo tiene que ser único dentro de esta marca. Tras crearlo, el cargador debe apuntar su OCPP a wss://askacharge.com/askacharge/ocpp/{slug}/{charge_point_id}.

Parameterslatitudelongitudelocation_namenum_connectorscharge_point_idrequired

askacharge_cargadores_simulados

Añadir cargadores simulados (sandbox)

Da de alta cargadores simulados en la marca para probar sin hardware: conectan por OCPP en menos de un minuto, laten, cargan solos unas veces al día y responden a todos los comandos (un Reset los desconecta de verdad 20 s y vuelven). Cada uno trae una tarjeta RFID <PREFIJO>-TARJETA-nn. Máximo 10 por marca; si ya están todos devuelve 409. Se quitan con DELETE /api/brand/sandbox (askacharge_llamar_api). Úsalo para ensayar comandos y webhooks antes de tocar un cargador real.

Parameterscountlocation_name

askacharge_crear_tarifa

Crear un grupo de tarifa

Crea un grupo de tarifa y devuelve el grupo creado con su id. Rellena solo el precio del modo elegido: per_kwh usa price_per_kwh, per_hour usa price_per_hour, per_session usa price_per_session, combined suma los de kWh y hora, pvpc_margin suma pvpc_margin al PVPC (solo España), market_margin suma pvpc_margin al mercado diario de la zona de la marca (solo zonas con precio y marcas que cobran en EUR; si no, 400), tou cobra por franjas horarias que defines en periods (hora local de la marca; price_per_kwh es el precio de las horas sin franja), cost_plus suma pvpc_margin a lo que le cuesta la luz a la marca en cada momento (exige haberlo configurado) y free no cobra nada. Los modos que cambian con la hora cobran cada kWh a su precio. CUIDADO: con is_default en true, la que fuera tarifa por defecto deja de serlo. Para ver las que ya existen, askacharge_listar_tarifas.

Parametersnamerequiredperiodsis_defaultpvpc_marginbilling_moderequiredprice_per_kwhprice_per_hourprice_per_session

askacharge_crear_cliente

Dar de alta un cliente

Da de alta un cliente y devuelve el creado con su id. NO comprueba duplicados: dos llamadas con el mismo email crean dos clientes, así que mira antes askacharge_listar_clientes. Si no le pasas tariff_group_id, el cliente hereda la tarifa por defecto de la marca. Para autorizarle una tarjeta física, después: askacharge_crear_tag_rfid.

Parametersnamerequiredemailphonecompanyclient_typetariff_group_id

askacharge_crear_tag_rfid

Autorizar un tag RFID

Autoriza un tag RFID en la marca. Sin esto, la tarjeta no puede arrancar cargas. El id_tag es único dentro de la marca.

Parametersid_tagrequiredclient_iduser_name

askacharge_llamar_api

Llamar a cualquier operación de la API

Llama a cualquier endpoint de la API de la marca, para lo que no cubran las herramientas anteriores. El contrato completo (456 operaciones) está en https://askacharge.com/askacharge/openapi.json. Los permisos se comprueban igual que en el resto: la clave necesita el scope de ese recurso. Solo valen rutas bajo /api/brand y /api/ext.

Parametersrutarequiredcuerpometodorequired

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts