2026-01-23 02:14:08 +09:00
|
|
|
# MCP KNOWLEDGE BASE
|
2026-01-19 20:18:26 +09:00
|
|
|
|
|
|
|
|
## OVERVIEW
|
|
|
|
|
|
2026-02-08 17:51:30 +09:00
|
|
|
Tier 1 of three-tier MCP system: 8 built-in remote HTTP MCPs.
|
2026-02-01 19:26:57 +09:00
|
|
|
|
|
|
|
|
**Three-Tier System**:
|
|
|
|
|
1. **Built-in** (this directory): websearch, context7, grep_app
|
|
|
|
|
2. **Claude Code compat**: `.mcp.json` with `${VAR}` expansion
|
|
|
|
|
3. **Skill-embedded**: YAML frontmatter in skills
|
2026-01-19 20:18:26 +09:00
|
|
|
|
|
|
|
|
## STRUCTURE
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
mcp/
|
|
|
|
|
├── index.ts # createBuiltinMcps() factory
|
2026-02-06 18:59:58 +09:00
|
|
|
├── websearch.ts # Exa AI / Tavily web search
|
2026-01-19 20:18:26 +09:00
|
|
|
├── context7.ts # Library documentation
|
|
|
|
|
├── grep-app.ts # GitHub code search
|
|
|
|
|
├── types.ts # McpNameSchema
|
|
|
|
|
└── index.test.ts # Tests
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## MCP SERVERS
|
|
|
|
|
|
|
|
|
|
| Name | URL | Purpose | Auth |
|
|
|
|
|
|------|-----|---------|------|
|
2026-02-02 03:37:02 +08:00
|
|
|
| websearch | mcp.exa.ai / mcp.tavily.com | Real-time web search | EXA_API_KEY / TAVILY_API_KEY |
|
2026-02-06 18:59:58 +09:00
|
|
|
| context7 | mcp.context7.com/mcp | Library docs | CONTEXT7_API_KEY (optional) |
|
2026-01-23 02:14:08 +09:00
|
|
|
| grep_app | mcp.grep.app | GitHub code search | None |
|
2026-01-19 20:18:26 +09:00
|
|
|
|
2026-02-02 03:37:02 +08:00
|
|
|
## Websearch Provider Configuration
|
|
|
|
|
|
|
|
|
|
| Provider | URL | Auth | API Key Required |
|
|
|
|
|
|----------|-----|------|------------------|
|
|
|
|
|
| exa (default) | mcp.exa.ai | x-api-key header | No (optional) |
|
|
|
|
|
| tavily | mcp.tavily.com | Authorization Bearer | Yes |
|
|
|
|
|
|
|
|
|
|
```jsonc
|
|
|
|
|
{
|
|
|
|
|
"websearch": {
|
|
|
|
|
"provider": "tavily" // or "exa" (default)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2026-01-19 20:18:26 +09:00
|
|
|
## CONFIG PATTERN
|
|
|
|
|
|
|
|
|
|
```typescript
|
|
|
|
|
export const mcp_name = {
|
|
|
|
|
type: "remote" as const,
|
|
|
|
|
url: "https://...",
|
|
|
|
|
enabled: true,
|
2026-01-23 02:14:08 +09:00
|
|
|
oauth: false as const,
|
|
|
|
|
headers?: { ... },
|
2026-01-19 20:18:26 +09:00
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## HOW TO ADD
|
|
|
|
|
|
2026-01-23 02:14:08 +09:00
|
|
|
1. Create `src/mcp/my-mcp.ts`
|
2026-01-19 20:18:26 +09:00
|
|
|
2. Add to `allBuiltinMcps` in `index.ts`
|
|
|
|
|
3. Add to `McpNameSchema` in `types.ts`
|
|
|
|
|
|
|
|
|
|
## NOTES
|
|
|
|
|
|
2026-01-23 02:14:08 +09:00
|
|
|
- **Remote only**: HTTP/SSE, no stdio
|
2026-01-26 11:48:30 +09:00
|
|
|
- **Disable**: User can set `disabled_mcps: ["name"]` in config
|
2026-02-06 18:59:58 +09:00
|
|
|
- **Exa**: Default provider, works without API key
|
2026-02-02 03:37:02 +08:00
|
|
|
- **Tavily**: Requires `TAVILY_API_KEY` env var
|