Skip to main content
Glama
scald
by scald

Tesla MCP 服务器

连接到 Tesla Fleet API 的模型上下文协议 (MCP) 服务器,允许您使用 Claude 和其他支持 MCP 的 AI 助手控制您的 Tesla 车辆。

特征

  • 唤醒车辆:将您的特斯拉从睡眠模式唤醒

  • 车辆信息:获取有关您的特斯拉车辆的详细信息

  • 实时更新:按需刷新车辆数据

  • 调试工具:访问详细的车辆信息以帮助排除故障

Related MCP server: Hass-MCP

要求

  • 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 许可证

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/scald/tesla-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server