关于 mcp-tesla
mcp-tesla 将 Tesla Fleet API 和 TeslaMate API 封装为 MCP 服务,供 AI 助手访问车辆、充电及能源数据与控制功能。它还提供生成式仪表盘工具和分析工作流技能。
主要功能
- 01车辆状态与控制
- 02充电和 Powerwall、太阳能功能
- 03导航与安全控制
- 04TeslaMate 行程和能耗分析
- 05生成式图表与分析工作流
适用场景
- 01查询车辆状态并控制空调或车锁
- 02分析充电费用与行驶能耗
- 03查看太阳能和 Powerwall 状态
- 04生成车辆数据仪表盘
MCP 相关
服务为 Tesla Fleet API 提供 98 个 MCP 工具,为 TeslaMate API 提供 9 个工具,另有生成式 UI 工具和技能。MCP 客户端可通过托管端点连接,并使用 OAuth 或 API 令牌认证。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.myteslamate.com/mcpclaude mcp add --transport http jlestel-mcp-tesla https://mcp.myteslamate.com/mcp{"mcpServers":{"jlestel-mcp-tesla":{"type":"http","url":"https://mcp.myteslamate.com/mcp"}}}在 Cursor 中打开{"servers":{"jlestel-mcp-tesla":{"type":"http","url":"https://mcp.myteslamate.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"jlestel-mcp-tesla":{"type":"http","url":"https://mcp.myteslamate.com/mcp"}}}{"mcpServers":{"jlestel-mcp-tesla":{"serverUrl":"https://mcp.myteslamate.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Tesla MCP Server:https://mcp.myteslamate.com/mcp
此仓库提供一个 Model Context Protocol 服务,可同时封装 Tesla Fleet API 和 TeslaMate API。它包含车辆端点、车辆指令、能源端点(Powerwall/Solar)和充电端点。该实现采用模块化设计,功能齐全,为 Tesla Fleet API 提供 98 个 MCP 工具,为 TeslaMate API 提供 9 个 MCP 工具。
✨ 你可以做什么
这不只是远程控制,更是与你的整个 Tesla 生态系统对话的界面。直接向 AI 描述你的使用需求——用自然语言说出你想做什么,让它决定调用哪些工具、以什么顺序调用,以及使用哪些参数。无需打开应用,也无需浏览菜单。
⚡ 能源优化
“我的 Powerwall 电量是 40%。现在该给车充电,还是等今天下午太阳能发电?”
“分析过去 30 天的能源数据——我在夜间付费充电,却把电力输送到电网,这样会亏钱吗?”
“将 Powerwall 备用电量设为 20%,并安排车辆在凌晨 2 点到 6 点以 16A 充电。”
AI 可以交叉参考你的太阳能发电量、Powerwall 状态、电网电价和车辆电池电量,给出建议并立即执行。
🚗 智能车辆管理
“我下周四要开车去 Lyon。根据我平时的能耗,需要中途充电吗?帮我找沿途最合适的 Supercharger。”
“比较我本月和上个月的能源消耗,有什么变化?”
“每个工作日早上 7:45 预先调节车内温度,并将充电上限恢复到 80%——这次行程后目前还是 100%。”
📊 数据与洞察(使用 TeslaMate API)
“过去 3 个月我的平均 km/kWh 是多少?情况是不是越来越差?”
“显示我今年最贵的充电记录,以及充电地点。”
“每周车辆在空调运行状态下停放多少小时?能源成本是多少?”
🔐 安全与安心
“我的车锁好了吗?哨兵模式开着吗?我忘了在登机前检查。”
“我的车停在市中心。开启哨兵模式,并把当前位置发给我。”
🎨 生成式 UI — 按需创建自定义仪表板
除了预置小组件,服务还提供 生成式 UI 功能,让 AI 能够即时构建交互式 Prefab UI 组件,用图表、表格和指标卡片作答,而不只是输出文本。
“用柱状图显示我上个月各地点的充电费用。”
“为这辆车创建一个仪表板:当前 SoC、最近 7 次行程和电池健康度衰减情况。”
“用两张并排的指标卡片比较我今年冬天和去年夏天的能效。”
AI 使用 generative_generate_prefab_ui 在沙箱中编写 Python 代码(服务端使用 Pyodide + Deno);生成的小组件会通过 Skybridge-mime iframe 直接呈现在聊天中——你无需编写模板,也无需额外往返请求。配套的 generative_search_prefab_components 查询工具可确保 LLM 正确使用组件签名。
Tesla Fleet API 和 TeslaMate 用户都可以使用此功能——同一个生成式工具可通过任一订阅启用。
Skills — 预设分析工作流
服务还附带 MCP Skills:LLM 会按需读取的 Markdown 工作流,用于串联工具并生成连贯的回答。首个可用的 Skill 是 drive-efficiency-coach:
“运行过去 30 天的驾驶能效教练,并以报告形式展示。”
此 Skill 会引导 AI 获取你的 TeslaMate 行程数据、计算 Wh/km 百分位数、找出异常值、交叉参考速度/温度/行程长度,并生成一份生成式 UI 报告(指标卡片 + 异常值表格 + 1–3 条基于你自身数据的可执行驾驶建议)。
🤝 贡献一项技能
技能是扩展此服务最简单的方式,无需修改 Python。欢迎提交拉取请求——在 tesla_mcp/skills/ 下添加一个新目录,SkillsDirectoryProvider 会自动发现它。
一个优秀的技能应当:
- 目标明确——出色地回答一个具体问题,而不是试图包办一切(例如,“按地点汇总一段时间内的充电费用” 就比 “管理我的充电” 更好)。
- 了解工具——指出要调用的确切 MCP 工具(
teslamate_get_car_drives、energy_live_status等)及正确参数。 - 以数字为依据——指导/洞察步骤应引用从用户自身数据中得出的数字,而不是泛泛而谈。
- 适时可视化——分析/报告结束时使用
generative_generate_prefab_ui生成渲染结果;一次性问题则使用纯文本。 - 如实说明注意事项——指出 LLM 应处理的单位歧义、数据缺失和边缘情况。
最简目录结构:
tesla_mcp/skills/your-skill-name/
└── SKILL.md
SKILL.md 以 YAML frontmatter(name、description)开头,后接工作流。可参考 drive-efficiency-coach/SKILL.md。
等待作者认领的想法:
charging-cost-breakdown— 按地点汇总上个月的充电记录,并显示每 100 公里的费用weekly-tesla-digest— 将驾驶记录、充电记录、电池快照和软件更新整理成每周一早上的电子邮件风格报告range-anxiety-checker— 给定目的地后,交叉参考 SoC、天气、海拔和近期能耗效率,提示是否需要停车,或让用户放心home-charging-window-finder— 根据分时用电设置和近期充电记录,找出今晚最便宜的 4 小时充电时段
可用功能(Tesla Fleet API 的 98 个工具 + TeslaMate API 的 9 个工具 + 2 个 Generative UI 工具 + 技能):
- 车辆控制:锁定/解锁、空调、后备箱、车窗、车灯、喇叭
- 充电:开始/停止、设置限值、安排时间、充电电流、充电历史
- Powerwall 和太阳能:实时状态、能源历史、备用电量、风暴模式、电网输入/输出、分时用电设置
- 导航:发送目的地、查找附近的 Supercharger
- 安全:哨兵模式、代客泊车模式、速度限制、驾驶 PIN 码
- 数据与分析:车辆数据、行程历史、驾驶统计 (TeslaMate API)
- 生成式 UI:按需生成 Prefab 仪表板(图表、指标、表格),由 AI 在沙盒化 Pyodide 运行时中创建
- 技能:预先设计的分析工作流(例如
drive-efficiency-coach),AI 会按需读取这些工作流,将多个工具调用串联成连贯的回答
🔐 一键 SSO — 使用 Tesla 账户连接
托管服务通过 Tesla 官方授权服务器支持 OAuth 2.0 单点登录。兼容的客户端(ChatGPT、Claude.ai、VS Code 等)会触发自动登录流程——无需复制粘贴令牌。
MCP server URL: https://mcp.myteslamate.com/mcp
服务会将 OAuth 流程代理至
auth.tesla.com,然后自动将你的 Tesla 令牌交换为 MyTeslaMate 令牌。你的 Tesla 凭据绝不会传到此服务。
🤖 在 ChatGPT 上设置(Apps / MCP Connector)
ChatGPT 通过 Settings → Apps 支持原生 MCP 连接器。
- 在 chat.openai.com 中,打开 Settings → Apps。
- 点击 Create app。
- 输入 MCP 服务 URL:
https://mcp.myteslamate.com/mcp - ChatGPT 会自动发现 OAuth 元数据,并提示你连接。
- 使用 Tesla 账户登录——授权过程会自动完成。
- 连接器会显示在 Enabled apps 列表中,并可在所有聊天中使用。
🧠 在 Claude.ai 上设置(MCP 连接器)
- 打开 claude.ai → Settings → Connectors。
- 点击 Add custom connector。
- 输入名称(例如
Tesla)和 MCP 服务 URL:https://mcp.myteslamate.com/mcp - 点击 Add — Claude 将自动发现 OAuth 元数据并显示 Connect 按钮。
- 点击 Connect — 系统会将你重定向到 Tesla 登录页面。
- 授权后,Claude 即可使用所有 Tesla MCP 工具。
说明: 基于 OAuth 的 SSO 需要 MyTeslaMate 账户。服务会验证你的 Tesla 令牌,并自动将其关联到你的 MTM 订阅。
🤖 Claude Code 技能
此 MCP 服务的 Claude Code 技能可在 myteslamate/tesla-skills 中获取,可直接使用。
只需一步即可安装 /tesla 斜杠命令:
然后在 Claude Code 中:
/tesla what is my battery level?
/tesla lock my car
/tesla how much did I charge last month?
🚀 快速开始 - 在 VS Code、Claude Desktop 等工具中直接使用
无需安装! 直接使用托管的 MCP 服务。提供两种身份验证方式:
选项 A — SSO(推荐用于 Claude.ai 和 ChatGPT)
只需提供服务 URL,客户端就会自动处理 OAuth 流程(请参阅上述章节)。
选项 B — 手动令牌(VS Code、Cursor、Claude Desktop)
对于不支持 OAuth 的客户端,请直接在 Authorization 标头中使用你的 MyTeslaMate API 令牌。
适用于 VS Code / Cursor(搭配 MCP 扩展)及其他 MCP 客户端
将两个端点都添加到 .vscode/mcp.json 配置中,以选择你偏好的集成方式:
{
"servers": {
"tesla": {
"type": "http",
"url": "https://mcp.myteslamate.com/mcp"
}
}
}
- 使用
tesla_fleet_api直接访问 Tesla 官方 Fleet API。 - 使用
teslamate通过 TeslaMate API 进行集成。
适用于 Claude Desktop
在 MCP Connector 配置中添加端点,使用与上文相同的 URL 和标头:
claude mcp add --transport http tesla-api "https://mcp.myteslamate.com/mcp"
根据你的身份验证方式和 API 偏好选择服务。
🔑 获取令牌(仅限手动模式)
- 访问 MyTeslaMate.com
- 使用你的 Tesla 账户登录
- 前往控制面板中的 API 部分
- 复制你的个人 API 令牌
- 在 MCP 配置中使用该令牌
🔧 自托管(高级)
如果你希望运行自己的实例,此代码库也支持 TeslaMate API 和 Tesla Fleet API(需要 Tesla 开发者账户并正确注册 Fleet API)。
功能
tesla_mcp下的模块化软件包,包含可复用的TeslaClient。- 车辆端点(29 个只读端点):
- 车辆核心信息:
GET /api/1/vehicles- 列出车辆GET /api/1/vehicles/{vehicle_tag}- 获取车辆元数据GET /api/1/vehicles/{vehicle_tag}/vehicle_data- 获取车辆实时数据POST /api/1/vehicles/{vehicle_tag}/wake_up- 唤醒休眠中的车辆POST /api/1/vehicles/fleet_status- 车队状态GET /api/1/vehicles/{vehicle_tag}/mobile_enabled- 检查移动端访问权限GET /api/1/vehicles/{vehicle_tag}/nearby_charging_sites- 附近的充电站GET /api/1/vehicles/{vehicle_tag}/service_data- 维修信息GET /api/1/vehicles/{vehicle_tag}/release_notes- 固件发行说明GET /api/1/vehicles/{vehicle_tag}/recent_alerts- 最新警报GET /api/1/dx/vehicles/options?vin={vin}- 车辆选项GET /api/1/dx/vehicles/upgrades/eligibility?vin={vin}- 符合条件的升级GET /api/1/dx/vehicles/subscriptions/eligibility?vin={vin}- 符合条件的订阅
- 驾驶员与共享(6 个端点):
GET /api/1/vehicles/{vehicle_tag}/drivers- 列出获准的驾驶员(仅限车主)DELETE /api/1/vehicles/{vehicle_tag}/drivers- 移除驾驶员访问权限GET /api/1/vehicles/{vehicle_tag}/invitations- 列出有效的共享邀请(分页)POST /api/1/vehicles/{vehicle_tag}/invitations- 创建共享邀请(24 小时后过期,仅可使用一次)POST /api/1/invitations/redeem- 兑换共享邀请POST /api/1/vehicles/{vehicle_tag}/invitations/{id}/revoke- 撤销共享邀请
- 车队遥测(4 个端点):
GET /api/1/vehicles/{vehicle_tag}/fleet_telemetry_config- 获取车队遥测配置POST /api/1/vehicles/fleet_telemetry_config- 配置可自托管的 fleet-telemetry 服务DELETE /api/1/vehicles/{vehicle_tag}/fleet_telemetry_config- 移除车队遥测配置GET /api/1/vehicles/{vehicle_tag}/fleet_telemetry_errors- 最新车队遥测错误
- 推送通知订阅(4 个端点):
GET /api/1/subscriptions- 获取移动设备的订阅POST /api/1/subscriptions- 设置移动设备的订阅GET /api/1/vehicle_subscriptions- 获取车辆订阅POST /api/1/vehicle_subscriptions- 设置车辆订阅
- 保修与签名命令(2 个端点):
GET /api/1/dx/warranty/details?vin={vin}- 获取保修信息POST /api/1/vehicles/{vehicle_tag}/signed_command- 执行签名命令(Tesla Vehicle Command Protocol)
- 车辆核心信息:
- 车辆命令(64 个控制端点):
- 车门与访问:door_lock、door_unlock、actuate_trunk
- 空调:auto_conditioning_start/stop、set_temps、set_climate_keeper_mode、set_bioweapon_mode、set_cabin_overheat_protection、set_cop_temp、set_preconditioning_max
- 座椅与方向盘:remote_seat_heater_request、remote_seat_cooler_request、remote_auto_seat_climate_request、remote_steering_wheel_heater_request、remote_steering_wheel_heat_level_request、remote_auto_steering_wheel_heat_climate_request
- 充电:charge_start、charge_stop、charge_port_door_open/close、set_charge_limit、charge_standard、charge_max_range、set_charging_amps、set_scheduled_charging、add/remove_charge_schedule、add/remove_precondition_schedule
- 车窗与天窗:window_control、sun_roof_control
- 车灯与喇叭:flash_lights、honk_horn
- 媒体:adjust_volume、media_toggle_playback、media_next/prev_track、media_next/prev_fav、media_volume_down
- 导航:navigation_request、navigation_gps_request、navigation_sc_request
- 安全:set_sentry_mode、set_valet_mode、reset_valet_pin、speed_limit_set_limit、speed_limit_activate/deactivate/clear_pin、speed_limit_clear_pin_admin、set_pin_to_drive、reset_pin_to_drive_pin、clear_pin_to_drive_admin
- 软件:schedule_software_update、cancel_software_update
- 其他:remote_start_drive、trigger_homelink、remote_boombox、set_vehicle_name、guest_mode、erase_user_data
- 能源端点(12 个 Powerwall/Solar 控制端点):
- 信息:energy_products(列出所有产品)、energy_site_info(站点配置)、energy_live_status(实时电力/能源数据)
- 历史记录:energy_history(随时间变化的能源测量数据)、energy_backup_history(离网事件)、energy_charge_history(Wall Connector 使用情况)
- 控制:energy_operation(设置模式:autonomous/self_consumption)、energy_backup(设置备用电量百分比)、energy_off_grid_vehicle_charging_reserve(停电期间为电动汽车充电预留电量)
- 电网设置:energy_storm_mode(启用/禁用风暴监控)、energy_grid_import_export(控制从电网充电/向电网输电)、energy_time_of_use_settings(配置公用事业分时电价计划)
- 集中处理错误并提供基本日志记录,让 MCP 客户端能够显示实用的 诊断信息。
配置
API 端点配置
使用 TESLA_BASE_URL 环境变量配置 Tesla API 基础 URL:
MyTeslaMate API(默认)
# No configuration needed - uses default
# Or explicitly set:
export TESLA_BASE_URL=https://api.myteslamate.com
Tesla Fleet API(官方)
选择你所在地区的端点:
# North America, Asia-Pacific (excluding China)
export TESLA_BASE_URL=https://fleet-api.prd.na.vn.cloud.tesla.com
# Europe, Middle East, Africa
export TESLA_BASE_URL=https://fleet-api.prd.eu.vn.cloud.tesla.com
# China
export TESLA_BASE_URL=https://fleet-api.prd.cn.vn.cloud.tesla.cn
注意:使用官方 Tesla Fleet API 时,请确保你已具备:
- 已注册的 Tesla Developer Account
- 适当的 Fleet API 访问权限
- 有效的 OAuth 2.0 bearer token
安装
安装一次 Python 依赖:
pip install -r requirements.txt
运行 MCP 服务
你可以通过多种方式启动服务:
选项 1:使用 uvicorn(推荐)
uvicorn tesla_mcp.app:app --host 0.0.0.0 --port 8000 --reload
选项 2:Docker compose 方式
make up
选项 3:旧版方式
python server.py
服务将通过 HTTP Streaming 在 http://0.0.0.0:8084 上启动。连接兼容 MCP 的
客户端(例如 Cursor,或安装了 MCP 扩展的 VS Code),并配置一个指向此端点的服务
条目。
使用示例
使用 MyTeslaMate 快速开始
# 1. Start the server (uses MyTeslaMate API by default)
uvicorn tesla_mcp.app:app --host 0.0.0.0 --port 8000
# 2. Configure your MCP client with:
# URL: http://localhost:8000/sse
# Authorization: Bearer YOUR_MYTESLAMATE_TOKEN
使用 Tesla Fleet API(官方)
# 1. Set your regional endpoint
export TESLA_BASE_URL=https://fleet-api.prd.na.vn.cloud.tesla.com
# 2. Start the server
uvicorn tesla_mcp.app:app --host 0.0.0.0 --port 8000
# 3. Configure your MCP client with:
# URL: http://localhost:8000/sse
# Authorization: Bearer YOUR_TESLA_FLEET_TOKEN
Docker 用法
# Build the image
docker build -t tesla-mcp .
# Run with MyTeslaMate (default)
docker run -p 8000:8000 tesla-mcp
# Run with Tesla Fleet API
docker run -p 8000:8000 -e TESLA_BASE_URL=https://fleet-api.prd.na.vn.cloud.tesla.com tesla-mcp
添加新模块
- 在
tesla_mcp/modules/下创建一个继承自TeslaModule的文件。 - 在
tesla_mcp/modules/__init__.py中注册该模块。 - 在
server.py中公开新的 MCP 工具,并将调用委托给模块方法。
这种结构使 MCP 层保持精简,同时将所有 Tesla Fleet API 和
TeslaMate API 逻辑集中在 tesla_mcp 包中。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。