andreibesleaga/ochp-mcp
3.1
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
12
Resources
0
Prompts
0
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