特斯拉车辆与能源管理系统

一个整合Tesla车辆控制、能源管理(Powerwall/太阳能)及数据分析的服务器,支持通过自然语言交互和AI生成UI组件进行操作。

  • by MyTeslaMate
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 MyTeslaMate/mcp-tesla

使用说明

特斯拉MCP服务器:https://mcp.myteslamate.com/mcp

此存储库提供 模型上下文协议 服务器,用于包装特斯拉车队API和TeslaMate API。它包括车辆端点、车辆命令、能源端点(Powerwall/Solar)和充电端点。该实现是模块化的,功能齐全 98个MCP工具 对于特斯拉车队API和 9个MCP工具 用于TeslaMate API。


✨ 你能做什么

这不仅仅是远程控制,它是整个特斯拉生态系统的对话界面。 直接向您的AI表达您的用例 --用通俗易懂的语言描述你想要什么,让它弄清楚要调用哪些工具,以什么顺序,用什么参数。没有要打开的应用程序,也没有要导航的菜单。

⚡ 能量优化

“我的Powerwall是40%。我应该现在给车充电,还是等到今天下午太阳能发电?”

“分析我过去30天的能源数据——我在晚上付费的同时向电网出口是否会亏损?”

“将Powerwall备用储备设置为20%,并安排汽车在凌晨2点至6点16A充电。”

人工智能可以交叉参考您的太阳能产量、Powerwall状态、电网费率和车辆电池电量,为您提供建议,并立即采取行动。

🚗 智能车辆管理

“我下周四有一次去里昂的公路旅行。根据我平时的效率,我需要停下来充电吗?在路上找到最好的增压器。”

“比较一下我这个月和上个月的能耗。有什么变化?”

“每个工作日早上7:45对汽车进行预处理,并将充电限制重新设置为80%——目前从旅行开始,充电限制为100%。”

📊 数据与见解(使用TeslaMate API)

“过去3个月我的平均公里/千瓦时是多少?情况是否越来越糟?”

“给我看看我今年最昂贵的充电时间以及它们发生在哪里。”

“汽车每周在气候条件下行驶多少小时?能源成本是多少?”

🔐 安全与安心

“我的车锁了吗?哨兵模式打开了吗?我忘了在登机前检查。”

“我的车停在市中心。打开哨兵模式,把当前位置发给我。”


🎨 生成式UI——按需定制仪表板

除了预构建的小部件,服务器还公开了 生成式用户界面 因此,人工智能可以动态构建交互式预制UI组件,用图表、表格和度量卡来回答问题,而不仅仅是文本。

“给我一张上个月每个地点的收费柱状图。”

“为这款车构建一个仪表板:当前SoC、最近7次驱动和电池健康状况下降。”

“用两张并排的度量卡比较我今年冬天和去年夏天的效率。”

AI使用 generative_generate_prefab_ui 在沙盒中编写Python代码(服务器上的Pyodide+Deno);生成的小部件通过Skybridge mime iframe直接呈现在您的聊天中——您无需编写模板,也无需额外的往返。同伴 generative_search_prefab_components 查找工具使LLM对组件签名保持诚实。

它同样适用于特斯拉车队API和TeslaMate用户-相同的生成工具由任一订阅提供。

技能——预框架分析工作流程

服务器也发货 MCP技能:markdown工作流——LLM按需读取——将工具链接成连贯的答案。第一个可用的是 drive-efficiency-coach:

“运行过去30天的驾驶效率教练,并将其显示为报告。”

该技能引导AI获取您的TeslaMate驱动器,计算Wh/km百分位数,识别异常值,交叉引用速度/温度/行程长度,并呈现生成UI报告(度量卡+异常值表+1-3个基于您自己的数字的可操作指导见解)。

🤝 贡献一项技能

技能是在不接触Python的情况下扩展此服务器的最简单方法。 欢迎拉取请求 --在下面放置一个新目录 tesla_mcp/skills/ 和 SkillsDirectoryProvider 自动拾取它。

