关于 MCP EV Assistant Server
这是一个面向电动汽车出行的 MCP 服务,提供充电站查询、路线规划和文档资源管理。适用于需要规划充电行程或检索电动汽车 PDF 资料的场景。
主要功能
- 01按位置、距离和插头类型查找充电站
- 02规划包含充电站的电动汽车路线
- 03结合续航和当前电量规划行程
- 04管理 PDF 文档并提取文本
- 05提供充电时间估算和路线规划提示词
适用场景
- 01查找指定距离和插头类型的充电站
- 02规划考虑续航与充电停靠的行程
- 03检索电动汽车手册或指南内容
- 04估算车辆从当前电量到目标电量的充电时间
MCP 相关
向 MCP 客户端提供充电站查询和路线规划工具、交互式提示词,以及可订阅的 PDF 资源。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP EV 助手服务
用于管理电动汽车(EV)充电站、行程规划和资源管理的强大服务实现。此服务为 EV 相关服务提供了全面的工具和 API。
目录
功能
1. EV 充电站服务
- 充电站定位器:根据位置和偏好查找附近的 EV 充电站
- 插头类型筛选:搜索特定类型的充电插头(CCS、CHAdeMO、Type 2 等)
- 按距离搜索:指定搜索半径以查找充电站
2. 行程规划
- 路线规划:规划适合 EV 的地点间路线
- 充电站点整合:自动纳入所需的充电站点
- 续航里程考量:考虑车辆续航里程和当前电量
3. 资源管理
- PDF 文档管理:处理 EV 相关 PDF 文档(用户指南、手册等)
- 资源订阅:支持订阅资源以获取实时更新
- 自动文本提取:提取 PDF 文本,并提供备用机制
4. 交互式提示词
- 充电站搜索:通过交互式提示词查找充电站
- 充电时间估算:根据多种参数计算充电时长
- 路线规划辅助:结合充电需求进行交互式路线规划
安装
1. 克隆代码库
git clone https://github.com/Abiorh001/mcp_ev_assistant_server.git
cd mcp_ev_assistant_server
2. 设置虚拟环境(推荐)
python -m venv .venv
source .venv/bin/activate # On Linux/Mac
# or
.venv\\Scripts\\activate # On Windows
3. 安装依赖
uv sync
配置
1. 环境变量
在项目根目录中创建 .env 文件,并添加以下变量:
OPENCHARGE_MAP_API_KEY=your_opencharge_map_api_key
GOOGLE_MAP_API_KEY=your_google_map_api_key
2. 服务配置
创建或更新 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"
}
}
}
}
3. 目录结构
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
API 示例
- 查找充电站:
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"
})
API 参考
工具
-
charge_points_locator
- 用途:查找位置附近的 EV 充电站
- 参数:
address:要搜索的周边位置(字符串,必填)max_distance:搜索半径,单位为千米(整数,必填)socket_type:充电插头类型(字符串,必填)
-
ev_trip_planner
- 用途:规划适合 EV 的路线
- 参数:
user_address:起始位置(字符串,必填)user_destination_address:目的地位置(字符串,必填)socket_type:首选充电插头类型(字符串,必填)
提示词
-
find-charging-stations
- 必填:
location:搜索位置
- 可选:
radius:搜索半径,单位为 kmsocket_type:充电插头类型
- 必填:
-
charging-time-estimate
- 必填:
vehicle_model:EV 品牌和型号current_charge:当前电池电量百分比target_charge:目标电池电量百分比charger_power:充电站功率,单位为 kW
- 必填:
-
route-planner
- 必填:
start_location:起点end_location:目的地vehicle_range:车辆满电续航里程
- 可选:
current_charge:当前电池电量百分比
- 必填:
资源管理
PDF 资源处理
- 自动发现
/Data目录中的 PDF 文件 - 支持通过多种备用方法提取文本
- 处理资源订阅更新
订阅系统
# Subscribe to a resource
await client.subscribe_resource("file:///pdf/ev_manual")
# Unsubscribe from a resource
await client.unsubscribe_resource("file:///pdf/ev_manual")
错误处理
- 全面的错误日志记录
- PDF 处理备用机制
- 使用 Pydantic 架构验证输入
- 优雅处理缺失资源
开发
添加新工具
- 在
core.schemas中定义工具架构 - 在
agentTools中实现工具函数 - 将工具添加到
handle_list_tools() - 在
handle_call_tool()中实现工具处理逻辑
添加新提示词
- 在
PROMPTS中定义提示词结构 - 在
handle_get_prompt()中实现验证 - 添加必要的架构验证
贡献
- Fork 此代码库
- 创建功能分支(
git checkout -b feature/AmazingFeature) - 提交更改(
git commit -m 'Add some AmazingFeature') - 推送到该分支(
git push origin feature/AmazingFeature) - 发起 Pull Request
许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。