OCHP MCP Server
Enables AI assistants to interact with EV charging infrastructure through OCHP (Open Clearing House Protocol) services.
README
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.