Best OpenCode MCP servers I'm using in 2026

by VarshisthOct 20, 202621 min read
MCP

When I first set up MCP servers, I installed everything. I added GitHub, Postgres, a browser, two doc servers, and a few others I never used. Then I asked my agent to rename a variable, and it took much longer than it should have. I removed most of the servers that day.

I learned one thing from this: more servers don't make your agent better, and they can slow it down.

OpenCode has built-in MCP support. You can connect local servers running on your machine or remote servers via a URL. These servers give OpenCode access to external tools, documentation, browsers, databases, and other services.

You also need to know how to turn off servers and control which agents can use their tools. I show you how to do both later in this article. All configs in this article use the V2 format. V2 is in beta, and it runs as opencode2. If you use V1, ask OpenCode to migrate your config, or check the migration guide.

Below are the 12 MCP servers that I think are the most useful in OpenCode in 2026.

TL;DR

Here is the full list, one line per server.

  • Composio MCP: OpenCode gets access to 1,500+ apps. Composio manages the sign-in for each app, and it loads tools only when OpenCode needs them.

  • Context7: OpenCode gets the current docs and code examples for the library version that you use.

  • Grep by Vercel: OpenCode searches public GitHub repositories for real code examples.

  • Playwright MCP: OpenCode controls and tests real browsers, and it reads each page through accessibility data.

  • Chrome DevTools MCP: OpenCode reads console output, network requests, and performance traces from Chrome.

  • Figma Dev Mode MCP: OpenCode gets design context from Figma, so it can turn a design into code.

  • Filesystem MCP: OpenCode reads and writes files in folders outside your project, but only in the folders that you allow.

  • Memory MCP: OpenCode stores facts in a knowledge graph and reuses them in later sessions.

  • Sequential Thinking MCP: OpenCode breaks a hard task into steps and can change a step when it finds a problem.

  • Git MCP: OpenCode examines and changes your local Git working tree.

  • Kubernetes MCP: OpenCode does Kubernetes and Helm operations within the limits that you set.

  • Docker MCP Gateway: OpenCode runs MCP servers in isolated containers, and Docker manages their secrets and lifecycle.

You do not need all 12. I suggest starting with Composio and Context7. After that, add a server only when it solves a real problem in your workflow.

For more on OpenCode’s extension ecosystem, see OpenCode Plugins and OpenCode Skills.

How MCP Servers Work With OpenCode

OpenCode reads MCP servers from the mcp.servers section of your config. You can keep this config in your project as opencode.json or opencode.jsonc, or keep shared servers in:

~/.config/opencode/opencode.json

OpenCode supports two server types.

A local server runs a command on your machine:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "chrome-devtools": {
        "type": "local",
        "command": ["npx", "-y", "chrome-devtools-mcp@latest"]
      }
    }
  }
}

The command is an array containing the executable and its arguments. Other agents may use separate command and args fields, so you cannot always copy their config into OpenCode as it is.

A remote server connects through an MCP endpoint:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "context7": {
        "type": "remote",
        "url": "<https://mcp.context7.com/mcp>"
      }
    }
  }
}

OpenCode handles OAuth for compatible remote servers. If a server needs sign-in, open OpenCode, run /mcps, select the server, and complete authentication.

You can also start the sign-in manually:

opencode2 mcp auth <server-name>

To see your MCP servers and their connection status, run:

opencode2 mcp list

If a remote server fails to connect, run /mcps to check its status and retry authentication. You can also reset stored OAuth credentials before signing in again:

opencode2 mcp logout <server-name>
opencode2 mcp auth <server-name>

You can add a remote server directly from your terminal:

opencode2 mcp add context7 --url <https://mcp.context7.com/mcp>

This adds the server to your project configuration. To make it available across projects, add --global:

opencode2 mcp add context7 --global --url <https://mcp.context7.com/mcp>

For a local server, pass its command after --:

opencode2 mcp add everything -- npx -y @modelcontextprotocol/server-everything

Keep your context small

This matters more than any single MCP server on this list.

OpenCode v2 uses Code Mode by default for MCP servers. Instead of exposing every MCP tool individually to the model, it groups them behind a code execution interface.

This reduces tool-definition overhead, but connected servers can still provide instructions, resources, and tool results that consume context. You should keep only the integrations you need and control which agents can access them.

There are three ways to do this.

1. Turn off servers when you do not need them.

