MCP Tool Catalog
The Pipelet MCP server registers 30 tools across five functional areas. This page is hand-maintained for MVP; in Phase 2 it will be auto-generated from the @mcp.tool() docstrings.
Station Monitoring (6 tools)
Section titled “Station Monitoring (6 tools)”Source: mcp-server/mcp_server/tools/station_monitoring.py
list_stations station_monitoring List all connected charging stations with their current status. Returns station ID, vendor, model, firmware version, serial number, connector count, and per-connector status (Available, Charging, Faulted, etc.). Use this for a quick overview of the entire charging network.
get_station_details station_monitoring station_id: str Get detailed information for one station: connectors with status, error codes, meter values, active transactions, vendor info. Use this when investigating a specific station's state.
get_station_liveness station_monitoring Heartbeat-based liveness for every connected station. Returns last-heartbeat time, seconds since last heartbeat, configured timeout, seconds until timeout, and an at-risk flag. Use this to identify stations with connectivity issues.
diagnose_station station_monitoring station_id: str Run connection diagnostics for one station. Pulls reconnection history, connection-quality score, WebSocket ping stats, handshake success/failure counts from ocpp-broker. Use this when a station has intermittent connectivity issues.
get_system_health station_monitoring Combined health check across all three backend services (gateway, broker, server). One call → one verdict on whether the platform is healthy.
get_metrics station_monitoring metric_type: str Operational metrics for the charging infrastructure. Pass a metric type to filter (e.g. 'connections', 'transactions', 'database').
Configuration & Control (7 tools)
Section titled “Configuration & Control (7 tools)”Source: mcp-server/mcp_server/tools/configuration.py
get_station_config configuration station_id: str, key: str | None = None Read OCPP configuration keys from a station. Pass a key name to read one value; omit to read all configured keys.
set_station_config configuration station_id: str, key: str, value: str Write a single OCPP configuration key. The station must accept the change; some keys require a reboot.
trigger_station_reset configuration station_id: str, reset_type: str = 'Soft' Trigger a Soft (graceful) or Hard (immediate power-cycle) reset. Soft resets preserve active sessions; hard resets do not.
change_station_availability configuration station_id: str, available: bool, connector_id: int = 0 Change Operative/Inoperative state for a connector or the whole station. Pass connector_id=0 for the whole station.
start_charging configuration station_id: str, connector_id: int, id_tag: str Start a remote charging session. Returns the OCPP RemoteStartTransaction response — usually 'Accepted' or 'Rejected'.
stop_charging configuration transaction_id: int Stop a charging session by transaction ID. Use get_active_sessions to find live transaction IDs.
get_firmware_status configuration station_id: str Read the firmware version and update status of a station.
Billing & Sessions (6 tools)
Section titled “Billing & Sessions (6 tools)”Source: mcp-server/mcp_server/tools/billing_sessions.py
get_active_sessions billing_sessions List all currently active (in-progress) charging sessions across the fleet.
query_billing_sessions billing_sessions start_date: str, end_date: str, station_id: str | None = None, limit: int = 100 Query historical sessions in a date range. Optionally filter by station. Returns sessions with energy, duration, cost.
get_billing_summary billing_sessions year: int, month: int Monthly aggregated billing summary: total energy, total revenue, session count, average kWh per session.
get_dashboard_kpis billing_sessions Real-time dashboard KPIs for the charging network. Use when asking 'how are we doing right now?'
get_chart_data billing_sessions days: int = 30, granularity: str = 'daily' Time-series data for charts. Granularity is one of 'hourly', 'daily', 'weekly'.
export_billing_csv billing_sessions year: int, month: int, station_id: str | None = None Export billing data as CSV. Used for accounting close-outs and external audits.
Customers & Tokens (6 tools)
Section titled “Customers & Tokens (6 tools)”Source: mcp-server/mcp_server/tools/customer_tokens.py
search_customers customer_tokens query: str, limit: int = 50 Free-text search across customers (name, email, contract ID). Returns up to `limit` matches.
get_customer_details customer_tokens customer_id: int Full details for one customer: contact info, contract, RFID tokens, billing address, recent sessions.
search_tokens customer_tokens query: str, limit: int = 50 Search RFID tokens / id-tags by partial value. Useful when a customer reports a card.
list_locations customer_tokens filter: str | None = None List all charging locations. Optionally filter by city or owner.
list_evses customer_tokens location_id: int | None = None List all EVSEs (charge points). Filter by location to scope the result.
get_evse_live customer_tokens evse_id: int Combined live data for an EVSE: current status, active session, meter values, last heartbeat.
Load Management (5 tools)
Section titled “Load Management (5 tools)”Source: mcp-server/mcp_server/tools/load_management.py
get_load_status load_management Current load management status across all groups. Returns capacity, current draw, available headroom.
get_load_groups load_management List all load management group configurations. Includes group name, capacity, member EVSEs, scheduling rules.
get_meter_reading load_management group_id: int Current energy meter reading for a load management group. Used to verify total power draw.
get_load_log load_management group_id: int, limit: int = 50 Recent load management events for a group: rebalances, capacity exceeded warnings, schedule changes.
trigger_rebalance load_management group_id: int Force an immediate power rebalancing in a load management group. Normally happens automatically on a schedule; use this when you need it now.
Want a tool that isn’t here?
Section titled “Want a tool that isn’t here?”Open an issue at github.com/pipelet/mcp-server describing the use case. Tools are cheap to add — most are 10-20 lines of Python wrapping an existing REST endpoint.