Repository navigation
Mirror the hosted Basecamp plugin's listing fields, and list it for Cursor - #9
Conversation
Mirrored from basecamp/basecamp-mcp-server@7b4b0a82ef19 (basecamp-mcp-server#223, not yet merged; re-sync from its main once it is).
Mirrored from basecamp/basecamp-mcp-server@23c6fb4 (basecamp-mcp-server#223). Cursor's own validate-plugins.mjs passes on this tree.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
🟡 Changes recommended
The description explicitly requires re-syncing from upstream main after basecamp-mcp-server#223 merges.
0 open findings
What changed in this PR
Mirrors Basecamp’s hosted plugin metadata and adds its hosted MCP server to Cursor’s marketplace.
Changes:
- Adds the Cursor marketplace package and hosted MCP configuration.
- Updates Claude listing metadata, licensing, and branding.
- Extends synchronization, marketplace checks, and documentation for both platforms.
[!TIP]
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or rungh pr ready --undo.
Click "Ready for review" or rungh pr readyto reengage.
| File | Description |
|---|---|
README.md |
Documents Cursor support and repository rename. |
.cursor-plugin/marketplace.json |
Adds the Cursor marketplace index. |
plugins/cursor/basecamp/README.md |
Documents installation and capabilities. |
plugins/cursor/basecamp/mcp.json |
Configures the hosted MCP server. |
plugins/cursor/basecamp/LICENSE |
Adds licensing and trademark terms. |
plugins/cursor/basecamp/.cursor-plugin/plugin.json |
Defines Cursor listing metadata. |
plugins/cursor/basecamp/assets/logo.png |
Adds Cursor listing artwork. |
plugins/basecamp/LICENSE |
Adds licensing and trademark terms. |
plugins/basecamp/.claude-plugin/plugin.json |
Updates Claude listing metadata. |
plugins/basecamp/assets/logo.png |
Adds Claude listing artwork. |
bin/sync-basecamp-plugin |
Synchronizes both plugin mirrors. |
bin/check-marketplace |
Validates Claude and Cursor indexes. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Mirrors basecamp/basecamp-mcp-server#223 into
plugins/basecampwithbin/sync-basecamp-plugin:LICENSE(MIT, 37signals): the plugin declared MIT but no copy here carried the text.assets/logo.pngandplugin.json'sicon,documentationUrl,supportUrl,privacyPolicyUrlandtermsOfServiceUrl: the Claude directory takes the listing's icon and links only from these fields.version0.2.0,homepagehttps://basecamp.com/ai.Synced from #223's head (
7b4b0a8). Hold until #223 merges, then re-runbin/sync-basecamp-pluginfrom basecamp-mcp-servermainand amend with that commit, so the mirror never carries an unmerged source. The marketplace is unchanged:basecampstays thebasecamp-clialias (bin/check-marketplacepasses), and the directory reads this folder directly.This is what the Claude directory's plugin submission validates (
basecamp/claude-plugins,plugins/basecamp,main), so it lands before Submit.Cursor (added 2026-10-12)
.cursor-plugin/marketplace.jsonlistsbasecamp, fromplugins/cursor/basecamp: the hosted MCP server with"placement": "server", which Grok Bot needs. Author and license are 37signals, and the LICENSE says the name and logo aren't licensed under MIT.bin/sync-basecamp-pluginmirrors both plugins from basecamp-mcp-server#223 (23c6fb4), and--checkcovers both.bin/check-marketplacenow also checks the Cursor index: names unique, and each source'splugin.jsonhas the same name. It fails on a mismatch.scripts/validate-plugins.mjsand schemas pass on this tree, and fail on a name mismatch.claude-pluginstobasecamp/plugins.This is the repository named in Cursor's publisher application (cursor.com/marketplace/publish).