Set disabled to true. OpenCode keeps the configuration but does not connect to the server.

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "playwright": {
        "type": "local",
        "command": ["npx", "-y", "@playwright/mcp@latest"],
        "disabled": true
      }
    }
  }
}

Remove disabled or set it to false to enable the server again.

2. Restrict MCP tools globally.

OpenCode names MCP tools using the server name followed by the tool name. You can use wildcard patterns to deny access to all tools from a particular server.

{
  "$schema": "https://opencode.ai/config.json",
  "permissions": [
    {
      "action": "playwright_*",
      "resource": "*",
      "effect": "deny"
    }
  ]
}

This restricts access to matching tools without disconnecting the server.

3. Allow MCP tools for one agent only.

You can deny a server's tools globally and allow them for a specific agent using an agent-level permission override.

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "playwright": {
        "type": "local",
        "command": ["npx", "-y", "@playwright/mcp@latest"]
      }
    }
  },
  "permissions": [
    {
      "action": "playwright_*",
      "resource": "*",
      "effect": "deny"
    }
  ],
  "agents": {
    "frontend": {
      "description": "Frontend development and browser testing",
      "mode": "subagent",
      "permissions": [
        {
          "action": "playwright_*",
          "resource": "*",
          "effect": "allow"
        }
      ]
    }
  }
}

Now your frontend agent can use the matching Playwright tools, while other agents remain restricted by the global rule.

OpenCode applies agent-specific permissions after global permissions, so the agent's allow rule takes precedence. The MCP server can remain connected, but only agents with the right permissions can use its tools.

For servers that use Code Mode, you can also control access to the execute action. If you want a server's tools exposed individually instead, set codemode to false in that server's configuration. Keep the default unless you have a specific reason to change it.

Note: These examples use the native OpenCode v2 configuration format as documented on October 16, 2026. OpenCode v2 still supports valid v1 MCP configurations, but the native v2 format uses mcp.servers, disabled, permissions, and agents. If you are migrating an existing setup, check the official migration guide before changing other configuration fields.

Sources

Best MCP servers for OpenCode in 2026

1. Composio MCP

Connects OpenCode to 1,500+ apps with managed authentication, tool discovery, and multi-app execution.

If I set up OpenCode from scratch, I would start with app integrations.

Most developer workflows leave the repository at some point. You need GitHub issues, Figma, Linear tickets, Slack messages, Gmail, Notion docs, Sentry errors, Supabase, Stripe, or another external system.

Composio gives OpenCode one managed way to use all of these services. You don't need a separate MCP server or sign-in for each app.

It also keeps your setup small. A direct GitHub MCP server can add many tool definitions on its own, but Composio finds the tools OpenCode needs when it needs them.

What it does

  • Connects OpenCode to 1,500+ external apps

  • Manages OAuth, API keys, refresh tokens, and scopes

  • Finds the relevant tools when OpenCode needs them

  • Runs workflows across many tools and apps

  • Keeps large tool context out of the model context

  • Works through the CLI or through MCP

Install

You can use the Composio CLI or the MCP server.

For the CLI, install it:

curl -fsSL <https://composio.dev/install> | sh

The installer adds composio to your PATH, and it edits your shell startup file. If you do not want that, set COMPOSIO_INSTALL_SHELL=none.

Then log in:

composio login

After you sign in, you can use the Composio CLI to search for tools, connect accounts, and run actions. OpenCode can use the CLI through its shell tools.

For the MCP route, add the server from your project:

opencode2 mcp add composio --url <https://connect.composio.dev/mcp>

Or add it to your config yourself:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "composio": {
        "type": "remote",
        "url": "https://connect.composio.dev/mcp"
      }
    }
  }
}

Then sign in. Open OpenCode, run /mcps, select composio, and complete the sign-in. You can also start it from the CLI:

opencode2 mcp auth composio

Then check the connection:

opencode2 mcp list

Check Composio before you install an app-specific MCP server. If Composio already has a managed toolkit for that app, use it, and you have one less server to maintain.

For a hands-on example, see How to integrate Gmail MCP with OpenCode.

Resources

2. Context7

Gives OpenCode current, version-specific documentation, so it does not rely only on its training data.

This is one of the easiest MCP servers to recommend for coding. It appears in almost every “top MCP servers” list I write, for Claude Code, Codex, Pi, and now OpenCode.

