Tesla MCP Server
一个模型上下文协议(Model Context Protocol)服务器,连接到特斯拉车队API,允许像Claude这样的人工智能助手通过自然语言命令控制特斯拉车辆并访问车辆信息。
README
Tesla MCP 服务器
一个模型上下文协议 (MCP) 服务器,连接到 Tesla Fleet API,允许您使用 Claude 和其他支持 MCP 的 AI 助手来控制您的 Tesla 车辆。
<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 server" /> </a>
功能
- 唤醒车辆: 从睡眠模式唤醒您的 Tesla
- 车辆信息: 获取关于您的 Tesla 车辆的详细信息
- 实时更新: 按需刷新车辆数据
- 调试工具: 访问详细的车辆信息以帮助进行故障排除
要求
- Node.js 18+
- pnpm (首选) 或 npm
- 至少拥有一辆 Tesla 车辆的 Tesla 账户
- Tesla API 凭据 (Client ID 和 Client Secret)
- Ngrok (用于开发和注册)
安全最佳实践
本项目处理敏感的 Tesla API 凭据。请遵循以下安全实践:
- 永远不要提交凭据:
.gitignore文件排除了.env和keys/,但始终要仔细检查 - 使用安全检查器: 在提交之前运行
./check-secrets.sh以检测潜在的泄露凭据 - 保护您的私钥: 确保
keys/目录的内容安全 - 在共享之前审查代码: 确保没有任何凭据硬编码在任何源文件中
在 Fork 或共享本项目时:
- 确保不包含
.env文件 - 检查是否提交了任何私钥
- 验证
.gitignore文件是否已正确设置
快速开始
-
克隆仓库
git clone https://github.com/yourusername/tesla-mcp.git cd tesla-mcp -
安装依赖
pnpm install -
设置环境变量 在根目录中创建一个
.env文件:TESLA_CLIENT_ID=your_client_id TESLA_CLIENT_SECRET=your_client_secret TESLA_REFRESH_TOKEN=your_refresh_token -
获取刷新令牌 (如果您没有)
pnpm get-token -
使用 Tesla 的 API 注册您的应用程序
pnpm register按照脚本提供的说明进行操作
-
构建服务器
pnpm build -
运行服务器
pnpm start
身份验证 & 注册
本项目使用官方 Tesla Fleet API OAuth 2.0 身份验证流程来安全地连接到您的 Tesla 账户。完整的过程包括两个步骤:
- 身份验证: 通过 OAuth 2.0 流程获取刷新令牌
- 注册: 通过 Partner Accounts API 向 Tesla 注册您的应用程序
身份验证
身份验证需要:
- 来自 Tesla Developer Portal 的 Client ID 和 Client Secret
- 通过 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 设置 (注册必需)
- 从 ngrok.com/download 安装 ngrok
- 在 ngrok.com 创建一个免费账户
- 从 ngrok dashboard 获取您的 auth token
- 验证 ngrok:
ngrok authtoken YOUR_AUTH_TOKEN
可用的 MCP 工具
服务器提供以下 Claude 可以使用的工具:
-
wake_up: 从睡眠模式唤醒 Tesla 车辆- 需要
vehicle_id作为必需参数 - 返回车辆的当前状态
- 需要
-
refresh_vehicles: 刷新 Tesla 车辆列表- 无需参数
- 更新车辆的内部缓存
-
debug_vehicles: 显示关于可用车辆的详细信息- 无需参数
- 返回 ID、vehicle_id、VIN 和状态信息
设置 Claude 以使用 MCP 服务器
-
创建 Claude 配置目录:
mkdir -p ~/Library/Application\ Support/Claude -
创建或编辑配置文件:
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json -
添加以下配置(根据需要调整路径):
{ "mcpServers": { "tesla-mcp-server": { "command": "/absolute/path/to/tesla-mcp/run-mcp.js" } } } -
使 run-mcp.js 脚本可执行:
chmod +x run-mcp.js -
完全重启 Claude
使用 Claude 的 MCP 服务器
一旦服务器运行并且 Claude 配置完成,您可以要求 Claude:
- "我有哪些 Tesla 车辆?"
- "你能唤醒我的 Tesla 吗?"
- "显示关于我的 Tesla 车辆的调试信息"
故障排除
如果您遇到问题:
环境变量
- 确保您的
.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 而不是 REST API。此 MCP 服务器目前仅支持仍然可用的 REST API 端点。
未来增强
可能的未来改进包括:
- 与 Tesla 的 Vehicle Command Protocol 集成以获得更多命令
- 支持更多车辆信息端点
- 用于配置和监控的用户界面
许可证
推荐服务器
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
Beamlit MCP Server
一个 MCP 服务器实现,它支持 Beamlit CLI 和 AI 模型之间的无缝集成,并使用模型上下文协议标准。
ThingsPanel MCP
一个集成服务器,将人工智能模型与 ThingsPanel 物联网平台连接起来,使人工智能助手能够通过自然语言与物联网设备交互,以进行设备控制、数据检索和管理操作。
MacOS Clipboard MCP Server
通过 OSAScript 为 AI 助手提供访问 macOS 剪贴板内容的能力,支持文本、图像和二进制数据。
Ollama MCP Server
一个桥梁,能够将 Ollama 的本地 LLM 功能无缝集成到 MCP 驱动的应用程序中,允许用户在本地管理和运行 AI 模型,并提供完整的 API 覆盖。
Android MCP Server
一个服务器,可以通过 ADB 以编程方式控制 Android 设备,提供诸如屏幕截图捕获、UI 布局分析和软件包管理等功能,这些功能可以被像 Claude Desktop 这样的 MCP 客户端访问。
mcp-wsl-exec
一个安全的 MCP 服务器,用于 Windows Linux 子系统环境,通过广泛的验证和保护机制,促进安全的命令执行,并防御诸如 Shell 注入和危险命令等漏洞。
simulator-mcp-server
一个用于控制 iOS 模拟器的 MCP 服务器。
mcp-server-commands
一个用于运行指令的 MCP 服务器。