API-317: follow up on the retired Cursor deep link in the MCP README - #529
API-317: follow up on the retired Cursor deep link in the MCP README#529gulshngill wants to merge 2 commits into
Conversation
nansen-api#1803 removes the Cursor install deep link from
docs.nansen.ai/mcp/connecting, but this README (already published on npm)
tells readers that link is maintained there. Drop the artifact enumeration so
the pointer stays correct as the docs page changes.
Also:
- Pin the mcp-remote bridge to 0.1.38, the version `nansen mcp install`
writes and `nansen mcp verify` requires. `@latest` defeats the pin's
purpose and trips verify's official-config check.
- Correct the header note. mcp-remote parses headers with
/^([A-Za-z0-9_-]+):\s*(.*)$/, so whitespace after the colon is trimmed --
a space was never the problem. What matters is keeping name and value in
one args entry, and keeping the key in `env` (verified: mcp-remote
substitutes ${NANSEN_API_KEY} from the environment).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
pr-reviewer Summary for #33ec046📝 1 finding Review completed. Please address the findings below. Findings by Severity
Review effort: 1/5 (Trivial) SummaryThe three README changes are all correct and well-reasoned: dropping the stale Cursor deep-link enumeration, pinning One medium-severity inconsistency between the changeset and the actual diff is worth cleaning up before merge. Findings
|
Codier
left a comment
There was a problem hiding this comment.
Approving.
The question I left on nansen-api#1803 applies to the mcp-remote@0.1.38 pin here too — I can't find the nansen mcp install / nansen mcp verify that's meant to set it, and this repo is where it would live. Answer it over there and this is fine as is.
The 0.1.38 pin was justified as matching what `nansen mcp install` writes and `nansen mcp verify` requires. No such command exists -- not on main, not in the published release; MCP_REMOTE_PIN lives only in unmerged, conflicting #487. The .dxt is not the source either (it vendors ^0.1.18 and never uses npx). Pin the current release and state the real reason: the bridge handles the API key on every request, so the version is fixed rather than letting npx pull a new release automatically. Verified 0.2.1 is a drop-in -- same header parser, same ${VAR} substitution, same allowHttp guard, connects to prod. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
33ec046
Why
nansen-api#1803 removes the Cursor install deep link from docs.nansen.ai/mcp/connecting. This README — already published on npm (1.41.1) — tells readers that link is maintained on that page:
The moment #1803 merges, that sentence points at an artifact that no longer exists. This PR should merge first, so the window never opens.
Note this reverses the follow-up #506 filed for itself ("worth dropping
--allow-httpso the deep link matches"). API-319 wanted the deep link fixed; API-317 concluded it can't be — Cursor persists a deep link's decoded config as-is, so a static link can only ever ship a placeholder key, and a personalized one would put a live key in a URL.What changed
mcp-remote@0.2.1(the current release) in the stdio bridge example, replacing@latest. The bridge handles the API key on every request, so the version is fixed rather than lettingnpxpull a new release automatically. Bumping is invited — review the release, update the pin.0.1.38and justified it as matching whatnansen mcp installwrites andnansen mcp verifyrequires. No such command exists — not onmain(schema.jsonhas nomcpkey,mcp-remoteappears only inREADME.md) and not in published 1.40.1.MCP_REMOTE_PIN = 'mcp-remote@0.1.38'lives only in API-285: One-step MCP install (nansen mcp install <client>) #487, which is unmerged andCONFLICTING. The.dxtis not the source either: it vendorsmcp-remote ^0.1.18and never invokesnpx.0.1.38is ~7 months and ~13 releases behind current.0.2.1verified as a drop-in: identical header parser, identical${VAR}substitution, identicalallowHttpguard, connects to prod with the key substituted from the environment.mcp-remoteparses headers with/^([A-Za-z0-9_-]+):\s*(.*)$/, so whitespace after the colon is trimmed. The note now says what actually matters — name and value in a singleargsentry, and the key inenvrather than the argument list.Verification
mcp-remote@0.1.38header parser read from source (package/dist/chunk-65X3S4HB.js:20713) — confirms the\s*trim.chunk-65X3S4HB.js:20850-20861and by running the documented command against prod:Replacing ${NANSEN_API_KEY} with environment value in header 'NANSEN-API-KEY'→Proxy established successfully. So theenvform this README already recommended does work — only the rationale sentence was wrong.npm run lintclean;npx vitest run src/__tests__/response-meta.test.js→ 44 passed. No source files touched.Checklist
src/schema.jsonupdated if new commands or flags were added — n/a, docs-onlyREADME.mdupdated🤖 Generated with Claude Code