The OpenCode docs also use it as their own example.

Models know a lot about React, Next.js, MongoDB, Cloudflare, Supabase, and thousands of other libraries. The problem is that APIs change quickly.

Context7 pulls the latest docs and examples and adds the relevant parts to the agent’s context. So you can tell OpenCode to check the docs for the version you use, and it doesn't have to guess from its training data.

What it does

  • Gets current library documentation

  • Supports version-specific queries

  • Returns code examples

  • Resolves libraries into Context7 IDs

  • Reduces outdated API suggestions

  • Works through MCP or through its own CLI and skills

Install

The basic remote setup needs no key:

opencode2 mcp add context7 --url <https://mcp.context7.com/mcp>

Or in your config:

{
  "$schema": "<https://opencode.ai/config.json>",
  "mcp": {
    "servers": {
      "context7": {
        "type": "remote",
        "url": "<https://mcp.context7.com/mcp>"
      }
    }
  }
}

If you sign up for a free account, you can add an API key and get higher rate limits:

{
  "$schema": "<https://opencode.ai/config.json>",
  "mcp": {
    "servers": {
      "context7": {
        "type": "remote",
        "url": "<https://mcp.context7.com/mcp>",
        "oauth": false,
        "headers": {
          "CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
        }
      }
    }
  }
}

The {env:...} syntax reads the value from an environment variable, so your key stays out of the file. Set oauth to false when you use a key, because OpenCode V2 tries OAuth on every remote server by default. Context7 also accepts the key as "Authorization": "Bearer {env:CONTEXT7_API_KEY}".

You can also add the key from the CLI:

opencode2 mcp add context7 --url <https://mcp.context7.com/mcp> --header 'CONTEXT7_API_KEY={env:CONTEXT7_API_KEY}'

Then add use context7 to your prompt, or add this line to your AGENTS.md:

When you need to search docs, use `context7` tools.

⚠️ Context7 docs can include content from the community. The project says it cannot guarantee the accuracy or security of every library entry, so verify anything that affects security.

Resources

3. Grep by Vercel

Lets OpenCode search real code from public GitHub repositories.

Context7 tells OpenCode what the docs say, and Grep shows OpenCode how real projects use the code.

These two work well together. Docs often show the simple case, while real code shows edge cases, config options, and production patterns.

What it does

  • Searches code across public GitHub repositories

  • Finds real usage examples for APIs and libraries

  • Supports exact and pattern-based searches

  • Helps when the docs are thin or out of date

  • Needs no API key

  • Runs as a remote server, so you install nothing

Install

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "gh_grep": {
        "type": "remote",
        "url": "<https://mcp.grep.app>"
      }
    }
  }
}

Then add use the gh_grep tool to your prompt, or add this line to your AGENTS.md:

If you are unsure how to do something, use `gh_grep` to search code examples from GitHub.

Public code is not always good code. Use Grep to find patterns, and then check them against the official docs before you trust them.

Resources

4. Playwright MCP

Gives OpenCode repeatable browser automation through structured page data.

If you use OpenCode for frontend work, Playwright MCP is one of the most useful servers on this list.

It controls a real browser and gives the agent the page as accessibility snapshots. The agent can understand elements, forms, buttons, text, and page structure, so it does not have to rely only on screenshots.

This makes it useful for test workflows, where OpenCode must interact with the browser many times and check each result.

What it does

  • Automates Chromium, Firefox, and WebKit

  • Reads structured accessibility snapshots

  • Clicks, types, navigates, and fills forms

  • Captures screenshots

  • Supports end-to-end test workflows

  • Helps agents write or repair browser tests

Install

{
  "$schema": "<https://opencode.ai/config.json>",
  "mcp": {
    "servers": {
      "playwright": {
        "type": "local",
        "command": ["npx", "-y", "@playwright/mcp@latest"]
      }
    }
  }
}

Playwright adds many tools, so it is a good server to allow only for a frontend agent. I show how to do this in the section above.

Use Playwright when OpenCode needs a long browser session and structured page interaction. For simple browser tasks, Microsoft now points developers to its CLI and skills workflow, because it can use fewer tokens.

There is also a security detail that you should know.

A reported Playwright MCP issue showed a password field's contents in accessibility snapshots. Browser agents can see sensitive page data, so keep test accounts separate from your personal or production accounts.

Resources

5. Chrome DevTools MCP

