MCP-Server
Lokale und entfernte MCP-Tools hinzufugen.
Sie konnen externe Tools zu OpenCode hinzufugen, indem Sie das Model Context Protocol, oder MCP, verwenden. OpenCode unterstutzt sowohl lokale als auch entfernte Server.
Sobald hinzugefugt, sind MCP-Tools automatisch fur das LLM neben den integrierten Tools verfugbar.
Warnhinweise
Wenn Sie einen MCP-Server verwenden, fugt er dem Kontext hinzu. Dies kann sich schnell summieren, wenn Sie viele Tools haben. Wir empfehlen daher, vorsichtig mit den MCP-Servern zu sein, die Sie verwenden.
Bestimmte MCP-Server, wie der GitHub MCP-Server, neigen dazu, viele Tokens hinzuzufugen und konnen leicht das Kontextlimit uberschreiten.
Aktivieren
Sie konnen MCP-Server in Ihrer OpenCode-Konfiguration unter mcp definieren. Fugen Sie jeden MCP mit einem eindeutigen Namen hinzu. Sie konnen sich in Ihrer Eingabeaufforderung an den LLM mit diesem MCP-Namen beziehen.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "name-of-mcp-server": { // ... "enabled": true, }, "name-of-other-mcp-server": { // ... }, },}Sie konnen einen Server auch deaktivieren, indem Sie enabled auf false setzen. Dies ist nutzlich, wenn Sie einen Server vorubergehend deaktivieren mochten, ohne ihn aus Ihrer Konfiguration zu entfernen.
Remote-Standardwerte uberschreiben
Organisationen konnen Standard-MCP-Server uber ihren .well-known/opencode-Endpunkt bereitstellen. Diese Server konnen standardmaBig deaktiviert sein, sodass Benutzer die von ihnen benotigten auswahlen konnen.
Um einen bestimmten Server aus der Remote-Konfiguration Ihrer Organisation zu aktivieren, fugen Sie ihn Ihrer lokalen Konfiguration mit enabled: true hinzu:
{ "$schema": "https://opencode.ai/config.json", "mcp": { "jira": { "type": "remote", "url": "https://jira.example.com/mcp", "enabled": true } }}Ihre lokalen Konfigurationswerte uberschreiben die Remote-Standardwerte. Siehe Konfigurationsrangfolge fur weitere Details.
Lokal
Fugen Sie lokale MCP-Server hinzu, indem Sie type im MCP-Objekt auf "local" setzen.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "my-local-mcp-server": { "type": "local", // Oder ["bun", "x", "my-mcp-command"] "command": ["npx", "-y", "my-mcp-command"], "enabled": true, "environment": { "MY_ENV_VAR": "my_env_var_value", }, }, },}Der Befehl ist, wie der lokale MCP-Server gestartet wird. Sie konnen auch eine Liste von Umgebungsvariablen ubergeben.
Beispielsweise konnen Sie hier sehen, wie Sie den Test-MCP-Server @modelcontextprotocol/server-everything hinzufugen konnen.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "mcp_everything": { "type": "local", "command": ["npx", "-y", "@modelcontextprotocol/server-everything"], }, },}Und um ihn zu verwenden, kann ich use the mcp_everything tool zu meinen Prompts hinzufugen.
use the mcp_everything tool to add the number 3 and 4Optionen
Hier sind alle Optionen zur Konfiguration eines lokalen MCP-Servers.
| Option | Type | Required | Description |
|---|---|---|---|
type | String | Y | MCP-Verbindungstyp, muss "local" sein. |
command | Array | Y | Befehl und Argumente zum Ausfuhren des MCP-Servers. |
environment | Object | Umgebungsvariablen, die beim Ausfuhren des Servers festgelegt werden sollen. | |
enabled | Boolean | MCP-Server beim Start aktivieren oder deaktivieren. | |
timeout | Number | Zeituberschreitung in ms zum Abrufen von Tools vom MCP-Server. Standard 5000 (5 Sekunden). |
Remote
Fugen Sie Remote-MCP-Server hinzu, indem Sie type auf "remote" setzen.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "my-remote-mcp": { "type": "remote", "url": "https://my-mcp-server.com", "enabled": true, "headers": { "Authorization": "Bearer MY_API_KEY" } } }}Die url ist die URL des Remote-MCP-Servers und mit der Option headers konnen Sie eine Liste von Kopfzeilen ubergeben.
Optionen
| Option | Type | Required | Description |
|---|---|---|---|
type | String | Y | MCP-Verbindungstyp, muss "remote" sein. |
url | String | Y | URL des Remote-MCP-Servers. |
enabled | Boolean | MCP-Server beim Start aktivieren oder deaktivieren. | |
headers | Object | Kopfzeilen, die mit der Anfrage gesendet werden sollen. | |
oauth | Object | OAuth-Authentifizierungskonfiguration. Siehe Abschnitt OAuth unten. | |
timeout | Number | Zeituberschreitung in ms zum Abrufen von Tools vom MCP-Server. Standard 5000 (5 Sekunden). |
OAuth
OpenCode verwaltet die OAuth-Authentifizierung automatisch fur Remote-MCP-Server. Wenn ein Server Authentifizierung erfordert, wird OpenCode:
- Die 401-Antwort erkennen und den OAuth-Flow einleiten
- Die Dynamic Client Registration (RFC 7591) verwenden, wenn vom Server unterstutzt
- Tokens sicher fur zukunftige Anfragen speichern
Automatisch
Bei den meisten OAuth-fahigen MCP-Servern ist keine spezielle Konfiguration erforderlich. Konfigurieren Sie einfach den Remote-Server:
{ "$schema": "https://opencode.ai/config.json", "mcp": { "my-oauth-server": { "type": "remote", "url": "https://mcp.example.com/mcp" } }}Wenn der Server Authentifizierung erfordert, werden Sie aufgefordert, sich zu authentifizieren, wenn Sie versuchen, ihn zum ersten Mal zu verwenden. Andernfalls konnen Sie den Flow manuell auslosen mit opencode mcp auth <server-name>.
Vorregistriert
Wenn Sie Anmeldedaten vom MCP-Server-Anbieter haben, konnen Sie sie konfigurieren:
{ "$schema": "https://opencode.ai/config.json", "mcp": { "my-oauth-server": { "type": "remote", "url": "https://mcp.example.com/mcp", "oauth": { "clientId": "{env:MY_MCP_CLIENT_ID}", "clientSecret": "{env:MY_MCP_CLIENT_SECRET}", "scope": "tools:read tools:execute" } } }}Authentifizierung
Sie konnen die Authentifizierung manuell auslosen oder Anmeldedaten verwalten.
Authentifizieren Sie sich mit einem bestimmten MCP-Server:
opencode mcp auth my-oauth-serverAlle MCP-Server und ihren Authentifizierungsstatus auflisten:
opencode mcp listGespeicherte Anmeldedaten entfernen:
opencode mcp logout my-oauth-serverDer Befehl mcp auth offnet Ihren Browser fur die Autorisierung. Nach der Autorisierung speichert OpenCode die Tokens sicher in ~/.local/share/opencode/mcp-auth.json.
OAuth deaktivieren
Wenn Sie automatisches OAuth fur einen Server deaktivieren mochten (z. B. fur Server, die stattdessen API-Schlussel verwenden), setzen Sie oauth auf false:
{ "$schema": "https://opencode.ai/config.json", "mcp": { "my-api-key-server": { "type": "remote", "url": "https://mcp.example.com/mcp", "oauth": false, "headers": { "Authorization": "Bearer {env:MY_API_KEY}" } } }}OAuth-Optionen
| Option | Type | Description |
|---|---|---|
oauth | Object | false | OAuth-Konfigurationsobjekt oder false zum Deaktivieren der OAuth-Autoerkennung. |
clientId | String | OAuth-Client-ID. Wenn nicht angegeben, wird die dynamische Client-Registrierung versucht. |
clientSecret | String | OAuth-Client-Secret, falls vom Autorisierungsserver erforderlich. |
scope | String | OAuth-Bereiche, die wahrend der Autorisierung angefordert werden sollen. |
Debugging
Wenn ein Remote-MCP-Server nicht authentifiziert werden kann, konnen Sie Probleme diagnostizieren mit:
# Authentifizierungsstatus fur alle OAuth-fahigen Server anzeigenopencode mcp auth list
# Verbindung und OAuth-Flow fur einen bestimmten Server debuggenopencode mcp debug my-oauth-serverDer Befehl mcp debug zeigt den aktuellen Authentifizierungsstatus, testet die HTTP-Konnektivitat und versucht den OAuth-Discovery-Flow.
Verwalten
Ihre MCPs sind als Tools in OpenCode verfugbar, neben den integrierten Tools. Sie konnen sie also uber die OpenCode-Konfiguration wie jedes andere Tool verwalten.
Global
Das bedeutet, dass Sie sie global aktivieren oder deaktivieren konnen.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "my-mcp-foo": { "type": "local", "command": ["bun", "x", "my-mcp-command-foo"] }, "my-mcp-bar": { "type": "local", "command": ["bun", "x", "my-mcp-command-bar"] } }, "tools": { "my-mcp-foo": false }}Wir konnen auch ein Glob-Muster verwenden, um alle passenden MCPs zu deaktivieren.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "my-mcp-foo": { "type": "local", "command": ["bun", "x", "my-mcp-command-foo"] }, "my-mcp-bar": { "type": "local", "command": ["bun", "x", "my-mcp-command-bar"] } }, "tools": { "my-mcp*": false }}Hier verwenden wir das Glob-Muster my-mcp*, um alle MCPs zu deaktivieren.
Pro Agent
Wenn Sie eine groBe Anzahl von MCP-Servern haben, mochten Sie sie vielleicht nur pro Agent aktivieren und global deaktivieren. Dazu:
- Deaktivieren Sie es global als Tool.
- Aktivieren Sie in Ihrer Agent-Konfiguration den MCP-Server als Tool.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "my-mcp": { "type": "local", "command": ["bun", "x", "my-mcp-command"], "enabled": true } }, "tools": { "my-mcp*": false }, "agent": { "my-agent": { "tools": { "my-mcp*": true } } }}Glob-Muster
Das Glob-Muster verwendet einfache Regex-Globbing-Muster:
*matcht null oder mehr Zeichen (z. B. matcht"my-mcp*"my-mcp_search,my-mcp_list, etc.)?matcht genau ein Zeichen- Alle anderen Zeichen matchen literal
Beispiele
unten sind Beispiele fur einige ganguige MCP-Server. Sie konnen eine PR einreichen, wenn Sie andere Server dokumentieren mochten.
Sentry
Fugen Sie den Sentry MCP-Server hinzu, um mit Ihren Sentry-Projekten und Problemen zu interagieren.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "sentry": { "type": "remote", "url": "https://mcp.sentry.dev/mcp", "oauth": {} } }}Nach dem Hinzufugen der Konfiguration authentifizieren Sie sich mit Sentry:
opencode mcp auth sentryDies offnet ein Browserfenster, um den OAuth-Flow abzuschlieBen und OpenCode mit Ihrem Sentry-Konto zu verbinden.
Sobald authentifiziert, konnen Sie Sentry-Tools in Ihren Prompts verwenden, um Probleme, Projekte und Fehlerdaten abzufragen.
Show me the latest unresolved issues in my project. use sentryContext7
Fugen Sie den Context7 MCP-Server hinzu, um in der Dokumentation zu suchen.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "context7": { "type": "remote", "url": "https://mcp.context7.com/mcp" } }}Wenn Sie sich fur ein kostenloses Konto angemeldet haben, konnen Sie Ihren API-Schlussel verwenden und hoheren Ratenlimits erhalten.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "context7": { "type": "remote", "url": "https://mcp.context7.com/mcp", "headers": { "CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}" } } }}Hier gehen wir davon aus, dass Sie die Umgebungsvariable CONTEXT7_API_KEY festgelegt haben.
Fugen Sie use context7 zu Ihren Prompts hinzu, um den Context7 MCP-Server zu verwenden.
Configure a Cloudflare Worker script to cache JSON API responses for five minutes. use context7Alternativ konnen Sie so etwas zu Ihrem AGENTS.md hinzufugen.
When you need to search docs, use `context7` tools.Grep by Vercel
Fugen Sie den Grep by Vercel MCP-Server hinzu, um in Code-Snippets auf GitHub zu suchen.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "gh_grep": { "type": "remote", "url": "https://mcp.grep.app" } }}Da wir unseren MCP-Server gh_grep genannt haben, konnen Sie use the gh_grep tool zu Ihren Prompts hinzufugen, damit der Agent ihn verwendet.
What's the right way to set a custom domain in an SST Astro component? use the gh_grep toolAlternativ konnen Sie so etwas zu Ihrem AGENTS.md hinzufugen.
If you are unsure how to do something, use `gh_grep` to search code examples from GitHub.