9f6d0d2281
- Bump root AGENTS.md header: 2026-05-14 → 2026-05-15, commit5ffbe0e24→53a740636, release v4.1.1 → v4.1.2 - Update file counts: 2034 (1337+697) → 2041 (1340+701), LOC ~292k → ~294k - Fix STRUCTURE: openclaw lives at src/openclaw/ (not src/features/); list more accurate feature modules in the parenthetical - Clarify interactive_bash gate: tmux binary on PATH via isInteractiveBashEnabled() (not 'tmux enabled') - Fix docs/reference/features.md hook counts: Tool Guard 14→16, Total base 52→54, total with team-mode 59→61 - Bump 'Generated' date on all 43 subdir AGENTS.md files to 2026-05-15 - Preserve promptAsync injection cautions verbatim (per request)
1.7 KiB
1.7 KiB
src/mcp/ — 3 Built-in Remote MCPs
Generated: 2026-05-15
OVERVIEW
Tier 1 of the three-tier MCP system. 3 remote HTTP MCPs created via createBuiltinMcps(disabledMcps, config).
BUILT-IN MCPs
| Name | URL | Env Vars | Tools |
|---|---|---|---|
| websearch | mcp.exa.ai (default) or mcp.tavily.com |
EXA_API_KEY (optional), TAVILY_API_KEY (if tavily) |
Web search |
| context7 | mcp.context7.com/mcp |
CONTEXT7_API_KEY (optional) |
Library documentation |
| grep_app | mcp.grep.app |
None | GitHub code search |
REGISTRATION PATTERN
// Static export (context7, grep_app)
export const context7 = {
type: "remote" as const,
url: "https://mcp.context7.com/mcp",
enabled: true,
oauth: false as const,
}
// Factory with config (websearch)
export function createWebsearchConfig(config?: WebsearchConfig): RemoteMcpConfig
ENABLE/DISABLE
// Method 1: disabled_mcps array
{ "disabled_mcps": ["websearch", "context7"] }
// Method 2: enabled flag
{ "mcp": { "websearch": { "enabled": false } } }
THREE-TIER SYSTEM
| Tier | Source | Mechanism |
|---|---|---|
| 1. Built-in | src/mcp/ |
3 remote HTTP, created by createBuiltinMcps() |
| 2. Claude Code | .mcp.json |
${VAR} expansion via claude-code-mcp-loader |
| 3. Skill-embedded | SKILL.md YAML | Managed by SkillMcpManager (stdio + HTTP) |
FILES
| File | Purpose |
|---|---|
index.ts |
createBuiltinMcps() factory |
types.ts |
McpNameSchema: "websearch" | "context7" | "grep_app" |
websearch.ts |
Exa/Tavily provider with config |
context7.ts |
Context7 with optional auth header |
grep-app.ts |
Grep.app (no auth) |