wip(docs): i18n (#12681)
This commit is contained in:
511
packages/web/src/content/docs/da/mcp-servers.mdx
Normal file
511
packages/web/src/content/docs/da/mcp-servers.mdx
Normal file
@@ -0,0 +1,511 @@
|
||||
---
|
||||
title: MCP servere
|
||||
description: Tilføj lokale og eksterne MCP værktøjer.
|
||||
---
|
||||
|
||||
Du kan tilføje eksterne værktøjer til OpenCode ved hjælp af _Model Context Protocol_ eller MCP. OpenCode understøtter både lokale og eksterne servere.
|
||||
|
||||
Når de er tilføjet, er MCP automatisk tilgængelig for LLM sammen med indbyggede værktøjer.
|
||||
|
||||
---
|
||||
|
||||
#### Forse
|
||||
|
||||
Når du bruger en MCP-server, føjes den til konteksten. Dette kan hurtigt stige, hvis du har mange værktøjer. Så vi anbefaler at være forsigtig med hvilke MCP-servere du bruger.
|
||||
|
||||
:::tip
|
||||
MCP-servere tilføjer til din kontekst, så du vil være forsigtig med, hvilke du aktiverer.
|
||||
:::
|
||||
|
||||
Visse MCP-servere, som GitHub MCP-servere, har en tendens til at tilføje mange tokens og kan nemt overskride kontekstgrænsen.
|
||||
|
||||
---
|
||||
|
||||
## Aktiver
|
||||
|
||||
Du kan definere MCP-servere i din [OpenCode Config](https://opencode.ai/docs/config/) under `mcp`. Tilføj hver MCP med et unikt navn. Du kan henvise til denne MCP ved navn, når du spørger LLM.
|
||||
|
||||
```jsonc title="opencode.jsonc" {6}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"name-of-mcp-server": {
|
||||
// ...
|
||||
"enabled": true,
|
||||
},
|
||||
"name-of-other-mcp-server": {
|
||||
// ...
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Du kan også deaktivere en server ved at indstille `enabled` til `false`. Dette er nyttigt, hvis du midlertidigt vil deaktivere en server uden at fjerne den fra din konfiguration.
|
||||
|
||||
---
|
||||
|
||||
### Tilsidesættelse af fjernindstillinger
|
||||
|
||||
Organisationer kan levere standard MCP-servere via deres `.well-known/opencode`-slutpunkt. Disse servere kan være deaktiveret som standard, hvilket giver brugerne mulighed for at tilmelde sig dem, de har brug for.
|
||||
|
||||
For at aktivere en specifik server fra din organisationers fjernkonfiguration skal du tilføje den til din lokale konfiguration med `enabled: true`:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"jira": {
|
||||
"type": "remote",
|
||||
"url": "https://jira.example.com/mcp",
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Dine lokale konfigurationsværdier tilsidesætter fjernstandarderne. Se [config precedence](/docs/config#precedence-order) for flere detaljer.
|
||||
|
||||
---
|
||||
|
||||
## Lokal
|
||||
|
||||
Tilføj lokale MCP-servere ved hjælp af `type` til `"local"` i MCP-objektet.
|
||||
|
||||
```jsonc title="opencode.jsonc" {15}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"my-local-mcp-server": {
|
||||
"type": "local",
|
||||
// Or ["bun", "x", "my-mcp-command"]
|
||||
"command": ["npx", "-y", "my-mcp-command"],
|
||||
"enabled": true,
|
||||
"environment": {
|
||||
"MY_ENV_VAR": "my_env_var_value",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Kommandoen er, hvordan den lokale MCP-server starter. Du kan også sende en liste over miljøvariabler ind.
|
||||
|
||||
For eksempel, her er, hvordan du kan tilføje test [`@modelcontextprotocol/server-everything`](MCP) MCP serveren.
|
||||
|
||||
```jsonc title="opencode.jsonc"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"mcp_everything": {
|
||||
"type": "local",
|
||||
"command": ["npx", "-y", "@modelcontextprotocol/server-everything"],
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Og for at bruge det kan jeg tilføje `use the mcp_everything tool` til mine prompter.
|
||||
|
||||
```txt "mcp_everything"
|
||||
use the mcp_everything tool to add the number 3 and 4
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### Indstillinger
|
||||
|
||||
Her er alle muligheder for at konfigurere en lokal MCP-server.
|
||||
|
||||
| Mulighed | Skriv | Påkrævet | Beskrivelse |
|
||||
| ------------- | ------- | -------- | ------------------------------------------------------------------------------------ |
|
||||
| `type` | String | Y | Type MCP serverforbindelse, skal være `"local"`. |
|
||||
| `command` | Array | Y | Kommando og argumenter til at køre MCP-serveren. |
|
||||
| `environment` | Objekt | | Miljøvariabler, der skal indstilles, når serveren kører. |
|
||||
| `enabled` | Boolean | | Aktiver eller deaktiver MCP-serveren ved opstart. |
|
||||
| `timeout` | Nummer | | Timeout i ms for at hente værktøjer fra MCP-serveren. Standard er 5000 (5 sekunder). |
|
||||
|
||||
---
|
||||
|
||||
## Fjernbetjening
|
||||
|
||||
Tilføj ekstern MCP-server ved at indstille `type` til `"remote"`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`url` er URL for den eksterne MCP server, og med indstillingen `headers` kan du sende en liste over overskrifter ind.
|
||||
|
||||
---
|
||||
|
||||
#### Indstillinger
|
||||
|
||||
| Mulighed | Skriv | Påkrævet | Beskrivelse |
|
||||
| --------- | ------- | -------- | ------------------------------------------------------------------------------------ |
|
||||
| `type` | String | Y | Type MCP serverforbindelse, skal være `"remote"`. |
|
||||
| `url` | String | Y | URL af den eksterne MCP-server. |
|
||||
| `enabled` | Boolean | | Aktiver eller deaktiver MCP-serveren ved opstart. |
|
||||
| `headers` | Objekt | | Overskrifter til at sende med anmodningen. |
|
||||
| `oauth` | Objekt | | OAuth-godkendelseskonfiguration. Se afsnittet [OAuth](#oauth) nedenfor. |
|
||||
| `timeout` | Nummer | | Timeout i ms for at hente værktøjer fra MCP-serveren. Standard er 5000 (5 sekunder). |
|
||||
|
||||
---
|
||||
|
||||
## OAuth
|
||||
|
||||
OpenCode håndterer automatisk OAuth-godkendelse for eksterne MCP-servere. Når en server kræver godkendelse, vil OpenCode:
|
||||
|
||||
1. Registrer 401-svaret, og start OAuth-flowet
|
||||
2. Brug **Dynamic Client Registration (RFC 7591)**, hvis det understøtter af serveren
|
||||
3. Opbevar tokens sikkert til fremtidige anmodninger
|
||||
|
||||
---
|
||||
|
||||
### Automatisk
|
||||
|
||||
For de fleste OAuth-aktiverede MCP-servere kræver ingen speciel konfiguration. Bare konfigureret fjernserver:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"my-oauth-server": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.example.com/mcp"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Hvis serveren kræver godkendelse, vil OpenCode bede dig om at godkende, når du prøver at bruge den første gang. Hvis ikke, kan du [manually trigger the flow](#authenticating) med `opencode mcp auth <server-name>`.
|
||||
|
||||
---
|
||||
|
||||
### Forudregistreret
|
||||
|
||||
Hvis du har klientlegitimationsoplysninger fra MCP-serverudbyderen, kan du konfigurere dem:
|
||||
|
||||
```json title="opencode.json" {7-11}
|
||||
{
|
||||
"$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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Godkender
|
||||
|
||||
Du kan manuelt udløse godkendelse eller administrere legitimationsoplysninger.
|
||||
|
||||
Godkendt med en specifik MCP-server:
|
||||
|
||||
```bash
|
||||
opencode mcp auth my-oauth-server
|
||||
```
|
||||
|
||||
Liste over alle MCP-servere og deres godkendelsesstatus:
|
||||
|
||||
```bash
|
||||
opencode mcp list
|
||||
```
|
||||
|
||||
Fjern gemte legitimationsoplysninger:
|
||||
|
||||
```bash
|
||||
opencode mcp logout my-oauth-server
|
||||
```
|
||||
|
||||
Kommandoen `mcp auth` åbner din browser for godkendelse. Når du har godkendt, vil OpenCode opbevare tokens sikkert i `~/.local/share/opencode/mcp-auth.json`.
|
||||
|
||||
---
|
||||
|
||||
#### Deaktiverer OAuth
|
||||
|
||||
Hvis du vil deaktivere automatisk OAuth for en server (f.eks. for servere, der bruger API nøgler i stedet), skal du indstille `oauth` til `false`:
|
||||
|
||||
```json title="opencode.json" {7}
|
||||
{
|
||||
"$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-indstillinger
|
||||
|
||||
| Mulighed | Skriv | Beskrivelse |
|
||||
| -------------- | --------------- | ----------------------------------------------------------------------------------------- |
|
||||
| `oauth` | Objekt \| falsk | OAuth-konfigurationsobjekt eller `false` for at deaktivere OAuth-auto-detektion. |
|
||||
| `clientId` | String | OAuth-klient-id. Hvis det ikke er angivet, vil dynamisk klientregistrering blive forsøgt. |
|
||||
| `clientSecret` | String | OAuth-klienthemmelighed, hvis det kræves af autorisationsserveren. |
|
||||
| `scope` | String | OAuth-omfang at anmode om under godkendelse. |
|
||||
|
||||
#### Fejlretning
|
||||
|
||||
Hvis en ekstern MCP-server ikke kan godkendes, kan du diagnosticere problemer med:
|
||||
|
||||
```bash
|
||||
# View auth status for all OAuth-capable servers
|
||||
opencode mcp auth list
|
||||
|
||||
# Debug connection and OAuth flow for a specific server
|
||||
opencode mcp debug my-oauth-server
|
||||
```
|
||||
|
||||
Kommandoen `mcp debug` viser den aktuelle godkendelsesstatus, tester HTTP-forbindelse og forsøger OAuth-opdagelsesflowet.
|
||||
|
||||
---
|
||||
|
||||
## Administrator
|
||||
|
||||
Dine MCPs er tilgængelige som værktøjer i **TK\_** sammen med indbyggede værktøjer. Så du kan administrere dem gennem OpenCode-konfigurationen som ethvert andet værktøj.
|
||||
|
||||
---
|
||||
|
||||
### Global
|
||||
|
||||
Det betyder, at du kan aktivere eller deaktivere dem globalt.
|
||||
|
||||
```json title="opencode.json" {14}
|
||||
{
|
||||
"$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
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Vi kan også bruge et globmønster til at deaktivere alle matchende MCPs.
|
||||
|
||||
```json title="opencode.json" {14}
|
||||
{
|
||||
"$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
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Her bruger vi globmønsteret `my-mcp*` til at deaktivere alle MCPs.
|
||||
|
||||
---
|
||||
|
||||
### Pr. agent
|
||||
|
||||
Hvis du har et stort antal MCP-servere, vil du måske kun aktivere dem pr. agent og deaktivere dem globalt. Sådan gør du:
|
||||
|
||||
1. Deaktiver det som et værktøj globalt.
|
||||
2. Aktiver MCP-serveren som et værktøj i din [agent config](/docs/agents#tools).
|
||||
|
||||
```json title="opencode.json" {11, 14-18}
|
||||
{
|
||||
"$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-mønstre
|
||||
|
||||
Glob-mønsteret bruger simple regex-globing-mønstre:
|
||||
|
||||
- `*` matcher nul eller flere af ethvert tegn (f.eks. `"my-mcp*"` matcher `my-mcp_search`, `my-mcp_list` osv.)
|
||||
- `?` matcher nøjagtigt ét tegn
|
||||
- Alle andre karakterer matcher bogstaveligt talt
|
||||
|
||||
:::note
|
||||
MCP serverværktøjer er registreret med servernavn som præfiks, så for at deaktivere alle værktøjer til en server skal du blot bruge:
|
||||
|
||||
```
|
||||
"mymcpservername_*": false
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Eksempler
|
||||
|
||||
Nedenfor er eksempler på nogle almindelige MCP-servere. Du kan indsende en PR, hvis du vil dokumentere andre servere.
|
||||
|
||||
---
|
||||
|
||||
### Vagtvagt
|
||||
|
||||
Tilføj [Sentry MCP server](https://mcp.sentry.dev) for at interagere med dine Sentry-projekter og -problemer.
|
||||
|
||||
```json title="opencode.json" {4-8}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"sentry": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.sentry.dev/mcp",
|
||||
"oauth": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Efter tilføjelse af konfigurationen skal du godkende med Sentry:
|
||||
|
||||
```bash
|
||||
opencode mcp auth sentry
|
||||
```
|
||||
|
||||
Dette åbner et browservindue for at fuldføre OAuth-flowet og forbinde OpenCode til din Sentry-konto.
|
||||
|
||||
Når du er godkendt, kan du bruge Sentry-værktøjer i dine prompter til at forespørge om problemer, projekter og fejldata.
|
||||
|
||||
```txt "use sentry"
|
||||
Show me the latest unresolved issues in my project. use sentry
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Kontekst7
|
||||
|
||||
Tilføj [Context7 MCP server](https://github.com/upstash/context7) for at søge i dokumenter.
|
||||
|
||||
```json title="opencode.json" {4-7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"context7": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.context7.com/mcp"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Hvis du har tilmeldt dig en gratis konto, kan du bruge din API nøgle og få højere satsgrænser.
|
||||
|
||||
```json title="opencode.json" {7-9}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"context7": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.context7.com/mcp",
|
||||
"headers": {
|
||||
"CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Her antager vi, at du har sat miljøvariablen `CONTEXT7_API_KEY`.
|
||||
|
||||
Føj `use context7` til dine prompter for at bruge Context7 MCP server.
|
||||
|
||||
```txt "use context7"
|
||||
Configure a Cloudflare Worker script to cache JSON API responses for five minutes. use context7
|
||||
```
|
||||
|
||||
Alternativt kan du tilføje noget som dette til din [AGENTS.md](/docs/rules/).
|
||||
|
||||
```md title="AGENTS.md"
|
||||
When you need to search docs, use `context7` tools.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Grep af Vercel
|
||||
|
||||
Tilføj serveren [Grep by Vercel](https://grep.app) MCP for at søge gennem kodestykker på GitHub.
|
||||
|
||||
```json title="opencode.json" {4-7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"gh_grep": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.grep.app"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Da vi navngav vores MCP-server `gh_grep`, kan du tilføje `use the gh_grep tool` til dine prompter for at få agenten til at bruge den.
|
||||
|
||||
```txt "use the gh_grep tool"
|
||||
What's the right way to set a custom domain in an SST Astro component? use the gh_grep tool
|
||||
```
|
||||
|
||||
Alternativt kan du tilføje noget som dette til din [AGENTS.md](/docs/rules/).
|
||||
|
||||
```md title="AGENTS.md"
|
||||
If you are unsure how to do something, use `gh_grep` to search code examples from GitHub.
|
||||
```
|
||||
Reference in New Issue
Block a user