71 lines
1.7 KiB
Markdown
71 lines
1.7 KiB
Markdown
|
|
# BUILT-IN MCP CONFIGURATIONS
|
||
|
|
|
||
|
|
## OVERVIEW
|
||
|
|
|
||
|
|
3 remote MCP servers for web search, documentation, and code search. All use HTTP/SSE transport, no OAuth.
|
||
|
|
|
||
|
|
## 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` | Real-time web search | `EXA_API_KEY` header |
|
||
|
|
| **context7** | `mcp.context7.com` | Official library docs | None |
|
||
|
|
| **grep_app** | `mcp.grep.app` | GitHub code search | None |
|
||
|
|
|
||
|
|
## CONFIG PATTERN
|
||
|
|
|
||
|
|
All MCPs follow identical structure:
|
||
|
|
```typescript
|
||
|
|
export const mcp_name = {
|
||
|
|
type: "remote" as const,
|
||
|
|
url: "https://...",
|
||
|
|
enabled: true,
|
||
|
|
oauth: false as const, // Explicit disable
|
||
|
|
headers?: { ... }, // Optional auth
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
## USAGE
|
||
|
|
|
||
|
|
```typescript
|
||
|
|
import { createBuiltinMcps } from "./mcp"
|
||
|
|
|
||
|
|
// Enable all
|
||
|
|
const mcps = createBuiltinMcps()
|
||
|
|
|
||
|
|
// Disable specific
|
||
|
|
const mcps = createBuiltinMcps(["websearch"])
|
||
|
|
```
|
||
|
|
|
||
|
|
## HOW TO ADD
|
||
|
|
|
||
|
|
1. Create `src/mcp/my-mcp.ts`:
|
||
|
|
```typescript
|
||
|
|
export const my_mcp = {
|
||
|
|
type: "remote" as const,
|
||
|
|
url: "https://mcp.example.com",
|
||
|
|
enabled: true,
|
||
|
|
oauth: false as const,
|
||
|
|
}
|
||
|
|
```
|
||
|
|
2. Add to `allBuiltinMcps` in `index.ts`
|
||
|
|
3. Add to `McpNameSchema` in `types.ts`
|
||
|
|
|
||
|
|
## NOTES
|
||
|
|
|
||
|
|
- **Remote only**: All built-in MCPs use HTTP/SSE, no stdio
|
||
|
|
- **Disable config**: User can disable via `disabled_mcps: ["name"]`
|
||
|
|
- **Exa requires key**: Set `EXA_API_KEY` env var for websearch
|