Lets OpenCode inspect, debug, and profile a real Chrome browser.

Playwright and Chrome DevTools look similar at first, but I use them for different jobs.

Playwright is better when OpenCode needs repeatable browser interaction and tests across many browsers.

Chrome DevTools MCP is better when you want to know why the app is slow, why a request failed, what the console shows, or what Chrome did when it rendered the page.

What it does

  • Reads browser console output

  • Inspects network requests

  • Captures screenshots and page state

  • Records performance traces

  • Helps you examine metrics such as LCP and CLS

  • Controls a live Chrome browser

Install

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "chrome-devtools": {
        "type": "local",
        "command": ["npx", "-y", "chrome-devtools-mcp@latest"]
      }
    }
  }
}

For a clean, temporary browser session, add --isolated:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "chrome-devtools": {
        "type": "local",
        "command": [
          "npx",
          "-y",
          "chrome-devtools-mcp@latest",
          "--isolated"
        ]
      }
    }
  }
}

⚠️ Chrome DevTools MCP can see everything in the browser session that it connects to, and this includes sensitive page data. Do not connect it to your normal Chrome profile unless the task needs that access.

Resources

6. Figma Dev Mode MCP

Gives OpenCode structured Figma design context for design-to-code work.

Composio already has a Figma toolkit, but I kept Figma’s own MCP server on this list because the two do different jobs.

The Composio toolkit covers normal Figma API actions. Figma’s MCP server gives coding agents design context, such as components, variables, layout data, screenshots, and Code Connect mappings.

This makes it much more useful when OpenCode builds an interface from a real design.

If you prefer to connect Figma through Composio, see How to Connect Figma MCP to OpenCode.

What it does

  • Extracts structured design context

  • Reads components and variables

  • Gets screenshots for visual reference

  • Works with Code Connect mappings

  • Helps generate code from selected frames

Before you install

Figma has two MCP servers, and this matters for OpenCode.

The remote server is Figma's recommended option for supported clients. However, remote access depends on Figma's client compatibility requirements, and you should check OpenCode support against the current Figma MCP Catalogue.

The desktop server runs locally through the Figma desktop app. It uses http://127.0.0.1:3845/mcp and is a practical alternative for OpenCode when remote authentication is unavailable.

Install

For the desktop server, first turn on the MCP server in the Figma desktop app. Then add the local address that Figma shows to your config. In current versions, the address is http://127.0.0.1:3845/mcp, but check Figma’s desktop server guide to confirm it.

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "figma-desktop": {
        "type": "remote",
        "url": "<http://127.0.0.1:3845/mcp>",
        "oauth": false
      }
    }
  }
}

If OpenCode appears in the Figma MCP Catalog later, you can use the remote server:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "figma": {
        "type": "remote",
        "url": "<https://mcp.figma.com/mcp>"
      }
    }
  }
}

Then run /mcps in OpenCode, select figma, and sign in.

💡 If you use a design system, connect your Figma components to your codebase with Code Connect. Figma recommends this, because the agent can then reuse your real components, and it does not have to guess how the design maps to code.

⚠️ Check your Figma plan before you depend on this server. The MCP rate limits change by plan.

Resources

7. Filesystem MCP

Gives OpenCode controlled access to the local directories that you allow.

OpenCode can already read and edit files in your project. It can also reach files outside your project, but by default, it asks you first each time.

So why add another filesystem tool?

For me, the useful part is a fixed scope. The server touches only the directories that you list. You can give OpenCode access to docs, exported designs, notes, generated files, or a shared workspace, and the server enforces that list.

This server does not change OpenCode’s own rules for external directories. If you changed that rule to allow before, set it back to ask:

{"permissions": [{ "action": "external_directory", "resource": "*", "effect": "ask" }  ]}

What it does

  • Reads and writes files

  • Creates and lists directories

  • Moves files and directories

  • Searches local files

  • Reads file metadata

  • Limits access to the allowed directories

It is part of the official modelcontextprotocol/servers reference repository.

Install

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "filesystem": {
        "type": "local",
        "command": [
          "npx",
          "-y",
          "@modelcontextprotocol/server-filesystem",
          "/path/to/allowed/directory"
        ]
      }
    }
  }
}

To allow more directories, add more paths to the command array.

💡 Do not point this server at your full home directory. Give OpenCode the smallest scope that solves the task.

Resources

