From fd451ad4a1b20cd4ecd1d4fb1ff74272ee974bea Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 27 Oct 2026 20:19:46 +0000 Subject: [PATCH] Add OTC plugin (remote MCP) Co-authored-by: Danny Jiang --- .cursor-plugin/marketplace.json | 5 ++ README.md | 1 + .../otc-llc/.cursor-plugin/plugin.json | 29 ++++++++++++ third_party/otc-llc/README.md | 43 ++++++++++++++++++ third_party/otc-llc/assets/logo.png | Bin 0 -> 9907 bytes third_party/otc-llc/mcp.json | 8 ++++ 6 files changed, 86 insertions(+) create mode 100644 third_party/otc-llc/.cursor-plugin/plugin.json create mode 100644 third_party/otc-llc/README.md create mode 100644 third_party/otc-llc/assets/logo.png create mode 100644 third_party/otc-llc/mcp.json diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index 9b31a43f9..c6cb76483 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -652,6 +652,11 @@ "name": "servicenow", "source": "third_party/servicenow", "description": "Call the tools your admin publishes on a ServiceNow instance." + }, + { + "name": "otc-llc", + "source": "third_party/otc-llc", + "description": "Help create a passkey." } ] } diff --git a/README.md b/README.md index 9d46b46a2..c7d6a7768 100644 --- a/README.md +++ b/README.md @@ -120,6 +120,7 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc | `ringcentral-phone` | [RingCentral Phone](third_party/ringcentral-phone/) | Cursor | Integrations | Read call activity, AI call notes, SMS, voicemail, and fax, and send SMS. | | `ringcentral-chat` | [RingCentral Chat](third_party/ringcentral-chat/) | Cursor | Integrations | Read team chats and posts, send messages, and manage teams, tasks, and notes. | | `servicenow` | [ServiceNow](third_party/servicenow/) | Cursor | Integrations | Call the tools your admin publishes on a ServiceNow instance. | +| `otc-llc` | [OTC](third_party/otc-llc/) | OTC LLC | Integrations | Help create a passkey. | Author values match each plugin’s `plugin.json` `author.name` (Cursor lists `plugins@cursor.com` in the manifest). ## Repository structure diff --git a/third_party/otc-llc/.cursor-plugin/plugin.json b/third_party/otc-llc/.cursor-plugin/plugin.json new file mode 100644 index 000000000..7d1b92a94 --- /dev/null +++ b/third_party/otc-llc/.cursor-plugin/plugin.json @@ -0,0 +1,29 @@ +{ + "name": "otc-llc", + "displayName": "OTC", + "version": "1.0.0", + "description": "Help create a passkey.", + "author": { + "name": "OTC LLC", + "email": "ai@otc.network" + }, + "homepage": "https://otc.network", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/logo.png", + "keywords": [ + "otc", + "passkey", + "webauthn", + "authentication", + "mcp" + ], + "category": "integrations", + "tags": [ + "otc", + "passkey", + "security", + "mcp" + ], + "mcpServers": "./mcp.json" +} diff --git a/third_party/otc-llc/README.md b/third_party/otc-llc/README.md new file mode 100644 index 000000000..5749e2ff7 --- /dev/null +++ b/third_party/otc-llc/README.md @@ -0,0 +1,43 @@ +# OTC + +Cursor plugin that connects agents to [OTC](https://otc.network) through OTC's hosted [Model Context Protocol](https://modelcontextprotocol.io/) server. + +Help create a passkey. + +## Install + +1. Open **Cursor Settings → Plugins**. +2. Search for **OTC**. +3. Click **Install**, then complete any sign-in prompt the server shows. + +Or run `/add-plugin otc-llc` in chat. + +## MCP + +```json +{ + "mcpServers": { + "otc-llc": { + "type": "http", + "url": "https://otc.network/api/otc/mcp" + } + } +} +``` + +The hosted runtime is the source of truth for tool names and schemas. + +## Try it + +Follow the passkey walkthrough at https://otc.network/passkey?section=passkey. + +## Docs + +- OTC: https://otc.network +- Server URL: https://otc.network/api/otc/mcp + +Logo is OTC's theta mark from the verified `otc-ai` GitHub organization (contact `ai@otc.network`), 256×256. The submitted logo URL (`https://otc.network/otc-theta-favicon.svg`) could not be downloaded when this plugin was added. + +## License + +MIT diff --git a/third_party/otc-llc/assets/logo.png b/third_party/otc-llc/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0626b9bb45d65a34f97471dac124be66014d1a0d GIT binary patch literal 9907 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 F{4bdgi8%lO literal 0 HcmV?d00001 diff --git a/third_party/otc-llc/mcp.json b/third_party/otc-llc/mcp.json new file mode 100644 index 000000000..8f9bdf855 --- /dev/null +++ b/third_party/otc-llc/mcp.json @@ -0,0 +1,8 @@ +{ + "mcpServers": { + "otc-llc": { + "type": "http", + "url": "https://otc.network/api/otc/mcp" + } + } +}