,
- ,
- 等。外部链接需要添加nofollow,但可能原始内容中没有明显的外部链接,所以可能不需要处理,但用户可能希望所有a标签都加上,即使内部链接?或者可能用户希望外部链接添加,但如果没有,可能忽略。这里可能需要假设用户指的外部链接,但如果没有的话,可以暂时不添加,或者可能用户希望所有链接都添加nofollow,即使内部,所以需要检查。
现在开始编写HTML代码:
首先,结构大致如下:
What is...
...
How to use...
- ...

MCP EV Assistant Server: The go-to backbone for EV charging stations, trip planning, and resource mastery. Robust APIs, seamless orchestration—designed for pros who refuse to compromise.
Users create an average of 11 projects per month with this tool
,
...
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
python -m pip install langchain-community
python -m pip install python-dotenv
python -m pip install PyPDF2
python -m pip install PyMuPDF # Optional: for PDF fallback processing
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"
})
* Purpose: Find EV charging stations near a location
* Parameters:
* `address`: Location to search around (string, required)
* `max_distance`: Search radius in kilometers (integer, required)
* `socket_type`: Type of charging socket (string, required)
* Purpose: Plan an EV-friendly route
* Parameters:
* `user_address`: Starting location (string, required)
* `user_destination_address`: Destination location (string, required)
* `socket_type`: Preferred charging socket type (string, required)
* Required:
* `location`: Search location
* Optional:
* `radius`: Search radius in km
* `socket_type`: Charging socket type
* Required:
* `vehicle_model`: EV make and model
* `current_charge`: Current battery percentage
* `target_charge`: Desired battery percentage
* `charger_power`: Charging station power in kW
* Required:
* `start_location`: Starting point
* `end_location`: Destination
* `vehicle_range`: Vehicle's full charge range
* Optional:
* `current_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.schemasagentToolshandle_list_tools()handle_call_tool()PROMPTShandle_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.