Repository navigation
[Draft] feat(third_party): add Okara plugin - #904
cursor[bot] wants to merge 1 commit into
Conversation
Co-authored-by: Danny Jiang <djiang-jq@users.noreply.github.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
Bugbot Autofix prepared a fix for the issue found in the latest run.
- ✅ Fixed: API-key plugin shipped URL-only
- Okara now sends Authorization: Bearer ${OKARA_MCP_API_KEY}, requires that variable at install, and the README tells users to set the key instead of completing a connection prompt.
Or push these changes by commenting:
@cursor push fe93eb7bf8
Preview (fe93eb7bf8)
diff --git a/third_party/okara/.cursor-plugin/plugin.json b/third_party/okara/.cursor-plugin/plugin.json
--- a/third_party/okara/.cursor-plugin/plugin.json
+++ b/third_party/okara/.cursor-plugin/plugin.json
@@ -28,5 +28,18 @@
"seo",
"mcp"
],
+ "variables": {
+ "type": "object",
+ "properties": {
+ "OKARA_MCP_API_KEY": {
+ "type": "string",
+ "title": "Okara MCP API key",
+ "description": "MCP API key from your Okara workspace."
+ }
+ },
+ "required": [
+ "OKARA_MCP_API_KEY"
+ ]
+ },
"mcpServers": "./mcp.json"
}
diff --git a/third_party/okara/README.md b/third_party/okara/README.md
--- a/third_party/okara/README.md
+++ b/third_party/okara/README.md
@@ -8,7 +8,7 @@
1. Open **Cursor Settings → Plugins**.
2. Search for **Okara**.
-3. Click **Install**, then complete the Okara connection prompt.
+3. Click **Install**, then set your Okara MCP API key (below).
Or run `/add-plugin okara` in chat.
@@ -19,18 +19,17 @@
"mcpServers": {
"okara": {
"type": "http",
- "url": "https://okara.ai/api/mcp"
+ "url": "https://okara.ai/api/mcp",
+ "headers": {
+ "Authorization": "Bearer ${OKARA_MCP_API_KEY}"
+ }
}
}
}-If your client asks for credentials, add an Okara MCP API key from your Okara workspace as a request header:
+Auth is an Okara MCP API key sent as a bearer token. Create one in your Okara workspace, then set it in Dashboard → Plugins → Configure.
-json -"headers": { "Authorization": "Bearer <your-okara-mcp-key>" } -
Before you connect
You need an Okara account with at least one project (growth agent).
diff --git a/third_party/okara/mcp.json b/third_party/okara/mcp.json
--- a/third_party/okara/mcp.json
+++ b/third_party/okara/mcp.json
@@ -2,7 +2,10 @@
"mcpServers": {
"okara": {
"type": "http",
-
"url": "https://okara.ai/api/mcp"
-
"url": "https://okara.ai/api/mcp", -
"headers": { -
"Authorization": "Bearer ${OKARA_MCP_API_KEY}" -
}
}
}
}
</details>
<sub>You can send follow-ups to the cloud agent <a href="https://cursor.com/agents/bc-3e966676-323b-4172-b11f-eaf0edd494d3">here</a>.</sub>
<!-- BUGBOT_AUTOFIX_REVIEW_FOOTNOTE_END -->
<sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit fe48dc83ff711f3e174415e20f4c7ee35a491cb1. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup>
| "okara": { | ||
| "type": "http", | ||
| "url": "https://okara.ai/api/mcp" | ||
| } |
There was a problem hiding this comment.
API-key plugin shipped URL-only
High Severity · Logic Bug
The plugin ships a URL-only mcp.json even though Okara authenticates with a static Bearer API key. Missing Authorization headers and variables means install never sends credentials, so the hosted server rejects the connection.
Additional Locations (2)
Triggered by learned rule: Prefer native remote MCP over mcp-remote and SSE
Reviewed by Cursor Bugbot for commit fe48dc8. Configure here.



Summary
Adds the Okara plugin under
third_party/okara/as a remote MCP server.mcp.jsonstores the hosted URLhttps://okara.ai/api/mcp(type: http), exactly as submitted..cursor-plugin/plugin.jsonreferences./mcp.jsonandassets/logo.png, categoryintegrations..cursor-plugin/marketplace.json..claude-plugin/marketplace.jsonis unchanged.Submission
okaraTesting instructions (from the submission)
Server URL: https://okara.ai/api/mcp
Authentication: add an
Authorization: Bearer <token>header to the server config. The submission included a test bearer token; it is redacted here because this repository is public. Get it from the original submission.{ "mcpServers": { "okara": { "url": "https://okara.ai/api/mcp", "headers": { "Authorization": "Bearer <token from submission>" } } } }To test: call
list_growth_agentsto get a project'sagentId.Review notes
logo_urland the site favicon could not be downloaded. The committedassets/logo.png(203×203 PNG) is the avatar of theaskOkaraGitHub organization, whose profile links to https://okara.ai with the bio "The AI CMO". Please confirm it matches the submitted logo.mcp.jsonhas no headers. If the server only accepts API keys, users will have to add the header themselves (the plugin README explains how).node scripts/validate-plugins.mjspasses.Note
Low Risk
Additive marketplace listing and documentation only; no changes to core plugin validation or shared runtime beyond a new remote MCP endpoint reference.
Overview
Adds a new Okara third-party Cursor plugin that wires agents to Okara’s hosted HTTP MCP at
https://okara.ai/api/mcp, so users can read marketing workspace data and generate content/strategy from chat.The change is mostly scaffolding under
third_party/okara/:plugin.json(integrations category,./mcp.json, logo),mcp.jsonwith the remote server URL only (no baked-in auth—README documents optionalAuthorization: Bearerfor an Okara MCP API key), plus README, CHANGELOG, LICENSE, and logo assets. Okara is also registered in the root.cursor-plugin/marketplace.jsonand the integrations table inREADME.md.Reviewers should note this is an unreviewed partner submission; the committed logo may differ from the submitted
okara.aiasset because the site was unreachable during packaging.Reviewed by Cursor Bugbot for commit fe48dc8. Bugbot is set up for automated code reviews on this repo. Configure here.