Skip to content

feat(growth): publish Cursor plugin + deeplink + ecosystem install paths for #15 - #17

Merged
replynodes-ai merged 4 commits into
masterfrom
fix/readonly-remote-mcp
Sep 16, 2026
Merged

replynodes-ai merged 4 commits into
masterfrom
fix/readonly-remote-mcp

Conversation

@replynodes-ai

@replynodes-ai replynodes-ai commented Sep 15, 2026

Copy link
Copy Markdown
Member

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).

  • .cursor-plugin/: Cursor plugin manifest (plugin.json), marketplace.json,
    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.
  • README.md: endpoint drift fix (api.replynodes.com -> mcp.replynodes.com), Cursor
    native-remote + plugin + deeplink install paths, distribution state table, Claude
    Code / Windsurf / VS Code / Codex install snippets, owner-only submit actions and
    blockers.
  • package.json + .claude-plugin/plugin.json: version 0.1.4, capability-oriented
    metadata aligned to the live 51-tool read-only surface.
  • artifacts/ide-ecosystem-review.md + artifacts/issue-15-review.md: research and
    review traceability.

Closes #15
Ref #8

Verification (executed in this session)

  • Deeplink round-trip: base64 in .cursor-plugin/deeplink.txt decodes to the exact
    plugin config (url https://mcp.replynodes.com/mcp + Bearer header variable).
  • Live smoke, no credentials:
    • POST initialize -> HTTP 200, protocol 2024-11-05, server replynodes-fetcher dev
    • POST tools/list -> HTTP 200, 51 tools, all read-only
      (appstore 9, brand 4, googleplay 11, hackernews 9, reddit 6, web 1,
      webcontext 4, youtube 7)
  • Stale host: api.replynodes.com/mcp rejects MCP (HTTP 403) -> mcp.replynodes.com
    is the canonical endpoint.
  • CI gates: node --check bin/cli.js passes, mcp-remote proxy resolves, all artifact
    JSON parses, no placeholder "..." deeplink anywhere in tree.
  • npm test: no test script defined in this repo; verification is CI gates + live
    smoke as above.

Ecosystem status

Blockers / owner-only actions

  1. Cursor Marketplace listing: owner signs in at
    https://cursor.com/marketplace/publish and submits the repo URL.
  2. Claude Code community marketplace listing: owner submits via
    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

@replynodes-ai replynodes-ai added enhancement New feature or request story labels Sep 15, 2026
@replynodes-ai
replynodes-ai force-pushed the fix/readonly-remote-mcp branch from aa82345 to 4df06a2 Compare September 15, 2026 21:52
@replynodes-ai
replynodes-ai force-pushed the fix/readonly-remote-mcp branch from 7a72550 to 46d3ea6 Compare September 15, 2026 23:32
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.
@replynodes-ai replynodes-ai reopened this Sep 15, 2026
Growth Strategist and others added 3 commits September 16, 2026 02:01
…#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>
@replynodes-ai
replynodes-ai merged commit 25aa34e into master Sep 16, 2026
1 check passed
@replynodes-ai
replynodes-ai deleted the fix/readonly-remote-mcp branch September 16, 2026 01:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request story

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[MCP-DIST-006] Publish ReplyNodes MCP to IDE/MCP ecosystems (Cursor + others)

1 participant