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:

  1. mcp__context7__* - Broken - Returns "Invalid API key" error
  2. mcp__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-official enabled in ~/.claude/settings.json
  • API key configured in settings.json under env.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

  1. Enable context7@claude-plugins-official plugin
  2. Set CONTEXT7_API_KEY in settings.json env
  3. Ask Claude to use Context7 to look up documentation
  4. Observe Claude uses mcp__context7__resolve-library-id which fails
  5. 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.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