Context7 plugin registers duplicate MCP servers - one broken, one working
Resolved 💬 3 comments Opened Jan 30, 2026 by WesleyBoggs Closed Feb 3, 2026
Description
The context7@claude-plugins-official plugin registers two sets of MCP tools with different prefixes:
mcp__context7__*- Broken - Returns "Invalid API key" errormcp__plugin_context7_context7__*- Working - Functions correctly
Problem
Claude preferentially uses the broken mcp__context7__* tools, which fail with:
Invalid API key. Please check your API key. API keys should start with 'ctx7sk' prefix.
When these fail, Claude falls back to web search instead of trying the working mcp__plugin_context7_context7__* variant.
Expected Behavior
The plugin should register only ONE set of tools with proper environment variable handling for the API key.
Environment
- Claude Code CLI
- Plugin:
context7@claude-plugins-officialenabled in~/.claude/settings.json - API key configured in
settings.jsonunderenv.CONTEXT7_API_KEY
Configuration
// ~/.claude/settings.json
{
"env": {
"CONTEXT7_API_KEY": "ctx7sk-..."
},
"enabledPlugins": {
"context7@claude-plugins-official": true
}
}
No separate MCP server configured in .mcp.json or claude_desktop_config.json.
Reproduction
- Enable
context7@claude-plugins-officialplugin - Set
CONTEXT7_API_KEYin settings.json env - Ask Claude to use Context7 to look up documentation
- Observe Claude uses
mcp__context7__resolve-library-idwhich fails - Claude falls back to web search instead of using working
mcp__plugin_context7_context7__resolve-library-id
Workaround
Explicitly use the mcp__plugin_context7_context7__* prefixed tools, but this requires knowing about the issue.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