一个好的技能是:

  1. 特定的 --很好地回答一个具体问题,而不是试图做所有事情(例如。 “按地点汇总一段时间的收费成本” 节拍 “管理我的收费”).
  2. 工具感知 --指定要调用的确切MCP工具(teslamate_get_car_drives, energy_live_status,…)和正确的论点。
  3. 数字锚定 --指导/见解步骤引用了从用户自己的数据中得出的数字,而不是通用的陈词滥调。
  4. 视觉效果有帮助 --以a结尾 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 --使用TOU设置+最近的充电时段,找到今晚最便宜的4小时窗口

可用功能 (特斯拉车队API的98个工具+特斯拉API的9个工具+2个Generative UI工具+技能):

  • 车辆控制:锁定/解锁、空调、行李箱、车窗、车灯、喇叭
  • 充电:启动/停止、设置限制、时间表、充电电流、充电历史
  • Powerwall和太阳能:实时状态、能源历史、备用储备、风暴模式、电网导入/导出、使用时间设置
  • 导航:发送目的地,查找附近的增压器
  • 安全:哨兵模式、代客泊车模式、限速、驾驶密码
  • 数据和分析:车辆数据、行程历史、驾驶统计 (TeslaMate API)
  • 生成式用户界面:由AI在沙盒Pyodide运行时中编写的按需预制仪表板(图表、指标、表格)
  • 技能:预先构建的分析工作流程(例如。 drive-efficiency-coach)人工智能按需读取,将工具链接成连贯的答案

🔐 一键SSO——连接您的特斯拉账户

托管服务器支持 OAuth 2.0单点登录 通过特斯拉的官方授权服务器。兼容的客户端(ChatGPT、Claude.ai、VS Code…)触发自动登录流-- 不需要令牌复制粘贴.

MCP server URL: https://mcp.myteslamate.com/mcp

服务器将OAuth流代理到 auth.tesla.com,然后透明地将您的特斯拉代币兑换为MyTeslaMate代币。你的特斯拉证书永远不会接触到这台服务器。


🤖 ChatGPT(应用程序/MCP连接器)上的设置

ChatGPT通过以下方式支持本机MCP连接器 设置→ Apps.

  1. 在 chat.openai.com,打开 设置 → 应用.
  2. 点击 创建应用程序.
  3. 输入MCP服务器URL:
    https://mcp.myteslamate.com/mcp
    
  4. ChatGPT将自动发现OAuth元数据并提示您 连接.
  5. 使用您的特斯拉帐户登录-授权将自动处理。
  6. 连接器出现在您的 已启用的应用程序 列表,可在您的所有聊天中使用。

🧠 Claude.ai(MCP连接器)上的设置

  1. 打开 claude.ai → 设置 → 连接器.
  2. 点击 添加自定义连接器.
  3. 输入名称(例如。 Tesla)以及MCP服务器URL:
    https://mcp.myteslamate.com/mcp
    
  4. 点击 添加 --Claude将自动发现OAuth元数据并显示 连接 按钮。
  5. 点击 连接 --您将被重定向到特斯拉的登录页面。
  6. 授权后,克劳德将有权访问所有特斯拉MCP工具。

注: 基于OAuth的SSO需要MyTeslaMate帐户。服务器会验证您的Tesla令牌,并自动将其链接到您的MTM订阅。


🤖 Claude代码技能

此MCP服务器的现成克劳德代码技能可在 myteslamate/tesla技能.

安装 /tesla 斜线命令一步到位:

然后在克劳德代码中:

/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代码、光标、克劳德桌面)

对于不支持OAuth的客户端,请直接在 Authorization 头球

用于VS代码/游标(带MCP扩展)和其他MCP客户端

将两个端点添加到您的 .vscode/mcp.json 配置以选择您的首选集成:

{
  "servers": {
    "tesla": {
      "type": "http",
      "url": "https://mcp.myteslamate.com/mcp"
    }
  }
}
  • 使用 tesla_fleet_api 以便直接访问特斯拉的官方车队API。
  • 使用 teslamate 通过TeslaMate API进行集成。

适用于克劳德桌面

在MCP连接器配置中添加具有与上述相同URL和标头的端点。:

claude mcp add --transport http tesla-api "https://mcp.myteslamate.com/mcp"

