ochp-mcp

andreibesleaga/ochp-mcp

3.2

If you are the rightful owner of ochp-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The OCHP MCP Server is a Model Context Protocol server implementation designed for OCHP services, facilitating AI assistants' interaction with EV charging infrastructure.

Tools
  1. ochp_get_roaming_authorization_list

    Retrieve authorization data

  2. ochp_set_roaming_authorization_list

    Update authorization data

  3. ochp_get_single_roaming_authorization

    Get specific authorization

  4. ochp_get_charge_point_list

    Retrieve charge point information

  5. ochp_set_charge_point_list

    Update charge point data

  6. ochp_get_status

    Get EVSE status information

  7. ochp_update_status

    Update EVSE status

  8. ochp_get_cdrs

    Retrieve charge detail records

  9. ochp_add_cdrs

    Submit new CDRs

  10. ochp_direct_select_evse

    Reserve EVSE for charging

  11. ochp_direct_control_evse

    Start/stop/modify charging session

  12. ochp_direct_release_evse

    Release EVSE reservation

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