> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/powershell-universal/da/intelligens/built-in-mcp-tools.md).

# Indbyggede MCP-værktøjer

Brug indbyggede MCP-værktøjer i PowerShell Universal til at inspicere og administrere ressourcer, lagerfiler, meddelelser, jobs og portalkontrolelementer.

PowerShell Universal indeholder indbyggede MCP-værktøjer på `/api/v1/mcp`. Værktøjerne hjælper MCP-klienter med at inspicere konfigurationslageret i PowerShell Universal, opdage cmdletter, læse joboutput og meddelelser og anvende understøttede lagerændringer.

Indbyggede værktøjer er adskilt fra brugerdefinerede AI Tools. Tilslut en MCP-klient til `/api/v1/mcp`, og godkend med et PowerShell Universal-app-token.

## Opret forbindelse fra Visual Studio Code

GitHub Copilot kan kalde de indbyggede værktøjer, når Visual Studio Code er forbundet til PowerShell Universal-MCP-serveren.

Tryk på `Ctrl+Shift+P`, kør **MCP: Add Server...**, vælg **HTTP**, og angiv URL'en til MCP-slutpunktet. Som standard er URL'en `http://localhost:5000/api/v1/mcp`.

Den resulterende `settings.json`-konfiguration ser sådan ud:

```json
"mcp": {
  "servers": {
    "PSU": {
      "url": "http://localhost:5000/api/v1/mcp"
    }
  }
}
```

For at godkende med et PowerShell Universal-app-token skal De medtage det som et bearer-token i headeren `Authorization`:

```json
"mcp": {
  "servers": {
    "PSU": {
      "url": "http://localhost:5000/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer <your-app-token>"
      }
    }
  }
}
```

Erstat `<your-app-token>` med et token til PowerShell Universal-brugeren og de roller, som klienten skal bruge. Undlad at committe en konfiguration, der indeholder et rigtigt app-token, til kildekontrol.

Hvis forbindelsen lykkes, viser GitHub Copilot de tilgængelige PowerShell Universal-værktøjer.

## Adgangskontrol

De fleste indbyggede værktøjer kræver rollen **Administrator** eller **Operator**. `search_ant_design_controls` understøtter også rollen **App Editor**. `get_job_output_by_id` kræver en godkendt bruger og kontrollerer, at brugeren har tilladelse til at læse det anmodede job eller dets konfigurerede læsetilladelse.

Brug et dedikeret app-token med kun den rolle, som MCP-klienten kræver. Skriveværktøjer til lageret kan oprette, opdatere, flytte og slette konfigurationsfiler, så giv ikke en ikke-betroet MCP-klient adgang som Administrator eller Operator.

## Typisk forløb

1. Kald `list_resource_types` og `list_resources` for at identificere konfigurationsressourcen.
2. Brug lager- og kommandoværktøjerne til at inspicere de relevante filer og cmdlets.
3. Anvend en bevidst ændring af lageret med et skriveværktøj, når det er autoriseret.
4. Kald `reload_resource` for at genindlæse den berørte ressource.
5. Brug `get_notifications` eller `get_job_output_by_id` til at verificere resultatet.

## Ressource- og kommandoværktøjer

| Værktøj               | Beskrivelse                                                                    |
| --------------------- | ------------------------------------------------------------------------------ |
| `list_resource_types` | Viser tilgængelige PowerShell Universal-ressourcetyper.                        |
| `list_resources`      | Oplister ressourcer af en valgt type med jokertegnsfiltrering.                 |
| `reload_resource`     | Genindlæser en valgt ressourcetype efter en konfigurationsændring.             |
| `list_commands`       | Viser kommandoer fra et PowerShell-modul.                                      |
| `command_help`        | Returnerer fokuseret eller fuld hjælp til en kommando, parametre og eksempler. |
| `list_app_commands`   | Viser cmdlets til udvikling af Universal-apps.                                 |

## Lager- og driftsværktøjer

### Lagerværktøjer

Følgende værktøjer inspicerer og administrerer lagerrelative filer og mapper:

| Værktøj                   | Beskrivelse                            |
| ------------------------- | -------------------------------------- |
| `list_files`              | Viser filer og mapper.                 |
| `search_files`            | Søger i fil- og katalognavne.          |
| `search_file_content`     | Søger i indholdet af lagerfiler.       |
| `get_file_content`        | Læser en lagerfil.                     |
| `set_file_content`        | Erstatter indholdet af en lagerfil.    |
| `new_file_system_item`    | Opretter en lagerfil eller et katalog. |
| `move_file_system_item`   | Flytter eller omdøber et lagerelement. |
| `delete_file_system_item` | Sletter et lagerelement.               |

Alle stier er relative til lageret. Brug opdagelsesværktøjerne, før De ændrer en fil, og kald `reload_resource` efter en autoriseret konfigurationsændring.

### Driftsværktøjer

| Værktøj                      | Beskrivelse                                                                                             |
| ---------------------------- | ------------------------------------------------------------------------------------------------------- |
| `get_notifications`          | Returnerer de seneste meddelelser, valgfrit filtreret efter læsetilstand, niveau, tid eller cursor.     |
| `get_job_output_by_id`       | Returnerer pipeline- eller jobstrømsoutput, når kalderen har tilladelse til at læse det pågældende job. |
| `search_ant_design_controls` | Søger i tilgængelige Ant Design- og PSBlazor-portalkontrolelementer og returnerer deres parametre.      |

## Værktøjsgrænser og kørselsmål

PowerShell Universal understøtter valgfri hastighedsbegrænsning pr. minut for MCP-værktøjer og en valgfri grænse for samtidige jobs for AI Tools-jobs. Konfigurer disse grænser i serverindstillingerne for at beskytte instansen mod overdreven værktøjsaktivitet.

Brugerdefinerede AI Tools kan også definere mål for **Run In** og **Run On**. Disse indstillinger styrer det miljø og den computer eller computergruppe, der bruges, når et brugerdefineret værktøj starter et job. Indstillingerne ændrer ikke autorisationskravene for de indbyggede MCP-værktøjer, der er anført på denne side.

## Eksempler

Brug ressourceopdagelse, før De redigerer konfigurationen:

```
list_resource_types
list_resources(type: "scripts", filter: "Inventory*")
get_file_content(path: "scripts/Inventory.ps1")
```

Efter en autoriseret opdatering skal De genindlæse og inspicere meddelelser:

```
set_file_content(path: "scripts/Inventory.ps1", content: "<new script content>")
reload_resource(resourceType: "scripts")
get_notifications(unreadOnly: true, levels: "Warning,Error")
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/powershell-universal/da/intelligens/built-in-mcp-tools.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
