> 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/es/inteligencia/ai-tools.md).

# Herramientas de IA

Las herramientas de IA le permiten exponer scripts de PowerShell como herramientas invocables para agentes de IA y para clientes MCP externos. Son útiles cuando desea que un modelo recupere datos de PSU, ejecute una acción controlada o devuelva una salida estructurada a un prompt.

Cada herramienta puede requerir autenticación, aplicar roles y, opcionalmente, exponerse a través de MCP.

## Crear una herramienta de IA

Navegue a Intelligence / AI Tools y haga clic en Create AI Tool. Seleccione el script que desea exponer y, a continuación, decida si la herramienta debe estar disponible:

* solo para los agentes de IA de PSU
* tanto para agentes de IA como para clientes MCP habilitando `MCP`

Si `Authenticated` está habilitado, el llamador debe haber iniciado sesión. Si también se asignan roles, el llamador debe tener al menos uno de esos roles.

### Descripción

La descripción es una de las partes más importantes de la herramienta. Debe indicar al modelo:

* cuándo usar la herramienta
* qué devuelve la herramienta
* si la herramienta cambia el estado
* cualquier expectativa importante sobre los parámetros

Las descripciones breves y concretas funcionan mejor.

### Parámetros

Los parámetros se detectan automáticamente a partir del script de PowerShell. Se recomienda encarecidamente la ayuda basada en comentarios, ya que PSU la utiliza para crear mejores descripciones de herramientas y esquemas de parámetros.

Este script de ejemplo es una buena herramienta de IA porque tiene parámetros claros y una salida predecible:

```powershell
<#
.SYNOPSIS
Returns the top running processes by CPU usage.

.PARAMETER Count
The number of processes to return.
#>
param(
        [Parameter()]
        [int]$Count = 5
)

Get-Process |
        Sort-Object CPU -Descending |
        Select-Object -First $Count Name, Id, CPU
```

Expóngalo como herramienta:

```powershell
New-PSUAiTool -Name 'Get Running Processes' `
    -Description 'Returns the top running processes by CPU usage.' `
    -ScriptFullPath '/tools/Get-RunningProcesses.ps1' `
    -Authenticated `
    -Role @('Operator') `
    -Mcp
```

Entre los cmdlets útiles se incluyen:

* `Get-PSUAiTool`
* `New-PSUAiTool`
* `Set-PSUAiTool`
* `Remove-PSUAiTool`

Por ejemplo, para revisar las herramientas:

```powershell
Get-PSUAiTool
Get-PSUAiTool -Name 'Get Running Processes'
```

## Uso de una herramienta en agentes de IA

Dentro de un agente de IA, asigne nombres de herramientas directamente o utilice patrones con comodines como `ticket_*` o `*`. PSU solo pone a disposición de ese agente las herramientas coincidentes.

El acceso basado en roles se aplica en ambos niveles:

* el usuario debe tener permiso para ejecutar el agente
* el usuario también debe tener permiso para ejecutar la herramienta

Las ejecuciones de herramientas iniciadas por un agente aparecen como trabajos secundarios del trabajo de prompt de IA.

Ejemplo de configuración de agente:

```powershell
Set-PSUAiAgent -Name 'SupportAgent' -Tool @('Get Running Processes', 'ticket_*')
```

## Uso de una herramienta a través de MCP

Model Context Protocol (MCP) permite que clientes remotos como GitHub Copilot descubran e invoquen sus herramientas. PSU expone MCP en `/api/v1/mcp`.

Solo las herramientas con `Mcp` habilitado se muestran a los clientes MCP.

Cuando se exponen a través de MCP, los nombres de las herramientas se normalizan para el cliente. Por ejemplo, los espacios y los puntos se convierten en guiones bajos.

Cuando un cliente MCP se conecta, PSU filtra las herramientas visibles en función de:

* si la herramienta está marcada para MCP
* si el llamador está autenticado cuando así se requiere
* si el llamador tiene al menos uno de los roles requeridos

Las llamadas realizadas a través de MCP aparecen como trabajos MCP en la página de trabajos.

Si su cliente admite tokens bearer, proporcione un token de aplicación de PSU al conectarse al punto de conexión MCP.

## Acceso en GitHub Copilot

GitHub Copilot puede invocar herramientas de PSU cuando VS Code está configurado para conectarse al servidor MCP de PSU.

En este ejemplo, la herramienta encapsula un script que devuelve los procesos en ejecución:

```powershell
Get-Process | Select-Object Name, Id
```

Con la extensión MCP habilitada, pulse `Ctrl+Shift+P` y ejecute `MCP: Add Server...`.

Elija la opción HTTP e introduzca la URL del punto de conexión MCP. De forma predeterminada, es `http://localhost:5000/api/v1/mcp`.

El contenido resultante de `settings.json` tendrá un aspecto similar a este.

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

Si la conexión se realiza correctamente, Copilot mostrará el número de herramientas disponibles.

A continuación, puede pedir a Copilot que utilice la herramienta de PSU. Por ejemplo:

```
Use the PSU tool to list the top 5 processes and create a PowerShell script that writes them to JSON.
```

Si también expone una herramienta que inicia un proceso, un prompt como este puede desencadenar esa acción:

```
Use the PSU tool to start a new process named calc.
```

Mantenga claras las descripciones de las herramientas y la ayuda de los parámetros para que Copilot pueda elegir la herramienta correcta sin ensayo y 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/es/inteligencia/ai-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.
