> 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/de/intelligence/built-in-mcp-tools.md).

# Integrierte MCP-Tools

Verwenden Sie die integrierten MCP-Tools von PowerShell Universal, um Ressourcen, Repository-Dateien, Benachrichtigungen, Jobs und Portal-Steuerelemente zu prüfen und zu verwalten.

PowerShell Universal enthält integrierte MCP-Tools unter `/api/v1/mcp`. Sie helfen MCP-Clients dabei, das PowerShell Universal-Konfigurations-Repository zu prüfen, Cmdlets zu ermitteln, Job-Ausgaben und Benachrichtigungen zu lesen und unterstützte Repository-Änderungen anzuwenden.

Integrierte Tools sind von benutzerdefinierten AI Tools getrennt. Verbinden Sie einen MCP-Client mit `/api/v1/mcp` und authentifizieren Sie sich mit einem PowerShell Universal-App-Token.

## Verbindung von Visual Studio Code aus

GitHub Copilot kann die integrierten Tools aufrufen, wenn Visual Studio Code mit dem PowerShell Universal MCP-Server verbunden ist.

Drücken Sie `Ctrl+Shift+P`, führen Sie **MCP: Add Server...** aus, wählen Sie **HTTP** und geben Sie die URL des MCP-Endpunkts ein. Standardmäßig lautet die URL `http://localhost:5000/api/v1/mcp`.

Die resultierende `settings.json`-Konfiguration sieht folgendermaßen aus:

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

Um sich mit einem PowerShell Universal-App-Token zu authentifizieren, fügen Sie es als Bearer-Token im `Authorization`-Header ein:

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

Ersetzen Sie `<your-app-token>` durch ein Token für den PowerShell Universal-Benutzer und die Rollen, die der Client verwenden soll. Übertragen Sie keine Konfiguration mit einem echten App-Token in die Quellcodeverwaltung.

Wenn die Verbindung erfolgreich ist, zeigt GitHub Copilot die verfügbaren PowerShell Universal-Tools an.

## Zugriffskontrolle

Die meisten integrierten Tools erfordern die Rolle **Administrator** oder **Operator**. `search_ant_design_controls` unterstützt zusätzlich die Rolle **App Editor**. `get_job_output_by_id` erfordert einen authentifizierten Benutzer und prüft, ob dieser Benutzer die Berechtigung hat, den angeforderten Job oder dessen konfigurierte Leseberechtigung zu lesen.

Verwenden Sie ein dediziertes App-Token mit nur der Rolle, die der MCP-Client benötigt. Repository-Schreibtools können Konfigurationsdateien erstellen, aktualisieren, verschieben und löschen. Gewähren Sie daher einem nicht vertrauenswürdigen MCP-Client keinen Administrator- oder Operator-Zugriff.

## Typischer Ablauf

1. Rufen Sie `list_resource_types` und `list_resources` auf, um die Konfigurationsressource zu identifizieren.
2. Verwenden Sie die Repository- und Befehlstools, um die relevanten Dateien und Cmdlets zu prüfen.
3. Wenden Sie bei entsprechender Berechtigung eine bewusste Repository-Änderung mit einem Schreibtool an.
4. Rufen Sie `reload_resource` auf, um die betroffene Ressource neu zu laden.
5. Verwenden Sie `get_notifications` oder `get_job_output_by_id`, um das Ergebnis zu überprüfen.

## Ressourcen- und Befehlstools

| Tool                  | Beschreibung                                                                                   |
| --------------------- | ---------------------------------------------------------------------------------------------- |
| `list_resource_types` | Listet verfügbare PowerShell Universal-Ressourcentypen auf.                                    |
| `list_resources`      | Listet Ressourcen eines ausgewählten Typs auf, mit Wildcard-Filterung.                         |
| `reload_resource`     | Lädt einen ausgewählten Ressourcentyp nach einer Konfigurationsänderung neu.                   |
| `list_commands`       | Listet Befehle aus einem PowerShell-Modul auf.                                                 |
| `command_help`        | Gibt fokussierte oder vollständige Hilfe zu einem Befehl, zu Parametern und Beispielen zurück. |
| `list_app_commands`   | Listet Cmdlets für die Universal App-Entwicklung auf.                                          |

## Repository- und Betriebstools

### Repository-Tools

Die folgenden Tools prüfen und verwalten Repository-relative Dateien und Verzeichnisse:

| Tool                      | Beschreibung                                         |
| ------------------------- | ---------------------------------------------------- |
| `list_files`              | Listet Dateien und Verzeichnisse auf.                |
| `search_files`            | Durchsucht Datei- und Verzeichnisnamen.              |
| `search_file_content`     | Durchsucht die Inhalte von Repository-Dateien.       |
| `get_file_content`        | Liest eine Repository-Datei.                         |
| `set_file_content`        | Ersetzt den Inhalt einer Repository-Datei.           |
| `new_file_system_item`    | Erstellt eine Repository-Datei oder ein Verzeichnis. |
| `move_file_system_item`   | Verschiebt oder benennt ein Repository-Element um.   |
| `delete_file_system_item` | Löscht ein Repository-Element.                       |

Alle Pfade sind Repository-relativ. Verwenden Sie die Ermittlungstools, bevor Sie eine Datei ändern, und rufen Sie `reload_resource` nach einer autorisierten Konfigurationsänderung auf.

### Betriebstools

| Tool                         | Beschreibung                                                                                          |
| ---------------------------- | ----------------------------------------------------------------------------------------------------- |
| `get_notifications`          | Gibt neuere Benachrichtigungen zurück, optional gefiltert nach Lesestatus, Ebene, Zeit oder Cursor.   |
| `get_job_output_by_id`       | Gibt Pipeline- oder Job-Stream-Ausgaben zurück, wenn der Aufrufer diesen Job lesen darf.              |
| `search_ant_design_controls` | Durchsucht verfügbare Ant Design- und PSBlazor-Portal-Steuerelemente und gibt deren Parameter zurück. |

## Tool-Limits und Ausführungsziele

PowerShell Universal unterstützt eine optionale Ratenbegrenzung für MCP-Tools pro Minute und ein optionales Limit für gleichzeitige Jobs bei AI-Tool-Jobs. Konfigurieren Sie diese Limits in den Servereinstellungen, um die Instanz vor übermäßiger Tool-Aktivität zu schützen.

Benutzerdefinierte AI Tools können außerdem **Run In**- und **Run On**-Ziele definieren. Diese Einstellungen steuern die Umgebung sowie den Computer oder die Computergruppe, die verwendet werden, wenn ein benutzerdefiniertes Tool einen Job startet. Sie ändern nicht die Autorisierungsanforderungen der auf dieser Seite aufgeführten integrierten MCP-Tools.

## Beispiele

Verwenden Sie die Ressourcenermittlung, bevor Sie die Konfiguration bearbeiten:

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

Laden Sie nach einer autorisierten Aktualisierung neu und prüfen Sie die Benachrichtigungen:

```
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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
