Skip to main content
Glama
andreibesleaga

OCHP MCP Server

OCHP MCP Server

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

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/andreibesleaga/ochp-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server