local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Connects to the Tesla Fleet API to retrieve vehicle information and control Tesla vehicles, providing functionality to wake up vehicles from sleep mode and get detailed vehicle information
Tesla MCP 服务器
连接到 Tesla Fleet API 的模型上下文协议 (MCP) 服务器,允许您使用 Claude 和其他支持 MCP 的 AI 助手控制您的 Tesla 车辆。
特征
- 唤醒车辆:将您的特斯拉从睡眠模式唤醒
- 车辆信息:获取有关您的特斯拉车辆的详细信息
- 实时更新:按需刷新车辆数据
- 调试工具:访问详细的车辆信息以帮助排除故障
要求
- Node.js 18+
- pnpm(首选)或 npm
- 拥有至少一辆汽车的 Tesla 账户
- Tesla API 凭证(客户端 ID 和客户端密钥)
- Ngrok(用于开发和注册)
安全最佳实践
本项目处理敏感的 Tesla API 凭证。请遵循以下安全措施:
- 永远不要提交凭证:
.gitignore
文件排除.env
和keys/
但始终要仔细检查 - 使用安全检查器:在提交之前运行
./check-secrets.sh
以检测可能泄露的凭据 - 保护您的私钥:确保
keys/
目录的内容安全 - 共享前检查代码:确保任何源文件中均未对凭据进行硬编码
当 fork 或共享此项目时:
- 确保
.env
文件未包含在内 - 检查没有提交私钥
- 验证
.gitignore
文件是否正确设置
快速入门
- 克隆存储库Copy
- 安装依赖项Copy
- 设置环境变量在根目录下创建
.env
文件:Copy - 获取刷新令牌(如果您没有)Copy
- 使用特斯拉的 API注册你的应用程序按照脚本提供的说明进行操作Copy
- 构建服务器Copy
- 运行服务器Copy
认证与注册
本项目使用官方 Tesla Fleet API OAuth 2.0 身份验证流程,安全地连接到您的 Tesla 帐户。整个流程包含两个步骤:
- 身份验证:通过 OAuth 2.0 流程获取刷新令牌
- 注册:通过合作伙伴帐户 API 向特斯拉注册您的应用程序
验证
身份验证要求:
- 来自Tesla 开发者门户的客户端 ID 和客户端密钥
- 通过 OAuth 2.0 授权码流程获取的刷新令牌
包含的pnpm get-token
实用程序通过以下方式简化此过程:
- 打开浏览器,使用您的 Tesla 帐户凭证登录
- 执行 OAuth PKCE(代码交换证明密钥)流程
- 将授权码交换为刷新令牌和访问令牌
- 将刷新令牌存储在
.env
文件中
登记
Tesla Fleet API 要求应用程序必须先注册才能访问车辆数据。注册服务器 ( pnpm register
) 可自动执行此过程:
- 生成所需的 EC 密钥对
- 使用 ngrok 创建临时公共 URL 用于开发
- 将公钥托管在所需路径
- 处理与特斯拉的注册 API 调用
Ngrok 设置(注册所需)
- 从ngrok.com/download安装 ngrok
- 在ngrok.com创建一个免费帐户
- 从ngrok 仪表板获取您的授权令牌
- 验证 ngrok:Copy
可用的 MCP 工具
该服务器提供了 Claude 可以使用的以下工具:
wake_up
:将特斯拉汽车从睡眠模式唤醒- 将
vehicle_id
作为必需参数 - 返回车辆的当前状态
- 将
refresh_vehicles
:刷新特斯拉汽车列表- 无需参数
- 更新车辆内部缓存
debug_vehicles
:显示有关可用车辆的详细信息- 无需参数
- 返回 ID、vehicle_id、VIN 和状态信息
设置 Claude 以使用 MCP 服务器
- 创建 Claude 配置目录:Copy
- 创建或编辑配置文件:Copy
- 添加以下配置(根据需要调整路径):Copy
- 使 run-mcp.js 脚本可执行:Copy
- 完全重启Claude
使用 Claude 的 MCP 服务器
一旦服务器运行并且 Claude 配置完成,您可以要求 Claude 执行以下操作:
- “我有哪些特斯拉汽车?”
- “你能唤醒我的特斯拉吗?”
- “显示有关我的特斯拉车辆的调试信息”
故障排除
如果您遇到问题:
环境变量
- 确保您的
.env
文件包含有效的凭据 - 如果需要,运行
pnpm get-token
来刷新你的令牌
服务器连接
- 检查服务器是否正在运行(
pnpm start
) - 验证 Claude 的配置是否指向正确的文件路径
车辆连接
- 车辆可能处于离线或睡眠状态
- 尝试先使用
wake_up
命令唤醒车辆
调试模式
- 使用
debug_vehicles
命令获取有关车辆的详细信息 - 在运行 MCP 服务器的终端中检查服务器日志
命令行工具
该服务器包含几个有用的脚本:
pnpm build
:编译 TypeScript 代码pnpm start
:使用 run-mcp.js 脚本运行服务器pnpm register
:使用 Tesla 的 API 注册你的应用pnpm get-token
:从特斯拉获取刷新令牌pnpm test-api
:测试与 Tesla API 的连接pnpm inspector
:使用 MCP Inspector 运行服务器进行调试
API 限制
自 2023 年 10 月 9 日起,特斯拉已弃用其 REST API 中的许多车辆命令端点。鸣喇叭等命令现在需要使用特斯拉车辆命令协议 ( VCP),而非 REST API。此 MCP 服务器目前仅支持仍在运行的 REST API 端点。
未来的增强功能
未来可能的改进包括:
- 与特斯拉车辆指令协议集成以获取更多指令
- 支持更多车辆信息端点
- 用于配置和监控的用户界面
执照
You must be authenticated.
连接到 Tesla Fleet API 的模型上下文协议服务器,允许像 Claude 这样的 AI 助手通过自然语言命令控制 Tesla 车辆并访问车辆信息。
- Features
- Requirements
- Security Best Practices
- Quick Start
- Authentication & Registration
- Available MCP Tools
- Setting Up Claude to Use the MCP Server
- Using the MCP Server with Claude
- Troubleshooting
- Command Line Tools
- API Limitations
- Future Enhancements
- License