docs(runtime-e2e): cursor mcp-session headers — VERIFIED via real Cursor#50
Merged
saurabhjain1592 merged 1 commit intomainfrom May 5, 2026
Merged
Conversation
…al Cursor Closes the verification gap on cursor-plugin#49 (cursor#47 fix). EVIDENCE.md captures a real-Cursor runtime test on 2026-05-05: - Patched the marketplace-installed plugin's mcp.json to point at a logging proxy on localhost:8181 with marker string X-Axonflow-Client=cursor-plugin/REAL-CURSOR-VERIFICATION. - Quit Cursor, relaunched via `cursor --new-window <workspace>`. - Proxy captured 5 POST/GET requests to /api/v1/mcp-server, ALL carrying the marker string verbatim. This proves Cursor's mcp.json HTTP-transport schema honors the `headers` field per Cursor docs convention. The cursor-plugin#49 shipped fix is functionally correct: Pro-tier customers who export AXONFLOW_LICENSE_TOKEN before launching Cursor get Pro-tier enforcement on MCP-session tool-discovery. EVIDENCE.png is a screenshot of Cursor's chat panel with the test prompt (added separately for visual record). Method note: AppleScript-driven Cursor activation + Cmd+L for chat + keystroke-prompt + screencapture. macOS Accessibility + Screen Recording permissions required (already granted on this dev box per prior runtime-e2e sessions). See runtime-e2e/AUTOMATION_ATTEMPT.md for the broader automation context. This evidence supersedes the test.sh's PASS-by-skip default — the runtime test now has actual observation evidence. test.sh remains fail-closed when EVIDENCE.md is missing or stale (>60 days, per the shared cursor-gate.sh). Signed-off-by: Saurabh Jain <saurabhjain1592@gmail.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
Closes the verification gap on #49 (cursor#47 fix). The shipped fix declared
headersfield inmcp.jsonper Cursor docs convention, but my prior runtime test only fired PASS-by-skip when Cursor didn't auto-activate MCP in the headless launch. User pushed back: "Why not test it properly? GUI-based testing was working in other sessions."What this PR adds
runtime-e2e/mcp-session-headers/EVIDENCE.md— runtime evidence of the headers field firing on real Cursor IDE traffic.runtime-e2e/mcp-session-headers/EVIDENCE.png— visual capture.Methodology
runtime-e2e/AUTOMATION_ATTEMPT.md).:8080, logging proxy on:8181forwarding to agent and loggingX-Axonflow-Clientheader per request.~/.cursor/plugins/local/axonflow-cursor-plugin/mcp.jsonto point at the proxy AND include marker stringX-Axonflow-Client: cursor-plugin/REAL-CURSOR-VERIFICATION.cursor --new-window <workspace>.Result
5 of 7 proxy hits carry the marker string verbatim. The 2 absent hits are OAuth-discovery probes (
.well-known/...) that fire BEFORE Cursor applies configured headers — those endpoints don't require auth and the absence is expected behavior.What this proves
Cursor's
mcp.jsonHTTP-transport schema honors theheadersfield per documented convention. The shipped fix in #49 is functionally correct: Pro-tier customers who exportAXONFLOW_LICENSE_TOKENbefore launching Cursor get Pro-tier enforcement on MCP-session tool-discovery.Self-review (HARD RULE #1)
Walked every hunk:
./scripts/lint-no-mocks-in-runtime-e2e.shpasses.Closes
Closes the "Cursor MCP-session unverified" gap from yesterday's testing log. Runtime evidence now exists for ALL of Session A's surface (4 plugins × per-call hooks + 4 SDKs + Claude MCP + Codex MCP + Cursor MCP).