d8f6d59dc2
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2.5 KiB
2.5 KiB
src/mcp/ — 5 Built-in MCPs
Generated: 2026-05-18
OVERVIEW
Tier 1 of the three-tier MCP system. Built-ins are created by createBuiltinMcps(disabledMcps, config, options) and now include both remote MCPs and local stdio MCPs.
BUILT-IN MCPs
| Name | Type | Endpoint / Command | Env Vars | Tools |
|---|---|---|---|---|
| websearch | remote | mcp.exa.ai (default) or mcp.tavily.com |
EXA_API_KEY (optional), TAVILY_API_KEY (if tavily) |
Web search |
| context7 | remote | mcp.context7.com/mcp |
CONTEXT7_API_KEY (optional) |
Library documentation |
| grep_app | remote | mcp.grep.app |
None | GitHub code search |
| lsp | local (stdio, node/bun) | node packages/lsp-tools-mcp/dist/cli.js mcp or bun packages/lsp-tools-mcp/src/cli.ts mcp |
LSP_TOOLS_MCP_PROJECT_CONFIG=.opencode/lsp.json |
status, diagnostics, goto definition, references, symbols, prepare_rename, rename |
| ast_grep | local (stdio, node/bun) | node packages/ast-grep-mcp/dist/cli.js mcp or bun packages/ast-grep-mcp/src/cli.ts mcp |
OMO_AST_GREP_WORKSPACE=<project> |
search, replace |
SUBMODULE ARCHITECTURE
- The local
lspMCP is a git submodule atpackages/lsp-tools-mcp/. - Upstream project: https://github.com/code-yeongyu/lsp-tools-mcp
- OMO resolves the CLI path dynamically in
src/mcp/lsp.tsso bothsrc/anddist/runtime layouts work. lspandast_grepare registered whenever they are not listed indisabled_mcps, even if their CLI artifacts have not been built yet. Source checkouts fall back to the Bun source CLI; packaged builds prefer the Node dist CLI.
THREE-TIER SYSTEM
| Tier | Source | Mechanism |
|---|---|---|
| 1. Built-in | src/mcp/ |
3 remote HTTP MCPs + 2 local stdio MCPs (lsp, ast_grep) via 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() registry for built-in MCPs |
types.ts |
McpNameSchema: "websearch" | "context7" | "grep_app" | "lsp" | "ast_grep" |
websearch.ts |
Exa/Tavily provider with config |
context7.ts |
Context7 with optional auth header |
grep-app.ts |
Grep.app (no auth) |
lsp.ts |
Local stdio MCP config for packaged lsp-tools-mcp |
ast-grep.ts |
Local stdio MCP config for packaged ast-grep-mcp |