8. Memory MCP

Gives OpenCode persistent knowledge-graph memory across sessions.

OpenCode sessions end, and you lose useful project context unless something stores it.

Memory MCP gives the agent a simple knowledge graph that stays after the session ends. It stores entities, relations, and observations.

So OpenCode can keep facts such as architecture decisions, ownership, naming rules, and project rules, and reuse them later.

What it does

  • Stores entities that persist

  • Records relations between entities

  • Adds observations to known entities

  • Searches stored knowledge

  • Keeps the data in a local JSONL file

  • Keeps useful context across sessions

Like Filesystem, it is part of the official modelcontextprotocol/servers repository.

Install

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "memory": {
        "type": "local",
        "command": [
          "npx",
          "-y",
          "@modelcontextprotocol/server-memory"
        ]
      }
    }
  }
}

You can also choose where the memory file lives:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "memory": {
        "type": "local",
        "command": [
          "npx",
          "-y",
          "@modelcontextprotocol/server-memory"
        ],
        "environment": {
          "MEMORY_FILE_PATH": "/absolute/path/to/memory.jsonl"
        }
      }
    }
  }
}

OpenCode uses environment for environment variables, while many other agents use env. Use a full absolute path here, because older versions of the server do not expand ~.

⚠️ This memory is simple on purpose. It does not keep users apart, and it does not reason about time. You still decide what OpenCode should remember. For fixed project rules, a plain AGENTS.md file is often enough.

Resources

9. Sequential Thinking MCP

Gives OpenCode a structured way to break down and revise hard, multi-step reasoning.

I would not keep this on for every small coding task.

It helps when a task has many steps. OpenCode can work through them one at a time, change earlier assumptions, try other options, and then continue.

Use it for architecture changes, migrations, hard debugging, or any work where one wrong assumption can affect many later steps.

What it does

  • Breaks problems into ordered steps

  • Lets the agent revise earlier steps

  • Supports other lines of reasoning

  • Changes the expected number of steps during the work

  • Helps with planning and debugging

  • Works without an external API

It is another official reference server in the modelcontextprotocol/servers repository.

Install

{
  "$schema": "<https://opencode.ai/config.json>",
  "mcp": {
    "servers": {
      "sequential-thinking": {
        "type": "local",
        "command": [
          "npx",
          "-y",
          "@modelcontextprotocol/server-sequential-thinking"
        ]
      }
    }
  }
}

You can also run it through Docker:

{
  "$schema": "<https://opencode.ai/config.json>",
  "mcp": {
    "servers": {
      "sequential-thinking": {
        "type": "local",
        "command": [
          "docker",
          "run",
          "--rm",
          "-i",
          "mcp/sequentialthinking"
        ]
      }
    }
  }
}

💡 OpenCode already has a built-in Plan agent that explores and plans without editing your project files. Try it first, and add Sequential Thinking only when the problem needs more structure. This server adds work and tokens, so it does not make sense for a small edit.

Resources

10. Git MCP

Lets OpenCode work directly with the local Git repository that it edits.

Composio gives OpenCode access to GitHub, but GitHub and Git cover different parts of the workflow.

The GitHub integration works with the remote service for issues, pull requests, workflows, and repository APIs.

Git MCP works with your local checkout. So it helps when OpenCode needs to examine changes, review history, stage files, or make commits before anything goes to GitHub.

What it does

  • Reads repository status

  • Shows diffs

  • Searches commit history

  • Stages changes

  • Creates commits

  • Works directly on the local repository

It is part of the official MCP reference server repository.

Install

This server uses Python, and it works well through uvx:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "git": {
        "type": "local",
        "command": [
          "uvx",
          "mcp-server-git",
          "--repository",
          "/path/to/repository"
        ]
      }
    }
  }
}

You can also install it with pip.

💡 OpenCode already has a shell tool, so it can run Git commands by itself. Add Git MCP when you want explicit Git tools and closer control. You can also make OpenCode ask before it runs Git commands in the shell:

{"permissions": [{ "action": "shell", "resource": "git *", "effect": "ask" }]}

In V2, the permission action for shell commands is shell. V1 used bash.

Resources

11. Kubernetes MCP

Lets OpenCode examine and manage Kubernetes clusters through MCP tools.

From here, the list gets much more specific to your stack.

If you do not run Kubernetes, skip this one.

