2ca40b9ba1
Context7 should mirror `websearch` by only sending auth when `CONTEXT7_API_KEY` is set. Change: set bearer auth in `headers` using `CONTEXT7_API_KEY` if said environment variable is set, otherwise leave `headers` to `undefined`.
1.7 KiB
1.7 KiB
MCP KNOWLEDGE BASE
OVERVIEW
3 remote MCP servers: web search, documentation, code search. HTTP/SSE transport. Part of three-tier MCP system.
STRUCTURE
mcp/
├── index.ts # createBuiltinMcps() factory
├── websearch.ts # Exa AI web search
├── context7.ts # Library documentation
├── grep-app.ts # GitHub code search
├── types.ts # McpNameSchema
└── index.test.ts # Tests
MCP SERVERS
| Name | URL | Purpose | Auth |
|---|---|---|---|
| websearch | mcp.exa.ai/mcp?tools=web_search_exa | Real-time web search | EXA_API_KEY |
| context7 | mcp.context7.com/mcp | Library docs | CONTEXT7_API_KEY |
| grep_app | mcp.grep.app | GitHub code search | None |
THREE-TIER MCP SYSTEM
- Built-in (this directory): websearch, context7, grep_app
- Claude Code compat:
.mcp.jsonwith${VAR}expansion - Skill-embedded: YAML frontmatter in skills (handled by skill-mcp-manager)
CONFIG PATTERN
export const mcp_name = {
type: "remote" as const,
url: "https://...",
enabled: true,
oauth: false as const,
headers?: { ... },
}
USAGE
import { createBuiltinMcps } from "./mcp"
const mcps = createBuiltinMcps() // Enable all
const mcps = createBuiltinMcps(["websearch"]) // Disable specific
HOW TO ADD
- Create
src/mcp/my-mcp.ts - Add to
allBuiltinMcpsinindex.ts - Add to
McpNameSchemaintypes.ts
NOTES
- Remote only: HTTP/SSE, no stdio
- Disable: User can set
disabled_mcps: ["name"]in config - Context7: Optional auth using
CONTEXT7_API_KEYenv var - Exa: Optional auth using
EXA_API_KEYenv var