askacharge.com — EV charging network

com.askacharge由 askacharge.com 发布官方发布者v1.0.0更新于 Oct 25, 2026

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

已验证Streamable HTTP可网页运行位置与生活云端与基础设施金融

概览

AI 生成的概览

askacharge.com 电动汽车充电平台的远程 MCP 服务器,让助手查看充电桩、会话、电价与价格,并通过 OCPP 向硬件发送命令。

可以做什么
列出并查看充电桩:状态、连接器、功率、接入方式、实时会话与当前输出功率、未解决故障、各站点功率上限,以及品牌 API 密钥的活动记录。查看充电历史与经营数据:含电量、收入和成本的会话历史,按周期统计的电量、收入、净毛利、会话数和客户数等 KPI,电价组,以及西班牙 PVPC 当日逐时电价。管理客户与配置:列出车队客户的电价和当月用电量,登记客户、电价组、充电桩和 RFID 标签,并添加最多 10 个模拟充电桩用于测试。向硬件发送 OCPP 命令:启动或停止充电、重启、将充电桩投入或退出服务、解锁卡住的连接器、请求状态或诊断信息,并通过 job_id 查询命令结果。
适用场景
当助手需要回答电动汽车充电网络的运营问题——哪些充电桩离线、某站点上月收入多少、当前时段充电是否便宜——或需要通过 OCPP 命令操作硬件时使用。适合在 askacharge.com 上运营自有品牌的充电运营商。
运行要求
托管远程端点,无需安装。需要 askacharge.com 账户和品牌 API 密钥,通过 Authorization bearer 头传递(也接受 X-Api-Key)。密钥的权限范围决定可见的工具和允许的调用。工具名称和描述为西班牙语。
安装前请注意
OCPP 命令工具会操作真实硬件:启动充电会实际输出电量并向车主计费,停止会中断进行中的会话,重启会使充电桩停用数分钟并中止会话。写入类工具会创建充电桩、电价、客户和 RFID 标签,且创建客户时不检查重复。通用 API 调用工具可在同一密钥下访问平台全部操作。按位置限定的密钥只限制可执行的操作,不限制列表返回的数据范围。

安装

在 SourceWeft 中

  1. 打开 控制台中的 askacharge.com — EV charging network,将其添加到工作区。
  2. 连接 Authorization token 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.askacharge%2Faskacharge/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "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

来源:README.md,提交 20bf771

工具

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.

输入参数qlimitestadooffset

askacharge_ver_cargador

Ver un cargador

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

输入参数charge_point_id必填

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.

无需输入参数。

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.

输入参数period

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.

输入参数limit

askacharge_listar_incidencias

Listar incidencias

Incidencias abiertas por cargador (averías reportadas).

无需输入参数。

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.

无需输入参数。

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.

无需输入参数。

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.

无需输入参数。

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.

无需输入参数。

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.

输入参数limitkey_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.

输入参数job_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.

输入参数id_tagconnector_idcharge_point_id必填

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.

输入参数transaction_idcharge_point_id必填

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.

输入参数reset_typecharge_point_id必填

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.

输入参数charge_point_id必填operational_status必填

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.

输入参数connector_idcharge_point_id必填

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.

输入参数connector_idcharge_point_id必填requested_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é.

输入参数charge_point_id必填

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}.

输入参数latitudelongitudelocation_namenum_connectorscharge_point_id必填

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.

输入参数countlocation_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.

输入参数name必填periodsis_defaultpvpc_marginbilling_mode必填price_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.

输入参数name必填emailphonecompanyclient_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.

输入参数id_tag必填client_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.

输入参数ruta必填cuerpometodo必填

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分