Command Palette

Search for a command to run...

UnylyUnyly
Browse all

OCHP Server

FreeNot checked

Enables AI assistants to interact with EV charging infrastructure through OCHP (Open Clearing House Protocol) services.

GitHubEmbed

About

Enables AI assistants to interact with EV charging infrastructure through OCHP (Open Clearing House Protocol) services.

README

A Model Context Protocol (MCP) server implementation for OCHP (Open Clearing House Protocol) services, enabling AI assistants to interact with EV charging infrastructure.

Features

  • Complete OCHP 1.4 Protocol Support: Authorization, charge points, CDRs, status management
  • OCHP-Direct Integration: Real-time EVSE control and monitoring
  • MCP Protocol Compliance: Works with Claude Desktop and other MCP clients
  • Type-Safe Implementation: TypeScript with comprehensive validation
  • SOAP/WSDL Integration: Direct connection to OCHP services

Quick Start

  1. Install dependencies:

    npm install
    
  2. Configure environment:

    cp .env.example .env
    # Edit .env with your OCHP credentials
    
  3. Build and run:

    npm run build
    npm start
    

Configuration

Required environment variables in .env:

OCHP_ENDPOINT=https://your-ochp-service.com/service/ochp/v1.4
OCHP_DIRECT_ENDPOINT=https://your-ochp-service.com/direct/ochp/v1.4
OCHP_API_KEY=your-api-key
OCHP_USERNAME=your-username
OCHP_PASSWORD=your-password
OCHP_OPERATOR_ID=your-operator-id

Claude Desktop Integration

Add to your Claude Desktop configuration:

{
  "mcpServers": {
    "ochp": {
      "command": "node",
      "args": ["path/to/ochp-mcp-server/dist/server.js"],
      "env": {
        "OCHP_ENDPOINT": "https://your-endpoint.com",
        "OCHP_API_KEY": "your-key"
      }
    }
  }
}

Available Tools

Authorization Management

  • ochp_get_roaming_authorization_list - Retrieve authorization data
  • ochp_set_roaming_authorization_list - Update authorization data
  • ochp_get_single_roaming_authorization - Get specific authorization

Charge Point Management

  • ochp_get_charge_point_list - Retrieve charge point information
  • ochp_set_charge_point_list - Update charge point data

Status Management

  • ochp_get_status - Get EVSE status information
  • ochp_update_status - Update EVSE status

CDR Management

  • ochp_get_cdrs - Retrieve charge detail records
  • ochp_add_cdrs - Submit new CDRs

OCHP-Direct Control

  • ochp_direct_select_evse - Reserve EVSE for charging
  • ochp_direct_control_evse - Start/stop/modify charging session
  • ochp_direct_release_evse - Release EVSE reservation

Available Resources

  • ochp://authorization-list - Complete authorization data
  • ochp://charge-points - Charge point information
  • ochp://evse-status - Real-time EVSE status
  • ochp://cdrs - Historical charging data
  • ochp://wsdl-definitions - WSDL service definitions

Usage Examples

Get Authorization List

{
  "name": "ochp_get_roaming_authorization_list",
  "arguments": {
    "lastUpdate": "2024-01-01T00:00:00Z"
  }
}

Set Charge Point

{
  "name": "ochp_set_charge_point_list",
  "arguments": {
    "chargePoints": [
      {
        "evseId": "DEEXAE123456",
        "locationName": "Example Station",
        "address": {
          "houseNumber": "123",
          "address": "Example Street",
          "city": "Example City",
          "zipCode": "12345",
          "country": "DE"
        },
        "geoLocation": {
          "lat": 52.520008,
          "lon": 13.404954
        },
        "connectors": [
          {
            "connectorId": 1,
            "connectorStandard": "IEC_62196_T2",
            "connectorFormat": "Socket"
          }
        ],
        "operatorName": "Example Operator"
      }
    ]
  }
}

Direct EVSE Control

// Select EVSE
{
  "name": "ochp_direct_select_evse",
  "arguments": {
    "evseId": "DEEXAE123456",
    "contractId": "DEEXAC123456"
  }
}

// Start charging
{
  "name": "ochp_direct_control_evse",
  "arguments": {
    "directId": "session-id-from-select",
    "operation": "start",
    "maxPower": 22.0
  }
}

Development

Project Structure

src/
├── server.ts              # Main MCP server
├── clients/               # OCHP SOAP clients
├── handlers/              # Request handlers
├── types/                 # TypeScript definitions
├── utils/                 # Utilities and validation
└── config/                # Configuration management

Commands

npm run dev      # Development mode
npm run build    # Build TypeScript
npm test         # Run tests
npm run lint     # Lint code
npm run format   # Format code

Protocol Support

  • OCHP 1.4: Complete specification implementation
  • OCHP-Direct 0.2: Real-time EVSE control
  • Authentication: Bearer token and basic auth
  • Validation: Comprehensive input validation
  • Error Handling: Proper OCHP error responses

Requirements

  • Node.js 18+
  • OCHP service access
  • WSDL files (included)
  • Valid API credentials

License

Apache 2.0 License

from github.com/andreibesleaga/ochp-mcp

Installing OCHP Server

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/andreibesleaga/ochp-mcp

FAQ

Is OCHP Server MCP free?

Yes, OCHP Server MCP is free — one-click install via Unyly at no cost.

Does OCHP Server need an API key?

No, OCHP Server runs without API keys or environment variables.

Is OCHP Server hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install OCHP Server in Claude Desktop, Claude Code or Cursor?

Open OCHP Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare OCHP Server with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs