diff --git a/.claude-plugin/.upstream-base b/.claude-plugin/.upstream-base index d37f0f8a4b..703e568a74 100644 --- a/.claude-plugin/.upstream-base +++ b/.claude-plugin/.upstream-base @@ -1 +1 @@ -bb68f2365eceafa0cb2d253112f675acf5f144cc +2776ddd2355d6d6c8747d3964600f28daf62f049 diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index d7d2a96dde..b69b642c16 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -687,6 +687,11 @@ "grokbot": "0.49.0", "sand": "0.49.0" } + }, + { + "name": "tesla", + "source": "third_party/tesla", + "description": "Read your Tesla cars and energy sites, and send commands you confirm." } ] } diff --git a/third_party/tesla/.cursor-plugin/plugin.json b/third_party/tesla/.cursor-plugin/plugin.json new file mode 100644 index 0000000000..34c366fe57 --- /dev/null +++ b/third_party/tesla/.cursor-plugin/plugin.json @@ -0,0 +1,35 @@ +{ + "name": "tesla", + "displayName": "Tesla", + "version": "1.0.0", + "minClientVersions": { + "cursor": "never", + "grokbot": "0.30.0", + "sand": "0.30.0" + }, + "description": "Read your Tesla cars and energy sites, and send commands you confirm.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://github.com/cursor/plugins/tree/main/third_party/tesla", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/logo.svg", + "keywords": [ + "tesla", + "vehicle", + "car", + "energy", + "powerwall", + "mcp" + ], + "category": "integrations", + "tags": [ + "tesla", + "vehicle", + "energy", + "mcp" + ], + "mcpServers": "./mcp.json" +} diff --git a/third_party/tesla/CHANGELOG.md b/third_party/tesla/CHANGELOG.md new file mode 100644 index 0000000000..840eec7987 --- /dev/null +++ b/third_party/tesla/CHANGELOG.md @@ -0,0 +1,8 @@ +# Changelog + +All notable changes to this plugin will be documented here. + +## 1.0.0 - initial release + +- Logo: Tesla T emblem on a padded white tile. +- Added the `tesla` MCP server pointing at `https://api.cursor.com/rest-mcp/tesla/mcp`. diff --git a/third_party/tesla/LICENSE b/third_party/tesla/LICENSE new file mode 100644 index 0000000000..ca2bba771c --- /dev/null +++ b/third_party/tesla/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Cursor + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/third_party/tesla/README.md b/third_party/tesla/README.md new file mode 100644 index 0000000000..0fdba8fe85 --- /dev/null +++ b/third_party/tesla/README.md @@ -0,0 +1,42 @@ +# Tesla + +Cursor plugin that connects Grok Bot to your [Tesla](https://www.tesla.com) account through Cursor's remote [Model Context Protocol](https://modelcontextprotocol.io/) server. + +Read cars and Powerwall or solar sites, and send commands. Commands that unlock the car, open a closure, start keyless driving, or change backup power ask you before they run. + +## Install + +1. Open **Grok Bot Settings → Plugins**. +2. Search for **Tesla**. +3. Click **Install**, then complete the Tesla sign-in prompt. + +## MCP + +```json +{ + "mcpServers": { + "tesla": { + "type": "http", + "url": "https://api.cursor.com/rest-mcp/tesla/mcp" + } + } +} +``` + +Auth is OAuth 2.0 against Tesla with the scopes `openid`, `offline_access`, `user_data`, `vehicle_device_data`, `vehicle_location`, `vehicle_cmds`, `vehicle_charging_cmds`, `energy_device_data`, and `energy_cmds`. Tesla shows each scope as its own checkbox. Grok Bot prompts for Tesla sign-in when the plugin connects. Accounts on tesla.cn are not supported. + +Commands that reach the car need Cursor's key paired in the Tesla app. `get_vehicle` reports whether it is paired and returns a pairing link when it is not. A sleeping car is not woken by a read. `wake_vehicle` is a separate command, and Tesla bills each wake. Car coordinates come only from `get_vehicle_location`. + +## Tools + +- **Account and cars:** `get_account`, `list_orders`, `list_vehicles`, `get_vehicle`, `get_vehicle_data`, `get_vehicle_location`, `find_nearby_chargers`, `get_recent_alerts`, `get_service_status`, `get_release_notes`, `list_drivers`, `get_vehicle_entitlements` +- **Energy sites:** `list_energy_sites`, `get_energy_site`, `get_energy_history` +- **Commands:** `wake_vehicle`, `navigate_to`, `navigate_to_coordinates`, `navigate_to_supercharger`, `lock_vehicle`, `honk_horn`, `flash_lights`, climate and seat controls, charging and schedules, `control_media`, `set_vehicle_name`, `set_backup_reserve`, `set_energy_operation_mode`, `set_storm_watch`, `set_grid_import_export`, `set_off_grid_ev_reserve` +- **Commands that always ask:** `unlock_vehicle`, `actuate_trunk`, `open_frunk`, `control_windows`, `control_sunroof`, `remote_start_drive`, `set_sentry_mode`, `set_valet_mode`, `set_speed_limit`, `set_pin_to_drive`, `trigger_homelink`, `manage_software_update` + +## Docs + +- Tesla Fleet API: https://developer.tesla.com/docs/fleet-api + +Logo is the Tesla T emblem, placed on a white tile with padding so it reads well in the UI: +https://commons.wikimedia.org/wiki/File:Tesla_T_symbol.svg diff --git a/third_party/tesla/assets/logo.svg b/third_party/tesla/assets/logo.svg new file mode 100644 index 0000000000..6b553f23b7 --- /dev/null +++ b/third_party/tesla/assets/logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/third_party/tesla/mcp.json b/third_party/tesla/mcp.json new file mode 100644 index 0000000000..3c1e0b1e49 --- /dev/null +++ b/third_party/tesla/mcp.json @@ -0,0 +1,8 @@ +{ + "mcpServers": { + "tesla": { + "type": "http", + "url": "https://api.cursor.com/rest-mcp/tesla/mcp" + } + } +}