andreibesleaga/ochp-mcp
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.
ochp_get_roaming_authorization_list
Retrieve authorization data
ochp_set_roaming_authorization_list
Update authorization data
ochp_get_single_roaming_authorization
Get specific authorization
ochp_get_charge_point_list
Retrieve charge point information
ochp_set_charge_point_list
Update charge point data
ochp_get_status
Get EVSE status information
ochp_update_status
Update EVSE status
ochp_get_cdrs
Retrieve charge detail records
ochp_add_cdrs
Submit new CDRs
ochp_direct_select_evse
Reserve EVSE for charging
ochp_direct_control_evse
Start/stop/modify charging session
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
-
Install dependencies:
npm install
-
Configure environment:
cp .env.example .env # Edit .env with your OCHP credentials
-
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 dataochp_set_roaming_authorization_list
- Update authorization dataochp_get_single_roaming_authorization
- Get specific authorization
Charge Point Management
ochp_get_charge_point_list
- Retrieve charge point informationochp_set_charge_point_list
- Update charge point data
Status Management
ochp_get_status
- Get EVSE status informationochp_update_status
- Update EVSE status
CDR Management
ochp_get_cdrs
- Retrieve charge detail recordsochp_add_cdrs
- Submit new CDRs
OCHP-Direct Control
ochp_direct_select_evse
- Reserve EVSE for chargingochp_direct_control_evse
- Start/stop/modify charging sessionochp_direct_release_evse
- Release EVSE reservation
Available Resources
ochp://authorization-list
- Complete authorization dataochp://charge-points
- Charge point informationochp://evse-status
- Real-time EVSE statusochp://cdrs
- Historical charging dataochp://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