fix(mcp): remove bundled context7 MCP server (#486)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -23,11 +23,5 @@
|
|||||||
"image-generation",
|
"image-generation",
|
||||||
"agent-browser",
|
"agent-browser",
|
||||||
"browser-automation"
|
"browser-automation"
|
||||||
],
|
]
|
||||||
"mcpServers": {
|
|
||||||
"context7": {
|
|
||||||
"type": "http",
|
|
||||||
"url": "https://mcp.context7.com/mcp"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,5 @@
|
|||||||
"image-generation",
|
"image-generation",
|
||||||
"agent-browser",
|
"agent-browser",
|
||||||
"browser-automation"
|
"browser-automation"
|
||||||
],
|
]
|
||||||
"mcpServers": ".mcp.json"
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"mcpServers": {
|
|
||||||
"context7": {
|
|
||||||
"type": "http",
|
|
||||||
"url": "https://mcp.context7.com/mcp",
|
|
||||||
"headers": {
|
|
||||||
"x-api-key": "${CONTEXT7_API_KEY:-}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -8,7 +8,6 @@ AI-powered development tools that get smarter with every use. Make each unit of
|
|||||||
|-----------|-------|
|
|-----------|-------|
|
||||||
| Agents | 35+ |
|
| Agents | 35+ |
|
||||||
| Skills | 40+ |
|
| Skills | 40+ |
|
||||||
| MCP Servers | 1 |
|
|
||||||
|
|
||||||
## Skills
|
## Skills
|
||||||
|
|
||||||
@@ -175,24 +174,6 @@ Agents are specialized subagents invoked by skills — you typically don't call
|
|||||||
|-------|-------------|
|
|-------|-------------|
|
||||||
| `ankane-readme-writer` | Create READMEs following Ankane-style template for Ruby gems |
|
| `ankane-readme-writer` | Create READMEs following Ankane-style template for Ruby gems |
|
||||||
|
|
||||||
## MCP Servers
|
|
||||||
|
|
||||||
| Server | Description |
|
|
||||||
|--------|-------------|
|
|
||||||
| `context7` | Framework documentation lookup via Context7 |
|
|
||||||
|
|
||||||
### Context7
|
|
||||||
|
|
||||||
**Tools provided:**
|
|
||||||
- `resolve-library-id` - Find library ID for a framework/package
|
|
||||||
- `get-library-docs` - Get documentation for a specific library
|
|
||||||
|
|
||||||
Supports 100+ frameworks including Rails, React, Next.js, Vue, Django, Laravel, and more.
|
|
||||||
|
|
||||||
MCP servers start automatically when the plugin is enabled.
|
|
||||||
|
|
||||||
**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.
|
|
||||||
|
|
||||||
## Browser Automation
|
## Browser Automation
|
||||||
|
|
||||||
This plugin uses **agent-browser CLI** for browser automation tasks. Install it globally:
|
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.
|
|||||||
claude /plugin install compound-engineering
|
claude /plugin install compound-engineering
|
||||||
```
|
```
|
||||||
|
|
||||||
## Known Issues
|
|
||||||
|
|
||||||
### MCP Servers Not Auto-Loading
|
|
||||||
|
|
||||||
**Issue:** The bundled Context7 MCP server may not load automatically when the plugin is installed.
|
|
||||||
|
|
||||||
**Workaround:** Manually add it to your project's `.claude/settings.json`:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"mcpServers": {
|
|
||||||
"context7": {
|
|
||||||
"type": "http",
|
|
||||||
"url": "https://mcp.context7.com/mcp",
|
|
||||||
"headers": {
|
|
||||||
"x-api-key": "${CONTEXT7_API_KEY:-}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Set `CONTEXT7_API_KEY` in your environment to authenticate. Or add it globally in `~/.claude/settings.json` for all projects.
|
|
||||||
|
|
||||||
## Version History
|
## Version History
|
||||||
|
|
||||||
See the repo root [CHANGELOG.md](../../CHANGELOG.md) for canonical release history.
|
See the repo root [CHANGELOG.md](../../CHANGELOG.md) for canonical release history.
|
||||||
|
|||||||
@@ -98,8 +98,13 @@ export async function countSkillDirectories(root: string): Promise<number> {
|
|||||||
|
|
||||||
export async function countMcpServers(pluginRoot: string): Promise<number> {
|
export async function countMcpServers(pluginRoot: string): Promise<number> {
|
||||||
const mcpPath = path.join(pluginRoot, ".mcp.json")
|
const mcpPath = path.join(pluginRoot, ".mcp.json")
|
||||||
|
try {
|
||||||
const manifest = await readJson<{ mcpServers?: Record<string, unknown> }>(mcpPath)
|
const manifest = await readJson<{ mcpServers?: Record<string, unknown> }>(mcpPath)
|
||||||
return Object.keys(manifest.mcpServers ?? {}).length
|
return Object.keys(manifest.mcpServers ?? {}).length
|
||||||
|
} catch (err: unknown) {
|
||||||
|
if ((err as NodeJS.ErrnoException).code === "ENOENT") return 0
|
||||||
|
throw err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getCompoundEngineeringCounts(root: string): Promise<CompoundEngineeringCounts> {
|
export async function getCompoundEngineeringCounts(root: string): Promise<CompoundEngineeringCounts> {
|
||||||
|
|||||||
Reference in New Issue
Block a user