If you do, it gives OpenCode structured tools for cluster operations, so OpenCode does not have to build every kubectl or Helm command by hand.

What it does

  • Lists and examines Kubernetes resources

  • Manages pods and deployments

  • Applies manifests

  • Supports Helm operations

  • Handles port forwarding

  • Uses your configured kubeconfig

Install

First, make sure that kubectl works:

kubectl get pods

Then add the server. I suggest that you start in read-only mode:

{
  "$schema": "<https://opencode.ai/config.json>",
  "mcp": {
    "servers": {
      "kubernetes": {
        "type": "local",
        "command": [
          "npx",
          "-y",
          "mcp-server-kubernetes@3.9.0"
        ],
        "environment": {
          "ALLOW_ONLY_READONLY_TOOLS": "true"
        }
      }
    }
  }
}

Read-only mode allows only the tools that cannot change cluster state.

The server also has a non-destructive mode, ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS. It blocks deletes, but it still lets OpenCode create and change resources, for example when it applies manifests. Use it only when you want OpenCode to make changes.

⚠️ Use version 3.9.0 or later. The config above pins 3.9.0, so update the version number when a new release comes out. This server uses your real Kubernetes permissions. The restriction modes are a filter inside the server, and they do not replace real access control. Give the server a kubeconfig with limited RBAC permissions before you let an agent near an important cluster.

Resources

12. Docker MCP Gateway

Runs and manages MCP servers in isolated Docker containers.

Docker MCP Gateway is a different kind of entry.

It does not add features such as memory or browser debugging. It lets you run your MCP servers through Docker.

The Gateway manages server lifecycle, credentials, routing, OAuth, and isolated containers. This helps when you run many local MCP servers and don't want every package running directly on your machine.

It can also keep your OpenCode config short. You connect one Gateway, and it manages the servers behind it.

What it does

  • Runs MCP servers in isolated containers

  • Manages the lifecycle of each server

  • Manages secrets and credentials

  • Supports OAuth flows

  • Finds tools as the agent needs them

  • Adds central logs and call traces

Install

You need Docker Desktop 4.59 or later. Turn on MCP Toolkit in Docker Desktop settings, and then check that the MCP CLI works:

docker mcp --help

With MCP Toolkit enabled, Docker Desktop runs the Gateway for you. So the easiest way is to let Docker connect OpenCode:

docker mcp client connect opencode

Add --global to change your global OpenCode config. After that, run opencode2 mcp list to check the connection.

You can also add the Gateway to your config yourself. OpenCode then starts it as a local server:

{
  "$schema": "<https://opencode.ai/config.json>",
  "mcp": {
    "servers": {
      "docker-gateway": {
        "type": "local",
        "command": [
          "docker",
          "mcp",
          "gateway",
          "run"
        ]
      }
    }
  }
}

To run only one group of servers, add "--profile", "<profile-name>" to the command array.

💡 Look at Docker MCP Gateway when your setup grows past a few simple local servers. Containers also give you a cleaner boundary than npx and uvx packages that run directly on your machine.

Resources

Wrapping Up

I would not install all 12 on day one.

Each server adds tools, instructions, setup work, and security risk. Keep your main setup small, turn off the servers you don't need, and use agent permissions for the rest.

Here is the order that I suggest:

When you need

Add

External apps

Composio

Current library docs

Context7

Real code examples

Grep

Frontend testing and debugging

Playwright and Chrome DevTools (allow them only for a frontend agent)

More local context

Filesystem, Memory, and Git

Cluster or container work

Kubernetes or Docker MCP Gateway

Start with the first two rows, and add the others only when your workflow needs them.

You also do not need a separate server for each app. GitHub, Notion, Stripe, Sentry, Firecrawl, Exa, Slack, Jira, and similar apps are already available through Composio, which supports over 1,500 apps. Each extra server adds another sign-in, more config, and another thing to maintain.

Keep security in mind too. An MCP server runs with the access that you give it:

  • Filesystem can read your files.

  • Chrome DevTools can see your browser state.

  • Kubernetes can change your clusters.

  • Docker can run containers.

So give each server the smallest permissions that it needs. Then use OpenCode’s permissions config to make the agent ask before it does anything risky.

That is pretty much it.

Get started

Your agents can
do more

Connect your agents to 1,500+ apps. Start for free, no credit card needed.

Are you an AI agent? See setup options
V
AuthorVarshisth

Share