Skip to content

Commit afdd9d4

Browse files
tmchowclaude
andauthored
fix(mcp): remove bundled context7 MCP server (EveryInc#486)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 577db53 commit afdd9d4

File tree

5 files changed

+9
-65
lines changed

5 files changed

+9
-65
lines changed

plugins/compound-engineering/.claude-plugin/plugin.json

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,5 @@
2323
"image-generation",
2424
"agent-browser",
2525
"browser-automation"
26-
],
27-
"mcpServers": {
28-
"context7": {
29-
"type": "http",
30-
"url": "https://mcp.context7.com/mcp"
31-
}
32-
}
26+
]
3327
}

plugins/compound-engineering/.cursor-plugin/plugin.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,5 @@
2626
"image-generation",
2727
"agent-browser",
2828
"browser-automation"
29-
],
30-
"mcpServers": ".mcp.json"
29+
]
3130
}

plugins/compound-engineering/.mcp.json

Lines changed: 0 additions & 11 deletions
This file was deleted.

plugins/compound-engineering/README.md

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ AI-powered development tools that get smarter with every use. Make each unit of
88
|-----------|-------|
99
| Agents | 35+ |
1010
| Skills | 40+ |
11-
| MCP Servers | 1 |
1211

1312
## Skills
1413

@@ -175,24 +174,6 @@ Agents are specialized subagents invoked by skills — you typically don't call
175174
|-------|-------------|
176175
| `ankane-readme-writer` | Create READMEs following Ankane-style template for Ruby gems |
177176

178-
## MCP Servers
179-
180-
| Server | Description |
181-
|--------|-------------|
182-
| `context7` | Framework documentation lookup via Context7 |
183-
184-
### Context7
185-
186-
**Tools provided:**
187-
- `resolve-library-id` - Find library ID for a framework/package
188-
- `get-library-docs` - Get documentation for a specific library
189-
190-
Supports 100+ frameworks including Rails, React, Next.js, Vue, Django, Laravel, and more.
191-
192-
MCP servers start automatically when the plugin is enabled.
193-
194-
**Authentication:** To avoid anonymous rate limits, set the `CONTEXT7_API_KEY` environment variable with your Context7 API key. The plugin passes this automatically via the `x-api-key` header. Without it, requests go unauthenticated and will quickly hit the anonymous quota limit.
195-
196177
## Browser Automation
197178

198179
This plugin uses **agent-browser CLI** for browser automation tasks. Install it globally:
@@ -210,30 +191,6 @@ The `agent-browser` skill provides comprehensive documentation on usage.
210191
claude /plugin install compound-engineering
211192
```
212193

213-
## Known Issues
214-
215-
### MCP Servers Not Auto-Loading
216-
217-
**Issue:** The bundled Context7 MCP server may not load automatically when the plugin is installed.
218-
219-
**Workaround:** Manually add it to your project's `.claude/settings.json`:
220-
221-
```json
222-
{
223-
"mcpServers": {
224-
"context7": {
225-
"type": "http",
226-
"url": "https://mcp.context7.com/mcp",
227-
"headers": {
228-
"x-api-key": "${CONTEXT7_API_KEY:-}"
229-
}
230-
}
231-
}
232-
}
233-
```
234-
235-
Set `CONTEXT7_API_KEY` in your environment to authenticate. Or add it globally in `~/.claude/settings.json` for all projects.
236-
237194
## Version History
238195

239196
See the repo root [CHANGELOG.md](../../CHANGELOG.md) for canonical release history.

src/release/metadata.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,13 @@ export async function countSkillDirectories(root: string): Promise<number> {
9898

9999
export async function countMcpServers(pluginRoot: string): Promise<number> {
100100
const mcpPath = path.join(pluginRoot, ".mcp.json")
101-
const manifest = await readJson<{ mcpServers?: Record<string, unknown> }>(mcpPath)
102-
return Object.keys(manifest.mcpServers ?? {}).length
101+
try {
102+
const manifest = await readJson<{ mcpServers?: Record<string, unknown> }>(mcpPath)
103+
return Object.keys(manifest.mcpServers ?? {}).length
104+
} catch (err: unknown) {
105+
if ((err as NodeJS.ErrnoException).code === "ENOENT") return 0
106+
throw err
107+
}
103108
}
104109

105110
export async function getCompoundEngineeringCounts(root: string): Promise<CompoundEngineeringCounts> {

0 commit comments

Comments
 (0)