A powerful server implementation for managing Electric Vehicle (EV) charging stations, trip planning, and resource management. This server provides a comprehensive set of tools and APIs for EV-related services.
git clone https://github.com/Abiorh001/mcp_ev_assistant_server.git
cd mcp_ev_assistant_server
python -m venv .venv
source .venv/bin/activate # On Linux/Mac
# or
.venv\\Scripts\\activate # On Windows
uv sync
Create a .env
file in your project root with the following variables:
OPENCHARGE_MAP_API_KEY=your_opencharge_map_api_key
GOOGLE_MAP_API_KEY=your_google_map_api_key
Create or update servers_config.json
:
{
"mcpServers": {
"ev_assistant": {
"command": "/home/$USER/path/mcp_learning/.venv/bin/python",
"args": ["/home/$USER/path/mcp_ev_assistant_server/ev_assistant_server.py"],
"env": {
"OPENCHARGE_MAP_API_KEY": "your_opencharge_map_api_key",
"GOOGLE_MAP_API_KEY": "your_google_map_api_key"
}
}
}
}
mcp_ev_assistant_server/
├── ev_assistant_server.py
├── .env
├── servers_config.json
├── Data/ # PDF resources directory
├── agentTools/ # Tool implementations
│ ├── charge_station_locator.py
│ └── ev_trip_planner.py
└── core/ # Core functionality
├── schemas.py
└── logger.py
# Method 1: Direct Python execution
python ev_assistant_server.py
result = await client.call_tool("charge_points_locator", {
"address": "London, UK",
"max_distance": 10,
"socket_type": "CCS"
})
result = await client.call_tool("ev_trip_planner", {
"user_address": "Manchester, UK",
"user_destination_address": "Liverpool, UK",
"socket_type": "Type 2"
})
charge_points_locator
address
: Location to search around (string, required)max_distance
: Search radius in kilometers (integer, required)socket_type
: Type of charging socket (string, required)ev_trip_planner
user_address
: Starting location (string, required)user_destination_address
: Destination location (string, required)socket_type
: Preferred charging socket type (string, required)find-charging-stations
location
: Search locationradius
: Search radius in kmsocket_type
: Charging socket typecharging-time-estimate
vehicle_model
: EV make and modelcurrent_charge
: Current battery percentagetarget_charge
: Desired battery percentagecharger_power
: Charging station power in kWroute-planner
start_location
: Starting pointend_location
: Destinationvehicle_range
: Vehicle's full charge rangecurrent_charge
: Current battery percentage/Data
directory# Subscribe to a resource
await client.subscribe_resource("file:///pdf/ev_manual")
# Unsubscribe from a resource
await client.unsubscribe_resource("file:///pdf/ev_manual")
core.schemas
agentTools
handle_list_tools()
handle_call_tool()
PROMPTS
handle_get_prompt()
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)This project is licensed under the MIT License - see the LICENSE file for details.
Seamless access to top MCP servers powering the future of AI integration.