Tesla Agent Bridge
Connects to Tesla vehicles through Tesla's Fleet API to query vehicle status such as battery, temperature, doors and windows, and to send explicit vehicle commands including climate, seats, windows, locks, trunk, media, charging, and navigation-related actions. It handles OAuth, Tesla vehicle command signing, virtual key pairing, and supports region-specific Tesla configurations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Tesla Agent Bridgeis my Tesla locked right now, and what's the battery level?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Tesla Agent Bridge
把自己的 Tesla 接入聊天 agent、自动化工具或前端应用。统一提供 HTTP / OpenAPI / MCP,可部署在 Cloudflare Workers、Docker 或私人 VPS。
应用代码 MIT 开源;Tesla 协议资源保留 Apache-2.0 许可。本仓库只含通用源码和示例,不含任何车主的生产凭据、车辆记录或私钥。
最简单:把仓库交给 agent
直接把仓库链接发给一个能执行命令、能访问部署环境的 agent,告诉它用什么域名、后端放在哪里、车辆属于哪个地区,让它照着仓库完成配置和部署。可以复制下面这段,改成自己的信息:
请帮我部署这个项目:https://github.com/ASTPoseidon/tesla-agent-bridge
域名:https://tesla.example.com(换成我的域名)
后端位置:Cloudflare Workers(也可改成“我的 VPS,用 Docker”)
车辆地区:中国大陆(也可选北美或欧洲)
先读仓库的 AGENTS.md 和 docs/deployment.md,完成部署及只读验证,
再给我设置页面地址,以及接入聊天 agent 的 HTTP/OpenAPI 或 MCP 配置。
需要我提供 Tesla 应用的 Client ID/Secret 或部署权限时告诉我。
Tesla 账号登录授权和车内虚拟钥匙配对由我自己完成。配置文件、部署命令和接口适配交给 agent 处理即可;你配合提供部署权限、注册 Tesla 开发者应用,最后登录授权并坐进车里配对钥匙。本人操作见完成首次 Tesla 接入,手动部署步骤放在下面供需要时查阅。
Related MCP server: Universal Host Manager MCP
你会得到什么
电量、温度、门窗等车况查询;按需查询位置。
显式唤醒、空调、座椅、车窗、门锁、行李箱、媒体和充电等命令。
服务端车辆指令签名、OAuth 刷新、加密持久化和幂等去重。
网页完成域名注册、账户授权、虚拟钥匙配对引导。
同一套业务核心:CF 使用 Durable Objects;Node/Docker 使用持久化 SQLite。
只读密钥、控车密钥与管理密钥分离。MCP 默认只开放查询。
一个实例对应一个车主账户,可管理该账户已授权的多辆车。Node/Docker 使用单实例,不要将同一 SQLite 数据库用于多个服务进程。
手动部署(可选)
准备:Node.js 22.17+(推荐 24 LTS)、自己的 HTTPS 域名、已开通 Fleet API 的 Tesla 开发者应用(注册方法见完成首次 Tesla 接入),以及用于配对的 Tesla 手机 App。Docker 路线另需 Docker 与 Compose 2.30+。
git clone https://github.com/ASTPoseidon/tesla-agent-bridge.git
cd tesla-agent-bridge
npm ci
cp .env.example .envWindows 可用 Copy-Item .env.example .env。在 .env 填写 APP_ORIGIN、TESLA_REGION、TESLA_CLIENT_ID、TESLA_CLIENT_SECRET,然后:
npm run configure脚本生成本机 .config/ 与 .secrets/,包括车辆 P-256 私钥和三种访问密钥。重复运行保留已有车辆密钥。Tesla client secret 会移入 .secrets/production.json,不会留在公开示例里。
选择一种部署方式:
方式 | 启动命令 | 数据保存 |
Docker + 自动 HTTPS |
|
|
Cloudflare Workers |
| Durable Objects |
本机 / 原生 VPS |
|
|
Docker 前将域名 DNS 指向 VPS,开放 80/443;CF 前确保域名在该 Cloudflare 账户的 Zone 中。原生服务默认监听 127.0.0.1:8787,公网由 HTTPS 反向代理接入。完整部署与自动更新。
完成首次 Tesla 接入
以下以中国大陆车辆(TESLA_REGION=cn)为例。
前提:先注册开发者应用
前往 developer.tesla.cn,登录 Tesla 账号,注册一个应用并开通 Fleet API 所需车辆权限。
Allowed Origin 填
https://你的域名,Redirect URI 填https://你的域名/callback,与部署时的APP_ORIGIN保持一致。取得应用的 Client ID 和 Secret。如果由 agent 协助部署,把这两项和域名交给负责部署的 agent,配置
TESLA_CLIENT_ID、TESLA_CLIENT_SECRET和APP_ORIGIN,再按上面的流程完成部署。Secret 保存在私有配置中,不提交到公开仓库。
部署后:授权账户并配对虚拟钥匙
打开
https://你的域名/setup,从本机.secrets/production.json取 ADMIN_KEY,点击注册应用域名,使 Tesla 能读取已部署的公钥。点击前往 Tesla 官方授权,登录拥有车辆的 Tesla 账号并完成授权;在同一浏览器完成回调,回到设置页确认授权状态。
坐在车里,确认手机已安装并登录 Tesla App;多辆车时先在 App 选择目标车辆。用手机浏览器打开
https://tesla.cn/_ak/你的域名,往下拉,点击 「完成设置」,进入 Tesla App 按提示把虚拟钥匙配对到车上。如果链接直接打开 App,按 App 提示继续即可。链接里的“你的域名”只填主机名,不带https://或/callback。配对完成后查询车辆列表;车辆在线时可用
key_status做只读会话验证。
NA/EU 用户在 developer.tesla.com 注册应用,并使用 /setup 按所选地区生成的授权与配对链接。虚拟钥匙流程参见 Tesla 官方说明。
npm run check
npm run check -- --vehicles第二条命令读取本地只读密钥,只列车辆状态,不会唤醒或控车。/health 正常只代表服务启动;Fleet API 开通、额度/计费、车主授权和车辆配对仍须完成。
给聊天 agent 或前端接入
统一提供地址与调用密钥,无需为每个 agent 重写后端:
接口 | 地址 / 用途 |
HTTP 根地址 |
|
Agent OpenAPI |
|
完整 OpenAPI |
|
MCP Streamable HTTP |
|
本地 MCP stdio |
|
查询使用 READONLY_API_KEY。需要控车时使用 API_KEY;MCP 控车还需设置 MCP_ALLOW_CONTROL=true 后重新配置/部署。日常调用的聊天 agent 只需业务密钥;ADMIN_KEY、Tesla client secret 和车辆私钥用于部署及车主管理,无需作为聊天接口凭据。
示例配置见 HTTP MCP、stdio MCP;可给 agent 读取 通用调用说明。具体客户端的字段名或导入方式由该客户端适配。通用接口文档。
更新和备份
先将源码与部署配置提交到自己的 GitHub,再部署同一提交。日常 CF 更新使用 npm run cf:deploy,不会重新上传 Secrets;Docker 更新使用 docker compose up -d --build。可按部署文档启用测试通过后自动发布 CF 的 Actions;新 Fork 默认只跑验证。
私钥、令牌加密密钥与数据必须留在自己的私有备份中。项目提供跨平台的口令加密备份/恢复工具,详见 备份与恢复。不要将 .secrets/、.data/ 或备份文件提交到公开 GitHub;公开分支不能隔离同仓库里的秘密。
已知边界
命令受车型、固件、地区和 Tesla 权限影响;前备箱不能远程关闭,媒体控制不支持任意点歌。
导航分享按 Tesla 官方要求走 REST 服务;可能返回上游错误,不保证地址一定被车机接收。
HTTP 200 仍要检查
response.result。execution_unknown=true时不能自动生成新幂等键重发。查询不会自动唤醒。提供
cn / na / eu地区配置;NA/EU 的地址和流程按官方文档实现,未做实车验证。测试和容器检查使用模拟凭据,不替代每位用户自己的授权和配对。
开发验证:npm run scan && npm run typecheck && npm test && npm run build。CI 另验证 Docker 镜像、SQLite 重启持久化和 CF 打包。应用不内置大模型或聊天机器人账号,不接管你的聊天记录。
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server wrapping the Tesla Fleet API and TeslaMate API
Control your Tesla - wake it, warm it up, unlock and more. Get your developer token at https://Infoseek.ai/mcp. Also requires your own Tesla developer token which is tied to your car/fleet.
Tesla Fleet API for AI: send navigation destinations, read battery and location, run car commands.
- mytesla.ioOAuthio.mytesla
Control your Tesla from your AI assistant - climate, charging, access, and security.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceExposes authorized ChatGPT, DeepSeek, Kimi, and Grok web sessions to agents as MCP tools, including chat and local file attachments over HTTP or stdio.7MIT
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients such as ChatGPT and Claude to administer Linux or macOS hosts through authenticated Streamable HTTP, including running shell commands, reading and writing files within a workspace, listing directories, and retrieving system metrics.65 PyPI1MIT
- AlicenseNot gradedqualityAmaintenanceConnects ChatGPT and MCP clients to authorized local development environments, enabling secure file access, shell execution, persistent tasks, browser/desktop control, and remote management of projects.19MIT
- AlicenseNot gradedqualityAmaintenanceEnables web-based AI chat clients to securely operate a local computer through an OAuth-gated MCP endpoint, exposing governed tools for files, shell, search, Git, SQLite, browser automation, DevTools, background tasks, localhost services, clipboard, notifications, ports, Postman, and AIObox windows.MIT