Tesla MCP Server

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文件排除.envkeys/但始终要仔细检查
  • 使用安全检查器:在提交之前运行./check-secrets.sh以检测可能泄露的凭据
  • 保护您的私钥:确保keys/目录的内容安全
  • 共享前检查代码:确保任何源文件中均未对凭据进行硬编码

当 fork 或共享此项目时:

  1. 确保.env文件未包含在内
  2. 检查没有提交私钥
  3. 验证.gitignore文件是否正确设置

快速入门

  1. 克隆存储库
    git clone https://github.com/yourusername/tesla-mcp.git cd tesla-mcp
  2. 安装依赖项
    pnpm install
  3. 设置环境变量在根目录下创建.env文件:
    TESLA_CLIENT_ID=your_client_id TESLA_CLIENT_SECRET=your_client_secret TESLA_REFRESH_TOKEN=your_refresh_token
  4. 获取刷新令牌(如果您没有)
    pnpm get-token
  5. 使用特斯拉的 API注册你的应用程序
    pnpm register
    按照脚本提供的说明进行操作
  6. 构建服务器
    pnpm build
  7. 运行服务器
    pnpm start

认证与注册

本项目使用官方 Tesla Fleet API OAuth 2.0 身份验证流程,安全地连接到您的 Tesla 帐户。整个流程包含两个步骤:

  1. 身份验证:通过 OAuth 2.0 流程获取刷新令牌
  2. 注册:通过合作伙伴帐户 API 向特斯拉注册您的应用程序

验证

身份验证要求:

包含的pnpm get-token实用程序通过以下方式简化此过程:

  • 打开浏览器,使用您的 Tesla 帐户凭证登录
  • 执行 OAuth PKCE(代码交换证明密钥)流程
  • 将授权码交换为刷新令牌和访问令牌
  • 将刷新令牌存储在.env文件中

登记

Tesla Fleet API 要求应用程序必须先注册才能访问车辆数据。注册服务器 ( pnpm register ) 可自动执行此过程:

  • 生成所需的 EC 密钥对
  • 使用 ngrok 创建临时公共 URL 用于开发
  • 将公钥托管在所需路径
  • 处理与特斯拉的注册 API 调用

Ngrok 设置(注册所需)

  1. ngrok.com/download安装 ngrok
  2. ngrok.com创建一个免费帐户
  3. ngrok 仪表板获取您的授权令牌
  4. 验证 ngrok:
    ngrok authtoken YOUR_AUTH_TOKEN

可用的 MCP 工具

该服务器提供了 Claude 可以使用的以下工具:

  • wake_up :将特斯拉汽车从睡眠模式唤醒
    • vehicle_id作为必需参数
    • 返回车辆的当前状态
  • refresh_vehicles :刷新特斯拉汽车列表
    • 无需参数
    • 更新车辆内部缓存
  • debug_vehicles :显示有关可用车辆的详细信息
    • 无需参数
    • 返回 ID、vehicle_id、VIN 和状态信息

设置 Claude 以使用 MCP 服务器

  1. 创建 Claude 配置目录:
    mkdir -p ~/Library/Application\ Support/Claude
  2. 创建或编辑配置文件:
    nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
  3. 添加以下配置(根据需要调整路径):
    { "mcpServers": { "tesla-mcp-server": { "command": "/absolute/path/to/tesla-mcp/run-mcp.js" } } }
  4. 使 run-mcp.js 脚本可执行:
    chmod +x run-mcp.js
  5. 完全重启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 端点。

未来的增强功能

未来可能的改进包括:

  • 与特斯拉车辆指令协议集成以获取更多指令
  • 支持更多车辆信息端点
  • 用于配置和监控的用户界面

执照

MIT 许可证

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

连接到 Tesla Fleet API 的模型上下文协议服务器,允许像 Claude 这样的 AI 助手通过自然语言命令控制 Tesla 车辆并访问车辆信息。

  1. Features
    1. Requirements
      1. Security Best Practices
        1. Quick Start
          1. Authentication & Registration
            1. Authentication
            2. Registration
          2. Available MCP Tools
            1. Setting Up Claude to Use the MCP Server
              1. Using the MCP Server with Claude
                1. Troubleshooting
                  1. Environment Variables
                  2. Server Connection
                  3. Vehicle Connectivity
                  4. Debug Mode
                2. Command Line Tools
                  1. API Limitations
                    1. Future Enhancements
                      1. License
                        ID: t0ako8h64j