mcpField
M
mcp-tesla

mcp-tesla

远程服务
github.com/MyTeslaMate地图与出行517 周前更新
代码仓库

关于 mcp-tesla

mcp-tesla 将 Tesla Fleet API 和 TeslaMate API 封装为 MCP 服务,供 AI 助手访问车辆、充电及能源数据与控制功能。它还提供生成式仪表盘工具和分析工作流技能。

主要功能

  1. 01车辆状态与控制
  2. 02充电和 Powerwall、太阳能功能
  3. 03导航与安全控制
  4. 04TeslaMate 行程和能耗分析
  5. 05生成式图表与分析工作流

适用场景

  1. 01查询车辆状态并控制空调或车锁
  2. 02分析充电费用与行驶能耗
  3. 03查看太阳能和 Powerwall 状态
  4. 04生成车辆数据仪表盘

MCP 相关

服务为 Tesla Fleet API 提供 98 个 MCP 工具,为 TeslaMate API 提供 9 个工具,另有生成式 UI 工具和技能。MCP 客户端可通过托管端点连接,并使用 OAuth 或 API 令牌认证。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.myteslamate.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;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 会自动发现它。

一个优秀的技能应当:

  1. 目标明确——出色地回答一个具体问题,而不是试图包办一切(例如,“按地点汇总一段时间内的充电费用” 就比 “管理我的充电” 更好)。
  2. 了解工具——指出要调用的确切 MCP 工具(teslamate_get_car_drives、energy_live_status 等)及正确参数。
  3. 以数字为依据——指导/洞察步骤应引用从用户自身数据中得出的数字,而不是泛泛而谈。
  4. 适时可视化——分析/报告结束时使用 generative_generate_prefab_ui 生成渲染结果;一次性问题则使用纯文本。
  5. 如实说明注意事项——指出 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 连接器。

  1. 在 chat.openai.com 中,打开 Settings → Apps。
  2. 点击 Create app。
  3. 输入 MCP 服务 URL:
    https://mcp.myteslamate.com/mcp
    
  4. ChatGPT 会自动发现 OAuth 元数据,并提示你连接。
  5. 使用 Tesla 账户登录——授权过程会自动完成。
  6. 连接器会显示在 Enabled apps 列表中,并可在所有聊天中使用。

🧠 在 Claude.ai 上设置(MCP 连接器)
  1. 打开 claude.ai → Settings → Connectors。
  2. 点击 Add custom connector。
  3. 输入名称(例如 Tesla)和 MCP 服务 URL:
    https://mcp.myteslamate.com/mcp
    
  4. 点击 Add — Claude 将自动发现 OAuth 元数据并显示 Connect 按钮。
  5. 点击 Connect — 系统会将你重定向到 Tesla 登录页面。
  6. 授权后,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 偏好选择服务。

🔑 获取令牌(仅限手动模式)
  1. 访问 MyTeslaMate.com
  2. 使用你的 Tesla 账户登录
  3. 前往控制面板中的 API 部分
  4. 复制你的个人 API 令牌
  5. 在 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 包中。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。