diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index b8b863993..33032594e 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -528,6 +528,11 @@ "source": "third_party/square", "description": "Work with payments, orders, catalog, customers, and invoices." }, + { + "name": "veo", + "source": "third_party/veo", + "description": "Generate Veo videos and retrieve the finished clip." + }, { "name": "tailscale", "source": "third_party/tailscale", diff --git a/README.md b/README.md index b42a64469..91c5ead5e 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,7 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc | `workday` | [Workday](third_party/workday/) | Cursor | Integrations | Look up workers, organizations, time off, payroll, and recruiting data in Workday. | | `whatsapp-business` | [WhatsApp Business](third_party/whatsapp-business/) | Cursor | Integrations | Send messages and manage templates, contacts, and phone numbers in WhatsApp Business. | | `square` | [Square](third_party/square/) | Cursor | Integrations | Work with payments, orders, catalog, customers, and invoices. | +| `veo` | [Veo](third_party/veo/) | Ace Data Cloud Dev | Integrations | Generate Veo videos and retrieve the finished clip. | | `tailscale` | [Tailscale](third_party/tailscale/) | Cursor | Integrations | Let Grok Bot reach MCP servers on your private Tailscale network. Sign in to Tailscale to connect your tailnet; Grok Bot joins it as one tagged device and only reaches the hosts you grant to tag:grokbot. | | `highlevel` | [HighLevel](third_party/highlevel/) | Cursor | Integrations | Work with contacts, conversations, opportunities, calendars, and payments. | | `finary` | [Finary](third_party/finary/) | Cursor | Integrations | Read your net worth, accounts, holdings, spending, and budgets. | diff --git a/third_party/veo/.cursor-plugin/plugin.json b/third_party/veo/.cursor-plugin/plugin.json new file mode 100644 index 000000000..c3d843102 --- /dev/null +++ b/third_party/veo/.cursor-plugin/plugin.json @@ -0,0 +1,44 @@ +{ + "name": "veo", + "displayName": "Veo", + "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, + "description": "Generate Veo videos and retrieve the finished clip.", + "author": { + "name": "Ace Data Cloud Dev", + "email": "dev@acedata.cloud" + }, + "homepage": "https://platform.acedata.cloud/models", + "repository": "https://github.com/AceDataCloud/VeoCursor", + "license": "MIT", + "logo": "assets/logo.jpg", + "keywords": [ + "veo", + "veo", + "video", + "acedatacloud", + "mcp" + ], + "category": "integrations", + "tags": [ + "veo", + "video", + "mcp" + ], + "variables": { + "type": "object", + "properties": { + "ACEDATACLOUD_API_TOKEN": { + "type": "string", + "title": "Ace Data Cloud API token", + "description": "Service API key from https://platform.acedata.cloud/console/applications with Veo access." + } + }, + "required": [ + "ACEDATACLOUD_API_TOKEN" + ] + }, + "mcpServers": "./mcp.json" +} diff --git a/third_party/veo/CHANGELOG.md b/third_party/veo/CHANGELOG.md new file mode 100644 index 000000000..2e8010d55 --- /dev/null +++ b/third_party/veo/CHANGELOG.md @@ -0,0 +1,5 @@ +# Changelog + +## 1.0.0 + +- Initial Veo Cursor plugin using the existing Ace Data Cloud hosted MCP. diff --git a/third_party/veo/LICENSE b/third_party/veo/LICENSE new file mode 100644 index 000000000..64bb5cfce --- /dev/null +++ b/third_party/veo/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Ace Data Cloud + +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/veo/README.md b/third_party/veo/README.md new file mode 100644 index 000000000..12d8fedd5 --- /dev/null +++ b/third_party/veo/README.md @@ -0,0 +1,56 @@ +# Veo for Cursor + +Generate Veo videos and retrieve the finished clip. This standalone plugin reuses the [Ace Data Cloud veo MCP](https://github.com/AceDataCloud/MCPs/tree/main/veo) and includes a focused Agent skill. Available tools and limits come from the live MCP schema. + +[简体中文教程](readme/README_zh_Hans.md) · [Copyable first-run prompt](examples/first-run.md) · [Current pricing](https://platform.acedata.cloud/models?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=veo_cursor_shared_readme_pricing_en) + +## 1. Search and install + +In Cursor 3.24, open **Customize → Browse Marketplace**, search for **Veo**, confirm **Ace Data Cloud Dev** and the service logo, then click **Add**. Older releases may put Plugins under Settings. You can also use `/add-plugin veo` in chat. If the official listing is not live, review this source under `~/.cursor/plugins/local/veo/`; local installation does not prove Marketplace publication. + +## 2. Get a service API key + +1. Sign in at [Ace Data Cloud Applications](https://platform.acedata.cloud/console/applications?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=veo_cursor_shared_readme_api_key_en). +2. Open **General application** or a service-specific application. Copy an existing API key, or use **Manage Keys → Create** for a separate Cursor key. +3. Confirm Veo access, [current price](https://platform.acedata.cloud/models?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=veo_cursor_shared_readme_pricing_en), and balance. If **Allowed APIs** restrictions are enabled, include /veo/videos, /veo/tasks. + +Use a service API key, not a platform management token. Do not put it in chat or source files. + +## 3. Configure the plugin + +Open **Customize → Plugins → Veo → Configure**, paste the key string into **Ace Data Cloud API token**, and click **Save**. Cursor uses it as `ACEDATACLOUD_API_TOKEN`; the plugin adds `Bearer `. Reconnect the MCP server if tools are missing. The hosted endpoint needs no local Python installation. + +```json +{ + "mcpServers": { + "veo": { + "type": "http", + "url": "https://veo.mcp.acedata.cloud/mcp", + "headers": { + "Authorization": "Bearer ${ACEDATACLOUD_API_TOKEN}" + } + } + } +} +``` + +## 4. Run the first example + +Open Cursor Agent and paste the [first-run prompt](examples/first-run.md). It asks for `veo_text_to_video`, model `veo31-fast` and aspect_ratio 16:9. The sample prompt is `A teal cube on a cream table, gentle camera orbit, studio lighting, no text.`. Verify live model access and price before running. + +Submit with `veo_text_to_video` once. Save the returned `task_id` and use `veo_get_task` with that same ID until terminal. Pending is not a completed video; open the returned result URL on success. Never regenerate merely to poll. + +Open the returned video and inspect it. In **Ace Data Cloud → Usage/Billing**, match this call to its deducted Credits record. The plugin is free; API calls follow current service pricing. + +## Troubleshooting + +| Symptom | Action | +| --- | --- | +| Plugin or tools are missing | Check the Veo listing, configure the key, and reconnect MCP. | +| 401 or 403 | Check key validity, service access, balance, and Allowed APIs; do not include `Bearer ` in the configured value. | +| Invalid model or argument | Use the live tool schema and a model this account can access. | +| Pending task | Query the original task ID; do not regenerate to poll. | +| 429, timeout, or 5xx | Inspect the original task and usage history before another paid submission. | +| Result URL will not open | Confirm a terminal success and use the URL returned by that call. | + +[Source](https://github.com/AceDataCloud/VeoCursor) · [Report a problem](https://github.com/AceDataCloud/VeoCursor/issues) · dev@acedata.cloud. The logo reuses an existing Ace Data Cloud integration asset. This tool plugin does not register a Cursor chat-model provider. diff --git a/third_party/veo/assets/logo.jpg b/third_party/veo/assets/logo.jpg new file mode 100644 index 000000000..481c0183a Binary files /dev/null and b/third_party/veo/assets/logo.jpg differ diff --git a/third_party/veo/examples/first-run.md b/third_party/veo/examples/first-run.md new file mode 100644 index 000000000..750b65ed0 --- /dev/null +++ b/third_party/veo/examples/first-run.md @@ -0,0 +1,5 @@ +# First Veo run + +Copy this into Cursor Agent after installing and configuring the plugin. No key is included. + +> Use the veo MCP tool veo_text_to_video for one video request. I checked the current Ace Data Cloud price and balance. Use model veo31-fast if this account offers it. Set aspect_ratio 16:9. Set prompt to A teal cube on a cream table, gentle camera orbit, studio lighting, no text.. Submit at most once, keep the task ID, query it using veo_get_task until terminal, and open the completed result. If pending, report the ID so I can resume without a second generation. diff --git a/third_party/veo/mcp.json b/third_party/veo/mcp.json new file mode 100644 index 000000000..d107f3f00 --- /dev/null +++ b/third_party/veo/mcp.json @@ -0,0 +1,11 @@ +{ + "mcpServers": { + "veo": { + "type": "http", + "url": "https://veo.mcp.acedata.cloud/mcp", + "headers": { + "Authorization": "Bearer ${ACEDATACLOUD_API_TOKEN}" + } + } + } +} diff --git a/third_party/veo/readme/README_zh_Hans.md b/third_party/veo/readme/README_zh_Hans.md new file mode 100644 index 000000000..06b7be3b7 --- /dev/null +++ b/third_party/veo/readme/README_zh_Hans.md @@ -0,0 +1,42 @@ +# Cursor Veo 插件 + +Generate Veo videos and retrieve the finished clip. 插件复用 [Ace Data Cloud veo MCP](https://github.com/AceDataCloud/MCPs/tree/main/veo),并提供专用 Agent skill。实际工具参数和限制以在线 MCP schema 为准。 + +[English guide](../README.md) · [可复制的首跑提示词](../examples/first-run.md) · [当前价格](https://platform.acedata.cloud/models?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=veo_cursor_shared_readme_pricing_zh_hans) + +## 1. 搜索安装 + +在 Cursor 3.24 打开 **Customize → Browse Marketplace**,搜索 **Veo**,确认作者 **Ace Data Cloud Dev** 和服务图标后点击 **Add**。较早版本可能在 Settings 中提供 Plugins 入口。也可在聊天中输入 `/add-plugin veo`。若官方条目尚未出现,可在 `~/.cursor/plugins/local/veo/` 本地审查;本地安装不代表 Marketplace 已上架。 + +## 2. 获取服务 API Key + +1. 登录 [Ace Data Cloud 应用管理](https://platform.acedata.cloud/console/applications?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=veo_cursor_shared_readme_api_key_zh_hans)。 +2. 打开 **General application** 或服务专用应用,复制已有 Key;也可通过 **Manage Keys → Create** 新建 Cursor 专用 Key。 +3. 确认 Veo 权限、[当前价格](https://platform.acedata.cloud/models?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=veo_cursor_shared_readme_pricing_zh_hans)和余额。若启用了 **Allowed APIs**,允许 /veo/videos, /veo/tasks。 + +使用服务 API Key,不要用平台管理 token,也不要放在聊天或仓库文件中。 + +## 3. 配置插件 + +打开 **Customize → Plugins → Veo → Configure**,将 Key 原文填入 **Ace Data Cloud API token** 并点击 **Save**。Cursor 将其用于 `ACEDATACLOUD_API_TOKEN`;插件会自行添加 `Bearer `,连接 `https://veo.mcp.acedata.cloud/mcp`;无需安装本地 Python 服务。工具未出现时重新连接 MCP。 + +## 4. 首次调用 + +在 Cursor Agent 中复制[首跑提示词](../examples/first-run.md)。它使用 `veo_text_to_video`,模型 `veo31-fast`,参数为 aspect_ratio 16:9,prompt 为 `A teal cube on a cream table, gentle camera orbit, studio lighting, no text.`。执行前核对当前模型权限和价格;字段变化时以在线工具 schema 为准。 + +只用 `veo_text_to_video` 提交一次,保存返回的 `task_id`,随后用同一 ID 调用 `veo_get_task` 直到终态。pending 不代表已完成;成功后打开结果地址。不要为轮询重新生成。 + +打开返回的video结果并检查。在 **Ace Data Cloud → Usage/Billing** 核对本次调用对应的 Credits 扣费;插件免费,API 按当前服务价格计费。 + +## 排障 + +| 现象 | 处理 | +| --- | --- | +| 找不到插件或工具 | 核对 Veo 条目、配置 Key 并重连 MCP。 | +| 401 或 403 | 检查 Key、服务权限、余额和 Allowed APIs;配置值不要带 `Bearer `。 | +| 模型或参数错误 | 以在线 MCP schema 和账户可用模型为准。 | +| 任务 pending | 沿原 task ID 查询,不要为轮询重新生成。 | +| 429、超时或 5xx | 先检查原任务和用量记录,再决定是否再次付费提交。 | +| 结果无法打开 | 确认终态成功,打开该次调用返回的地址。 | + +[源码](https://github.com/AceDataCloud/VeoCursor) · [问题反馈](https://github.com/AceDataCloud/VeoCursor/issues) · dev@acedata.cloud。图标复用 Ace Data Cloud 现有集成资源。本插件提供工具,不注册 Cursor 聊天模型 Provider。 diff --git a/third_party/veo/skills/veo/SKILL.md b/third_party/veo/skills/veo/SKILL.md new file mode 100644 index 000000000..e226f948f --- /dev/null +++ b/third_party/veo/skills/veo/SKILL.md @@ -0,0 +1,14 @@ +--- +name: veo +description: Use Veo through the Ace Data Cloud MCP server in Cursor. Use for Veo video work or an existing task query. +--- + +# Veo in Cursor + +This skill adapts the [existing Ace Data Cloud skill](https://github.com/AceDataCloud/Skills/tree/main/skills/veo-video). The live MCP schema is the source of truth for arguments and models. + +1. Check [current price, balance, and service access](https://platform.acedata.cloud/models) before a paid call. +2. Submit with `veo_text_to_video` once. Save the returned `task_id` and use `veo_get_task` with that same ID until terminal. Pending is not a completed video; open the returned result URL on success. Never regenerate merely to poll. +3. Return the result, task ID if present, and any service error. Keep the API token out of chat and files. + +Configure `ACEDATACLOUD_API_TOKEN` in **Customize → Plugins → Veo → Configure**. See the [first-run guide](../../README.md).