# 特斯拉MCP控制台
## 基本信息
- Slug: `scald-tesla-mcp`
- Source: modelscope
- Publisher: @scald/tesla-mcp
- Categories: home-automation-and-iot / os-automation
- Hosted: No
- License: MIT License
- Source URL: https://www.modelscope.cn/mcp/servers/@scald/tesla-mcp
## 简介
一个模型上下文协议服务器，连接到特斯拉车队API，允许像克劳德这样的AI助手通过自然语言命令控制特斯拉汽车和访问车辆信息。
## 安装提示

```bash
git clone https://github.com/yourusername/tesla-mcp.git cd tesla-mcp
```

## MCP Server 详情

# Tesla MCP 服务器

一个连接到 Tesla 车队 API 的模型上下文协议 (MCP) 服务器，允许你使用 Claude 和其他支持 MCP 的 AI 助手来控制你的特斯拉车辆。

<a href="https://glama.ai/mcp/servers/t0ako8h64j">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/t0ako8h64j/badge" alt="Tesla Server MCP 服务器" />
</a>

## 功能

- **唤醒车辆**：从睡眠模式中唤醒你的特斯拉
- **车辆信息**：获取关于你的特斯拉车辆的详细信息
- **实时更新**：按需刷新车辆数据
- **调试工具**：访问详细的车辆信息以帮助故障排除

## 要求

- Node.js 18+
- pnpm（推荐）或 npm
- 至少有一辆车的特斯拉账户
- 特斯拉 API 凭证（客户端 ID 和客户端密钥）
- Ngrok（用于开发和注册）

## 安全最佳实践

该项目处理敏感的特斯拉 API 凭证。请遵循以下安全做法：

- **永远不要提交凭证**：`.gitignore` 文件已排除 `.env` 和 `keys/` 目录，但务必再次检查
- **使用安全检查器**：在提交前运行 `./check-secrets.sh` 以检测潜在泄露的凭证
- **保护你的私钥**：确保 `keys/` 目录内容的安全
- **分享前审查代码**：确保没有任何源文件中硬编码了凭证

当分叉或共享此项目时：

1. 确保不包含 `.env` 文件
2. 检查没有提交任何私钥
3. 验证 `.gitignore` 文件是否正确设置

## 快速开始

1. **克隆仓库**

   ```bash
   git clone https://github.com/yourusername/tesla-mcp.git
   cd tesla-mcp
   ```

2. **安装依赖**

   ```bash
   pnpm install
   ```

3. **设置环境变量**
   在根目录下创建一个 `.env` 文件：

   ```
   TESLA_CLIENT_ID=your_client_id
   TESLA_CLIENT_SECRET=your_client_secret
   TESLA_REFRESH_TOKEN=your_refresh_token
   ```

4. **获取刷新令牌**（如果你还没有的话）

   ```bash
   pnpm get-token
   ```

5. **通过特斯拉的 API 注册你的应用程序**

   ```bash
   pnpm register
   ```

   按照脚本提供的说明操作

6. **构建服务器**

   ```bash
   pnpm build
   ```

7. **运行服务器**
   ```bash
   pnpm start
   ```

## 认证与注册

该项目使用官方的特斯拉车队 API OAuth 2.0 认证流程安全地连接到你的特斯拉账户。整个过程涉及两个步骤：

1. **认证**：通过 OAuth 2.0 流程获得刷新令牌
2. **注册**：通过合作伙伴账户 API 将你的应用注册到特斯拉

### 认证

认证需要：

- 来自 [特斯拉开发者门户](https://developer.tesla.com/) 的客户端 ID 和客户端密钥
- 通过 OAuth 2.0 授权码流获得的刷新令牌

随附的 `pnpm get-token` 工具简化了这一过程：

- 为您打开浏览器以便使用您的 Tesla 账户凭据登录
- 执行 OAuth PKCE（Proof Key for Code Exchange）流程
- 用授权码交换刷新令牌和访问令牌
- 将刷新令牌存储在您的 `.env` 文件中

### 注册

Tesla Fleet API 要求应用程序在访问车辆数据之前进行注册。注册服务器 (`pnpm register`) 自动化了这一过程：

- 生成所需的 EC 密钥对
- 使用 ngrok 创建一个临时的公共 URL 用于开发
- 在所需路径托管公钥
- 处理与 Tesla 的注册 API 调用

#### Ngrok 设置（注册必需）

1. 从 [ngrok.com/download](https://ngrok.com/download) 安装 ngrok
2. 在 [ngrok.com](https://ngrok.com/) 创建一个免费账户
3. 从 [ngrok 控制台](https://dashboard.ngrok.com/get-started/your-authtoken) 获取您的认证令牌
4. 认证 ngrok：
   ```bash
   ngrok authtoken YOUR_AUTH_TOKEN
   ```

## 可用的 MCP 工具

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

- **`wake_up`**: 从睡眠模式唤醒特斯拉车辆

  - 需要 `vehicle_id` 作为必需参数
  - 返回车辆的当前状态

- **`refresh_vehicles`**: 刷新特斯拉车辆列表

  - 不需要参数
  - 更新内部车辆缓存

- **`debug_vehicles`**: 显示有关可用车辆的详细信息
  - 不需要参数
  - 返回 ID、vehicle_id、VIN 和状态信息

## 设置 Claude 以使用 MCP 服务器

1. 创建 Claude 配置目录：

   ```bash
   mkdir -p ~/Library/Application\ Support/Claude
   ```

2. 创建或编辑配置文件：

   ```bash
   nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
   ```

3. 添加以下配置（根据需要调整路径）：

   ```json
   {
     "mcpServers": {
       "tesla-mcp-server": {
         "command": "/absolute/path/to/tesla-mcp/run-mcp.js"
       }
     }
   }
   ```

4. 使 run-mcp.js 脚本可执行：

   ```bash
   chmod +x run-mcp.js
   ```

5. 完全重启 Claude

## 使用 MCP 服务器与 Claude

一旦服务器运行并且 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`: 从 Tesla 获取刷新令牌
- `pnpm test-api`: 测试与 Tesla API 的连接
- `pnpm inspector`: 使用 MCP Inspector 运行服务器以进行调试

## API 限制

截至 2023-10-09，Tesla 已废弃其 REST API 中的许多车辆命令端点。现在像鸣笛这样的命令需要使用 [Tesla Vehicle Command Protocol](https://github.com/teslamotors/vehicle-command)，而不是 REST API。此 MCP 服务器目前仅支持仍然可用的 REST API 端点。

## 未来增强

可能的未来改进包括：

- 与 Tesla 的 Vehicle Command Protocol 集成以支持更多命令
- 支持更多的车辆信息端点
- 用于配置和监控的用户界面

## 许可证

[MIT 许可证](LICENSE)

