summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/content/docs/da/mcp-servers.mdx
blob: fa356131ba3cd6cfea43b220b47093b7e8023fed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
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.

---

#### Forbehold

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.

---

## Aktivering

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 eksterne standarder

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 kan du tilføje test-MCP-serveren [`@modelcontextprotocol/server-everything`](https://www.npmjs.com/package/@modelcontextprotocol/server-everything).

```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` | Object  |          | 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). |

---

## Ekstern

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` | Object  |          | Overskrifter til at sende med anmodningen.                                           |
| `oauth`   | Object  |          | 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>`.

---

### Forhåndsregistreret

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"
      }
    }
  }
}
```

---

### Godkendelse

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`.

---

#### Deaktivering af 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`        | Object \| false | 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.                                              |

#### Fejlfinding

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.

---

## Administration

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.

---

### Per 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.

---

### Sentry

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
```

---

### Context7

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 by 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.
```