Skip to content

Claim Context7 library and fix MCP config#3

Merged
franco-zalamena-iterable merged 1 commit into
mainfrom
claim-context7-and-fix-mcp
Jul 15, 2026
Merged

Claim Context7 library and fix MCP config#3
franco-zalamena-iterable merged 1 commit into
mainfrom
claim-context7-and-fix-mcp

Conversation

@franco-zalamena-iterable

Copy link
Copy Markdown
Contributor

What

  • Claim the Context7 library — add url + public_key to context7.json. This is the pk_ claim key, which Context7's claim flow explicitly has you commit and push to the default branch for ownership verification.
  • Make the bundled MCP config keyless in both mcp.json (Cursor) and .mcp.json (Claude Code), and correct the README key note.

Why

The MCP files forwarded the Context7 key with ${env:CONTEXT7_API_KEY}, which is Cursor-only syntax. Claude Code doesn't parse the env: prefix — it would send the literal ${env:CONTEXT7_API_KEY} string as the header and warn on every startup. The validate-plugins gate also requires the two files to be byte-identical, which per-tool key syntax makes impossible.

Keyless is correct in both tools, satisfies the byte-identical gate, and drops the warning. The rate-limit key (ctx7sk-, a secret — not committable) has no effect until Context7 fetching goes live, so it's wired via env var later, alongside the .context7-library-id flip.

Validation

pnpm check:all is green: typecheck, polished schema (14 files), validate-plugins, snapshot verify (14 match). context7.json is valid JSON with the claim key present.

Follow-up (not in this PR)

This PR lets Context7 verify ownership off main. It does not turn on live fetching — the skill still reads from the local snapshot until iterable-android/.context7-library-id holds the real library ID (still the TODO-PHASE-3 placeholder). Flipping that ID and the source-priority wording is a separate PR once Context7 crawls the corpus.

🤖 Generated with Claude Code

Claim the Context7 library: add `url` + `public_key` to context7.json. This is
the `pk_` claim key, which Context7's claim flow explicitly has you commit and
push to the default branch for ownership verification.

Make the bundled MCP config keyless in both mcp.json (Cursor) and .mcp.json
(Claude Code), and correct the README key note.

The files previously forwarded the key with `${env:CONTEXT7_API_KEY}`, which is
Cursor-only syntax. Claude Code doesn't parse the `env:` prefix — it would send
the literal `${env:CONTEXT7_API_KEY}` string as the header and warn on every
startup. The validate-plugins gate also requires the two files to be
byte-identical, which per-tool key syntax makes impossible.

Keyless is correct in both tools, satisfies the byte-identical gate, and drops
the warning. The rate-limit key (ctx7sk-, a secret, not committable) has no
effect until Context7 fetching goes live, so it's wired via env var later,
alongside the .context7-library-id flip.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@franco-zalamena-iterable franco-zalamena-iterable merged commit 3d9acd2 into main Jul 15, 2026
1 check passed
@franco-zalamena-iterable franco-zalamena-iterable deleted the claim-context7-and-fix-mcp branch July 15, 2026 13:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant