diff --git a/.claude-plugin/.upstream-base b/.claude-plugin/.upstream-base index 74f63b41b..08eca1247 100644 --- a/.claude-plugin/.upstream-base +++ b/.claude-plugin/.upstream-base @@ -1 +1 @@ -6e359ce0aba9e927914d8a940510aa2ef66a8f23 +3dbd22ff12742fb28c9700b9760baa29ed41dc13 diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index 507e4d567..501e71648 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -722,6 +722,21 @@ "name": "paypal", "source": "third_party/paypal", "description": "Work with invoices, orders, refunds, subscriptions, disputes, and transactions in PayPal." + }, + { + "name": "engine", + "source": "third_party/engine", + "description": "Search and book hotels, shorten or cancel stays, and check support cases in Engine." + }, + { + "name": "squarespace", + "source": "third_party/squarespace", + "description": "Brainstorm business names and check domain availability, pricing, and checkout links on Squarespace." + }, + { + "name": "runta", + "source": "third_party/runta", + "description": "Create and run persistent agent runtimes, publish ports, and manage egress, checkpoints, and images in Runta." } ] } diff --git a/third_party/engine/.cursor-plugin/plugin.json b/third_party/engine/.cursor-plugin/plugin.json new file mode 100644 index 000000000..726d6711e --- /dev/null +++ b/third_party/engine/.cursor-plugin/plugin.json @@ -0,0 +1,37 @@ +{ + "name": "engine", + "displayName": "Engine", + "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, + "description": "Search and book hotels, shorten or cancel stays, and check support cases in Engine.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://mcp.engine.com/docs/", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/logo.png", + "keywords": [ + "engine", + "hotel engine", + "business travel", + "corporate travel", + "hotels", + "lodging", + "booking", + "travel management", + "support", + "mcp" + ], + "category": "integrations", + "tags": [ + "engine", + "travel", + "booking", + "mcp" + ], + "mcpServers": "./mcp.json" +} diff --git a/third_party/engine/CHANGELOG.md b/third_party/engine/CHANGELOG.md new file mode 100644 index 000000000..0aa0167f6 --- /dev/null +++ b/third_party/engine/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this plugin will be documented here. + +## 1.0.0 — initial release + +- Added the `engine` MCP server pointing at Engine's hosted Streamable HTTP endpoint (`https://mcp.engine.com/mcp`). +- Auth uses OAuth with Engine sign-in (`login.engine.com`, scope `mcp:invoke`). +- Logo: Engine's official app icon, the 256×256 web clip published on engine.com. diff --git a/third_party/engine/LICENSE b/third_party/engine/LICENSE new file mode 100644 index 000000000..ca2bba771 --- /dev/null +++ b/third_party/engine/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/engine/README.md b/third_party/engine/README.md new file mode 100644 index 000000000..e19588c64 --- /dev/null +++ b/third_party/engine/README.md @@ -0,0 +1,58 @@ +# Engine + +Cursor plugin that connects agents to [Engine](https://engine.com) through Engine's official remote [Model Context Protocol](https://modelcontextprotocol.io/) server. + +Find hotels near a place, compare live room rates and refund terms, book with a saved card or your company's direct bill, shorten or cancel a stay, change guest names, and check your support cases. + +## Install + +1. Open **Cursor Settings → Plugins**. +2. Search for **Engine**. +3. Click **Install**, then complete the Engine sign-in prompt. + +Or run `/add-plugin engine` in chat. + +## MCP + +```json +{ + "mcpServers": { + "engine": { + "type": "http", + "url": "https://mcp.engine.com/mcp" + } + } +} +``` + +Auth is OAuth with PKCE through Engine sign-in at `login.engine.com`, with the `mcp:invoke` scope. Each user signs in with their own Engine account, and bookings are made only for that member. + +## What agents can do + +| Area | Tools | +| --- | --- | +| Hotel search | `lodging_resolve_destination`, `lodging_search_hotels`, `lodging_get_room_rates` | +| Booking | `lodging_create_cart`, `lodging_list_payment_methods`, `lodging_book_cart`, `lodging_get_booking_status` | +| Trip changes | `lodging_get_booking`, `lodging_preview_cancellation`, `lodging_submit_cancellation`, `lodging_preview_shortening`, `lodging_submit_shortening`, `lodging_submit_guest_name_change` | +| Support | `support_list_cases`, `support_get_case`, `support_get_case_status`, `support_search_help_center` | +| Account | `lodging_get_current_user` | + +The hosted runtime is the source of truth for tool names and schemas. Engine publishes the full tool reference at https://mcp.engine.com/docs/cursor/. + +## Notes + +- Booking charges a saved card (including Engine X) or your company's direct bill. Engine's tools show the total and cancellation terms and ask for your yes before booking. Approve each booking deliberately. +- Cancelling or shortening a stay is priced as a preview first, and the refund is issued only when you confirm. +- When a booking can't be confirmed, the tools return links to finish or check it in the Engine web app. +- The server covers hotels only. Flights and rental cars booked through Engine aren't available here. + +## Docs + +- Engine MCP tool reference: https://mcp.engine.com/docs/ +- Server URL: https://mcp.engine.com/mcp + +Logo is Engine's official app icon, the 256×256 web clip published on engine.com. + +## License + +MIT diff --git a/third_party/engine/assets/logo.png b/third_party/engine/assets/logo.png new file mode 100644 index 000000000..ca747954c Binary files /dev/null and b/third_party/engine/assets/logo.png differ diff --git a/third_party/engine/mcp.json b/third_party/engine/mcp.json new file mode 100644 index 000000000..e80edc2e1 --- /dev/null +++ b/third_party/engine/mcp.json @@ -0,0 +1,8 @@ +{ + "mcpServers": { + "engine": { + "type": "http", + "url": "https://mcp.engine.com/mcp" + } + } +} diff --git a/third_party/runta/.cursor-plugin/plugin.json b/third_party/runta/.cursor-plugin/plugin.json new file mode 100644 index 000000000..67a04c87a --- /dev/null +++ b/third_party/runta/.cursor-plugin/plugin.json @@ -0,0 +1,37 @@ +{ + "name": "runta", + "displayName": "Runta", + "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, + "description": "Create and run persistent agent runtimes, publish ports, and manage egress, checkpoints, and images in Runta.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://runta.com/docs/integrations/mcp/", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/logo.png", + "keywords": [ + "runta", + "agent runtime", + "persistent runtime", + "sandbox", + "cloud computer", + "checkpoints", + "egress", + "ssh", + "vnc", + "mcp" + ], + "category": "integrations", + "tags": [ + "runta", + "runtime", + "infrastructure", + "mcp" + ], + "mcpServers": "./mcp.json" +} diff --git a/third_party/runta/CHANGELOG.md b/third_party/runta/CHANGELOG.md new file mode 100644 index 000000000..99d25172a --- /dev/null +++ b/third_party/runta/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this plugin will be documented here. + +## 1.0.0 — initial release + +- Added the `runta` MCP server pointing at Runta's hosted Streamable HTTP endpoint (`https://mcp.runta.com/mcp`). +- Auth uses OAuth with Runta sign-in (`api.runta.com`, scopes `runtime:read` and `runtime:manage`). Runta identifies clients with Client ID Metadata Documents instead of dynamic client registration, so there is no client ID or API key to configure. +- Logo: Runta's fox mark, the 256×256 favicon published on runta.com. diff --git a/third_party/runta/LICENSE b/third_party/runta/LICENSE new file mode 100644 index 000000000..ca2bba771 --- /dev/null +++ b/third_party/runta/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/runta/README.md b/third_party/runta/README.md new file mode 100644 index 000000000..eb3ba69b2 --- /dev/null +++ b/third_party/runta/README.md @@ -0,0 +1,66 @@ +# Runta + +Cursor plugin that connects agents to [Runta](https://runta.com) through Runta's official remote [Model Context Protocol](https://modelcontextprotocol.io/) server. + +Create and manage persistent Runta runtimes for AI agents: start, pause, resize, and delete them, run commands, publish ports over HTTPS, set egress policy, take and restore checkpoints, build runtime images, and manage VNC desktop and SSH access. + +## Install + +1. Open **Cursor Settings → Plugins**. +2. Search for **Runta**. +3. Click **Install**, then complete the Runta sign-in prompt. + +Or run `/add-plugin runta` in chat. + +## MCP + +```json +{ + "mcpServers": { + "runta": { + "type": "http", + "url": "https://mcp.runta.com/mcp" + } + } +} +``` + +Auth is OAuth with PKCE through Runta sign-in at `api.runta.com`, with the `runtime:read` and `runtime:manage` scopes. Runta identifies clients with Client ID Metadata Documents instead of dynamic client registration, so there is no client ID, secret, or API key to configure. When you connect, Runta's consent page opens in your browser: check that the client is Cursor, pick the organization, and approve. Tool calls run as you, with your organization role. + +## What agents can do + +| Area | Tools | +| --- | --- | +| Account | `whoami` | +| Runtimes | `list_runtimes`, `get_runtime`, `create_runtime`, `start_runtime`, `stop_runtime`, `pause_runtime`, `resume_runtime`, `resize_runtime`, `set_idle_policy`, `delete_runtime` | +| Commands | `run_command` | +| Published ports | `list_ports`, `publish_port`, `unpublish_port` | +| Egress | `get_egress`, `set_egress_policy`, `set_token_saving` | +| Checkpoints | `list_checkpoints`, `create_checkpoint`, `restore_checkpoint`, `delete_checkpoint` | +| Runtime images | `list_runtime_images`, `build_runtime_image`, `list_runtime_image_builds`, `cancel_runtime_image_build`, `delete_runtime_image` | +| VNC desktop | `get_vnc`, `enable_vnc`, `disable_vnc`, `list_vnc_credentials`, `create_vnc_credential`, `revoke_vnc_credential` | +| SSH access | `list_ssh_keys`, `list_runtime_ssh_keys`, `attach_ssh_key`, `detach_ssh_key` | + +The hosted server is the source of truth for tool names and schemas. Runta publishes the tool reference at https://runta.com/docs/integrations/mcp/. + +## Notes + +- You need a Runta account in an organization. Sign up at https://dashboard.runta.com. +- The server can change and delete data: creating and deleting runtimes, running commands, and restoring checkpoints are all tool calls. Each tool says whether it reads, changes, or deletes, so Cursor can ask before running a change. Approve each one deliberately. +- Changing a runtime that another member owns needs the Owner or Admin role. +- Lifecycle tools return once Runta accepts the request. The agent then checks progress with `get_runtime`, `list_checkpoints`, or `list_runtime_image_builds`. +- `run_command` runs one non-interactive command and returns its output. For an interactive shell, use `runta exec` or SSH. The server can't copy files from your computer (use `runta cp`), and `build_runtime_image` can't `COPY` local files. +- Anyone with the URL of a published port can reach the service on it. +- The server does not manage secrets, billing, API keys, or organization members. + +## Docs + +- Runta MCP server: https://runta.com/docs/integrations/mcp/ +- Runta docs: https://runta.com/docs/ +- Server URL: https://mcp.runta.com/mcp + +Logo is Runta's fox mark, the 256×256 favicon published on runta.com. + +## License + +MIT diff --git a/third_party/runta/assets/logo.png b/third_party/runta/assets/logo.png new file mode 100644 index 000000000..a641e5714 Binary files /dev/null and b/third_party/runta/assets/logo.png differ diff --git a/third_party/runta/mcp.json b/third_party/runta/mcp.json new file mode 100644 index 000000000..704507296 --- /dev/null +++ b/third_party/runta/mcp.json @@ -0,0 +1,8 @@ +{ + "mcpServers": { + "runta": { + "type": "http", + "url": "https://mcp.runta.com/mcp" + } + } +} diff --git a/third_party/squarespace/.cursor-plugin/plugin.json b/third_party/squarespace/.cursor-plugin/plugin.json new file mode 100644 index 000000000..467b05b87 --- /dev/null +++ b/third_party/squarespace/.cursor-plugin/plugin.json @@ -0,0 +1,35 @@ +{ + "name": "squarespace", + "displayName": "Squarespace", + "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, + "description": "Brainstorm business names and check domain availability, pricing, and checkout links on Squarespace.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://developers.squarespace.com/mcp/overview", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/logo.svg", + "keywords": [ + "squarespace", + "domains", + "domain-search", + "naming", + "branding", + "website", + "commerce", + "mcp" + ], + "category": "integrations", + "tags": [ + "squarespace", + "domains", + "branding", + "mcp" + ], + "mcpServers": "./mcp.json" +} diff --git a/third_party/squarespace/CHANGELOG.md b/third_party/squarespace/CHANGELOG.md new file mode 100644 index 000000000..d4b237f27 --- /dev/null +++ b/third_party/squarespace/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog + +All notable changes to this plugin will be documented here. + +## 1.0.0 — initial release + +- Added the `squarespace` MCP server pointing at Squarespace's hosted Streamable HTTP endpoint (`https://mcp.squarespace.com/mcp`). +- No credentials to configure: the Domains tools are public, so the server answers an unauthenticated `tools/list`. +- Documented that the Commerce tools stay hidden until Squarespace extends sign-in beyond Claude and ChatGPT. +- Logo: Squarespace's official mark, from the developer site's brand assets. diff --git a/third_party/squarespace/LICENSE b/third_party/squarespace/LICENSE new file mode 100644 index 000000000..ca2bba771 --- /dev/null +++ b/third_party/squarespace/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/squarespace/README.md b/third_party/squarespace/README.md new file mode 100644 index 000000000..3bdacece1 --- /dev/null +++ b/third_party/squarespace/README.md @@ -0,0 +1,60 @@ +# Squarespace + +Cursor plugin that connects agents to [Squarespace](https://www.squarespace.com) through Squarespace's official remote [Model Context Protocol](https://modelcontextprotocol.io/) server. + +Brainstorm business and brand names, then check domain availability, first-year and renewal pricing, and get a Squarespace checkout link for each one — without leaving chat. + +## Install + +1. Open **Cursor Settings → Plugins**. +2. Search for **Squarespace**. +3. Click **Install**. + +Or run `/add-plugin squarespace` in chat. + +There is nothing to sign in to: the tools this plugin exposes are public. + +## MCP + +```json +{ + "mcpServers": { + "squarespace": { + "type": "http", + "url": "https://mcp.squarespace.com/mcp" + } + } +} +``` + +## What agents can do + +| Tool | Purpose | +| --- | --- | +| `squarespace_generate_domain_names` | Turn a free-text description of a business into brandable name ideas, grouped by tone (neutral, playful, professional, friendly, informative, quirky) | +| `squarespace_search_domains` | Search the Squarespace domain catalog for a keyword or a full domain, returning availability, first-year price, renewal price, and a checkout link per result | + +Both tools are read-only, and the hosted runtime is the source of truth for tool names and schemas. + +The intended flow is to generate names first, then search the most promising ones. `squarespace_search_domains` takes a short keyword rather than a sentence, and only returns an `exactMatch` row when the query includes a TLD. + +## Notes + +- **Nothing is ever purchased.** The domain tools return a `checkoutLink`; a domain is registered only when someone opens that link and completes checkout on squarespace.com. +- Results can include **sponsored** placements. Each row carries a `suggestionType` of `exactMatch`, `sponsored`, or `organic`, and the server instructs agents to label sponsored rows as such rather than presenting them as organic suggestions. +- An `available` value of `null` means availability was not checked — not that the domain is taken. That happens when a search passes `checkAvailability: false`. +- Squarespace also hosts **Commerce** tools on this server (contacts, orders, products) behind a Squarespace sign-in. They are currently limited to Claude and ChatGPT, so they do not appear in Cursor. When they do open up, sign-in is OAuth 2.1 against `https://login.squarespace.com`, which advertises PKCE and client ID metadata documents but no dynamic client registration endpoint. + +## Docs + +- MCP server overview: https://developers.squarespace.com/mcp/overview +- Connecting a client: https://developers.squarespace.com/mcp/connect-a-client +- Domains tools: https://developers.squarespace.com/mcp/tools/domains +- Commerce tools: https://developers.squarespace.com/mcp/tools/commerce +- Server URL: https://mcp.squarespace.com/mcp + +Logo is Squarespace's official mark, from the brand assets on `developers.squarespace.com`. + +## License + +MIT diff --git a/third_party/squarespace/assets/logo.svg b/third_party/squarespace/assets/logo.svg new file mode 100644 index 000000000..73fc19d92 --- /dev/null +++ b/third_party/squarespace/assets/logo.svg @@ -0,0 +1,7 @@ + + Squarespace + + + + + diff --git a/third_party/squarespace/mcp.json b/third_party/squarespace/mcp.json new file mode 100644 index 000000000..d2c86ad6a --- /dev/null +++ b/third_party/squarespace/mcp.json @@ -0,0 +1,8 @@ +{ + "mcpServers": { + "squarespace": { + "type": "http", + "url": "https://mcp.squarespace.com/mcp" + } + } +}