feat(growth): publish Cursor plugin + deeplink + ecosystem install paths for #15 - #17
Merged
Merged
Conversation
replynodes-ai
force-pushed
the
fix/readonly-remote-mcp
branch
from
September 15, 2026 21:52
aa82345 to
4df06a2
Compare
replynodes-ai
force-pushed
the
fix/readonly-remote-mcp
branch
from
September 15, 2026 23:32
7a72550 to
46d3ea6
Compare
Rebuild PR #17 on top of origin/master (which already includes merged PR #16). Keep only the issue #15 Cursor/IDE distribution deliverable and directly necessary install documentation: - .cursor-plugin/ plugin + marketplace + deeplink + icon (self-contained) - assets/logo.svg - README.md Cursor/IDE install-path sections + distribution state table - artifacts/ review files for traceability Revert out-of-scope changes to match origin/master exactly: - server.json, .github/workflows/publish-mcp.yml, package.json, .claude-plugin/plugin.json all byte-identical to origin/master - docs/mcp-registry.md removed (out of scope, carried malformed auth prose) Preserve PR #16 canonical endpoint/read-only/CLI fixes (regression guard): - test-cli-secret-safe.mjs verification runs against committed bin/cli.js - README.md lines 77-88 explain api.replynodes.com != MCP endpoint Fix: deeplink.txt + README.md deeplink use the verified round-trip token (base64 of compact deeplink-config.json). Use safe placeholder wording everywhere (no Bearer *** prose). Distribution state table truthfully marks Cursor Marketplace / Claude community submit as not-listed-without-owner-action.
…#15) Reviewer CHANGES_REQUIRED: two metadata URL defects in .cursor-plugin/ only — documentationUrl/documentation pointed at nonexistent blob/main/README.md; homepage/homepageUrl pointed at https://replynodes.com/mcp (MCP protocol endpoint, not a webpage). Fixed: - documentationUrl/documentation -> blob/master/README.md (repo default branch is 'master'; blob/main returns HTTP 404, blob/master returns HTTP 200) - homepageUrl/homepage -> https://replynodes.com (HTTP 200 verified) - MCP endpoint https://mcp.replynodes.com/mcp preserved ONLY in the mcpServers config component (not in homepage/documentation fields) - deeplink base64 round-trip, icon paths, all artifact JSON, live initialize+tools/list (51 read-only tools, protocol 2024-11-05) unchanged and re-verified. Scope guard: .claude-plugin/, server.json, workflows/, package.json, glama.json, smithery.yaml untouched. Master default branch is 'master'. Co-Authored-By: Growth Strategist <replynodes-growth@replynodes.ai>
Repo default branch is master, not main, so the five README links added by #15 returned 404. - blob/main/.cursor-plugin/plugin.json -> blob/master/ - blob/main/.cursor-plugin/marketplace.json -> blob/master/ - blob/main/assets/logo.svg -> blob/master/ - tree/main/.cursor-plugin -> tree/master/ - tree/main/.claude-plugin -> tree/master/ README.md only. Unchanged: server.json, package.json, .github/workflows/*, .cursor-plugin/*, .claude-plugin/*, assets/*, artifacts/*, docs/*. Preserved: canonical mcp.replynodes.com endpoint, Bearer REPLYNODES_API_KEY variable auth, owner-gated Cursor Marketplace wording, scope-clean Cursor/IDE artifacts, deeplink template eyJtY3...fX19 (round-trips to deeplink-config.json). Reviewer defect (issue #15): README.md had 4 blob/main/ + 1 tree/main/ URL returning 404 because repo defaultBranchRef is master. Verified: every changed README URL returns HTTP 200 on the PR branch; live initialize+tools/list=51 read-only tools, protocol 2024-11-05; all artifact JSON valid; node --check bin/cli.js passes. Co-Authored-By: Growth Strategist <replynodes-growth@replynodes.ai>
- Update .cursor-plugin/deeplink.txt with canonical 172-char token - Update README.md lines 192 and 222 with exact full deeplink token - Preserve generic template cursor://...& unchanged - All tokens: strict base64 decode, decode to deeplink-config.json, no literal ellipsis Co-Authored-By: Growth Strategist <growth@replynodes.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements issue #15 (MCP distribution to IDE/MCP ecosystems) under parent epic #8
with a verified, submit-ready Cursor plugin package and verified install paths for
other remote-MCP clients. All artifacts use canonical live endpoint
https://mcp.replynodes.com/mcp and only verified read-only capabilities from the
live tools/list (51 tools).
deeplink-config.json, verified deeplink (deeplink.txt), plugin README,
assets/logo.svg. Remote HTTP MCP, Bearer REPLYNODES_API_KEY declared as a plugin
variable, category "Data Analytics", capability-discovery tags.
native-remote + plugin + deeplink install paths, distribution state table, Claude
Code / Windsurf / VS Code / Codex install snippets, owner-only submit actions and
blockers.
metadata aligned to the live 51-tool read-only surface.
review traceability.
Closes #15
Ref #8
Verification (executed in this session)
plugin config (url https://mcp.replynodes.com/mcp + Bearer header variable).
(appstore 9, brand 4, googleplay 11, hackernews 9, reddit 6, web 1,
webcontext 4, youtube 7)
is the canonical endpoint.
JSON parses, no placeholder "..." deeplink anywhere in tree.
smoke as above.
Ecosystem status
listing itself requires one owner-only action at https://cursor.com/marketplace/publish
(Team/Enterprise org or hCaptcha at https://platform.claude.com/plugins/submit)
(https://registry.modelcontextprotocol.io/v0.1/servers/com.replynodes%2Fmcp/versions/latest) - recorded, not re-published here
listing surface confirmed
Blockers / owner-only actions
https://cursor.com/marketplace/publish and submits the repo URL.
https://platform.claude.com/plugins/submit (hCaptcha-gated) or
https://claude.ai/admin-settings/directory/submissions/plugins/new
(requires Team/Enterprise org + directory management access).
Exact URLs / evidence
Remaining work for full Definition of Done
Autonomous portion complete: verified install path exists (Cursor deeplink + mcp.json;
Claude Code / Windsurf / VS Code / Codex snippets), existing registry + Smithery
listings are consistent with canonical endpoint, submit artifacts ready. Remaining
items are owner-gated listings (Cursor Marketplace and Claude Code community
marketplace) - recorded as the two concrete owner-only actions above; no further code
change required.
Generated with Claude Code