mcp
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user