根据您的身份验证方法和API首选项选择服务器。

🔑 获取令牌(仅手动模式)

  1. 访问 MyTeslaMate.com
  2. 使用您的特斯拉帐户登录
  3. 导航到仪表板中的API部分
  4. 复制您的个人API令牌
  5. 在MCP配置中使用它

🔧 自助主机(高级)

如果您更喜欢运行自己的实例,此存储库还支持TeslaMate API和Tesla Fleet API(需要特斯拉开发者帐户和正确的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 -配置自托管车队遥测服务器
      • 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 -执行签名命令(特斯拉车辆指挥协议)
  • 车辆指令 (64个控制端点):
    • 门和通道:门锁、门锁、启动行李箱
    • 气候:自动调节启动/停止、设置温度、设置气候保持器模式、设置生物武器模式、设置舱室过热保护、设置气候温度、设置调节max
    • 座椅和转向:remote_seat_heater_request、remote_seat_coiler_request、remote_auto_seat_climate-request、remote_steering_wheel_heater_request,remote_steeling_wheel_level_request,远程_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/remote_condition_schedule
    • 窗户和天窗:windows_control、sun_roof_control
    • 灯光和喇叭:闪光灯、喇叭
    • 媒体:adjust_volume、media_toggle_playback、media_next/prev_track、media_next/prev_fav、media_volume_down
    • 导航:navigation_request、navigation_gps_request、导航_sc_request
    • 安全:set_sentry_mode、set_valet_mode、reset_valet_pin、speed_limit_set_limit、speed_limit激活/停用/clear_pin、speed-limit_clear_pin_admin、set_pin_to_drive、reset_pin_ti_drive_pin、clear_pin_t0_drive_admin
    • 软件:计划软件更新,取消软件更新
    • 杂项:remote_start_drive、trigger_homelink、remote_boombox、set_vehicle_name、guest_mode、erase_user_data
  • 能源端点 (Powerwall/Solar控制的12个端点):
    • 信息:energy_products(列出所有产品)、energy_site_info(站点配置)、energy-live_status(实时功率/能量数据)
    • 历史:energy_history(随时间变化的能量测量)、energy_backup_history(离网事件)、energe_charge历史(墙壁连接器使用情况)
    • 控制:energy_operation(设置模式:自主/自耗)、energy_backup(设置备用储备%)、energy.off_grid_vehicle_charging_reserve(停电期间电动汽车充电的储备)
    • 网格设置:energy_storm_mode(启用/禁用风暴监视)、energy_grid_import_export(控制电网充电/导出)、energy_time_of_use_settings(配置公用事业费率计划)
  • 充电端点 (收费历史和发票的3个端点):
    • charging_history(带过滤器的分页充电历史)
    • charging_invoice(下载收费活动的PDF发票)
    • charging_sessions(包含定价和能源数据的会话信息-仅限企业账户)
  • 集中错误处理和基本日志记录,使MCP客户端显得有用 诊断。

配置

API端点配置

使用 TESLA_BASE_URL 环境变量:

对于MyTeslaMate API(默认)

# No configuration needed - uses default
# Or explicitly set:
export TESLA_BASE_URL=https://api.myteslamate.com

对于特斯拉车队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

备注:使用官方特斯拉车队API时,请确保您具备:

  • 注册的特斯拉开发者账户
  • 正确的车队API访问权限
  • 有效的OAuth 2.0承载令牌

安装

安装Python依赖项一次:

pip install -r requirements.txt

运行MCP服务器

您可以通过多种方式启动服务器:

选项1:使用uvicorn(推荐)

uvicorn tesla_mcp.app:app --host 0.0.0.0 --port 8000 --reload

选项2:Docker组合方法

make up

选项3:传统方法

python server.py

服务器将在以下时间开始使用HTTP流 http://0.0.0.0:8084.连接兼容MCP的设备 客户端(如带有MCP扩展的Cursor或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

使用特斯拉车队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.
  • 展示内部的新MCP工具 server.py 将其委托给模块方法。

这种结构使MCP层保持较薄,同时集中所有特斯拉车队API 和中的TeslaMate API逻辑 tesla_mcp 包裹。