# MCP Servers Built-in Model Context Protocol (MCP) servers ship with oh-my-opencode-slim and give agents access to external tools — web search, library documentation, and code search. --- ## Built-in MCPs | MCP | Purpose | Endpoint | |-----|---------|----------| | `websearch` | Real-time web search via Exa AI | `https://mcp.exa.ai/mcp` | | `context7` | Official library documentation (up-to-date) | `https://mcp.context7.com/mcp` | | `grep_app` | GitHub code search via grep.app | `https://mcp.grep.app` | --- ## Default Permissions Per Agent | Agent | Default MCPs | |-------|-------------| | `orchestrator` | `*` | | `librarian` | `websearch`, `context7`, `grep_app` | | `designer` | none | | `oracle` | none | | `explorer` | none | | `fixer` | none | | `councillor` | none | | `council-master` | none | --- ## Configuring MCP Access Control which MCPs each agent can use via the `mcps` array in your preset config (`~/.config/opencode/oh-my-opencode-slim.json` or `.jsonc`): | Syntax | Meaning | |--------|---------| | `["*"]` | All MCPs | | `["*", "!context7"]` | All MCPs except `context7` | | `["websearch", "context7"]` | Only listed MCPs | | `[]` | No MCPs | | `["!*"]` | Deny all MCPs | **Rules:** - `*` expands to all available MCPs - `!item` excludes a specific MCP - Conflicts (e.g. `["a", "!a"]`) → deny wins **Example:** ```json { "presets": { "my-preset": { "orchestrator": { "mcps": ["*"] }, "librarian": { "mcps": ["websearch", "context7", "grep_app"] }, "oracle": { "mcps": ["*", "!websearch"] }, "fixer": { "mcps": [] } } } } ``` --- ## Disabling MCPs Globally To disable specific MCPs for all agents regardless of preset, add them to `disabled_mcps` at the root of your config: ```json { "disabled_mcps": ["websearch"] } ``` This is useful when you want to cut external network calls entirely (e.g. air-gapped environments or cost control).