---
title: Referencia de Herramientas
description: Descripción general del sistema de herramientas de Corvus Agent, modelo de seguridad y registro.
owner: team-runtime
status: canonical
lastReviewed: 2026-05-06
appliesTo: main
docType: reference
---

# Referencia de Herramientas

Los agentes de Corvus interactúan con el mundo a través de **Herramientas**. Cada herramienta es una función especializada que el agente puede invocar con parámetros estructurados para realizar acciones, recuperar datos o gestionar su estado interno.

El sistema de herramientas se basa en un modelo de seguridad de "denegación por defecto", asegurando que cada operación esté sujeta a la [Política de Seguridad](../architecture.md#modelo-de-seguridad) configurada.

## Categorías

Las herramientas integradas se organizan en seis categorías principales:

- [**Herramientas Core**](core.md) — Ejecución de comandos del sistema (`shell`), tareas persistentes (`TaskCreate`), búsqueda nativa en el workspace (`code_search`, `Grep`), descubrimiento de archivos con paridad (`Glob`) y acceso al sistema de archivos del workspace (`file_read`, `file_write`).
- [**Herramientas Web**](web.md) — Navegación web (`browser`), búsqueda (`web_search_tool`), llamadas estructuradas a APIs (`http_request`) y fetch de solo lectura con paridad (`WebFetch`).
- [**Herramientas de Memoria**](memory.md) — Persistencia a largo plazo y recuperación de hechos y preferencias (`memory_store`, `memory_recall`).
- [**Herramientas de Automatización**](automation.md) — Delegación multi-agente (`delegate`), integraciones de aplicaciones gestionadas (`composio`), gestión de repositorios Git, tareas programadas (Cron/Schedule) y notificaciones (`pushover`).
- [**Herramientas Multimedia**](media.md) — Capacidades relacionadas con la visión, incluyendo captura de pantalla y extracción de metadatos de imágenes.
- [**Herramientas de Hardware**](hardware.md) — Descubrimiento de placas (`hardware_board_info`), introspección de memoria (`hardware_memory_read`) y control de periféricos (`gpio_write`, `arduino_upload`).

## Modelo de Seguridad

Cada ejecución de herramienta pasa por la capa de `SecurityPolicy`. Las herramientas se clasifican en dos niveles operativos:

### Solo Lectura (Seguras)
Estas herramientas no modifican el sistema ni el estado externo. Generalmente están permitidas incluso en modos de baja autonomía.
- *Ejemplos:* `file_read`, `Glob`, `Grep`, `WebFetch`, `memory_recall`, `web_search_tool`, `image_info`, `hardware_board_info`.

## Mapeo de paridad estilo Claude

Este slice añade herramientas de paridad de primera clase sin eliminar los nombres nativos existentes de Corvus.

| Nombre de paridad | Pieza del runtime que lo respalda | Estado del slice | Notas |
| :--- | :--- | :--- | :--- |
| `Glob` | Helpers de metadata para discovery del workspace | Aditivo + canónico para docs de paridad | Nueva herramienta nativa para descubrir archivos por patrón. |
| `Grep` | Backend compartido de búsqueda alineado con `code_search` | Aditivo + canónico para docs de paridad | `code_search` se mantiene disponible para el contrato nativo. |
| `WebFetch` | Política HTTP saliente compartida derivada de `http_request` | Aditivo + canónico para docs de paridad | Superficie de fetch-and-extract de solo lectura. |
| `TaskCreate` / `TaskGet` / `TaskList` / `TaskUpdate` / `TaskStop` | Ciclo de vida persistente de tareas del runtime en `brain.db` | Aditivo + canónico para docs de paridad | Soportado solo con el backend de memoria `sqlite`. `schedule` y `cron_*` siguen siendo semántica de scheduler, no sustitutos del ciclo de vida de tareas. |

Este slice **no** requiere renombres amplios ni eliminación de nombres internos existentes.

La paridad de tareas persistentes se mantiene intencionalmente pequeña en este slice: tareas
globales con `session_id` opcional, IDs UUID, estados `pending | in_progress | completed |
cancelled`, prioridades `low | medium | high`, y sin semántica de reapertura, subtareas ni
dependencias.

### De Acción (Con riesgo)
Estas herramientas pueden modificar archivos, ejecutar código o interactuar con servicios externos. Pueden requerir aprobación explícita del usuario en modos supervisados.
- *Ejemplos:* `shell`, `file_write`, `git_operations`, `cron_add`, `delegate`, `composio`, `gpio_write`, `memory_forget`.

## Integración MCP

Además de las herramientas integradas, Corvus soporta el **Model Context Protocol (MCP)**. Esto permite extender las capacidades del agente conectándolo a servidores MCP externos.

Las herramientas MCP reciben automáticamente un namespace como `mcp.<nombre_servidor>.<nombre_herramienta>`. Para una configuración detallada, consulta la [Guía de MCP](mcp.md).

## Registro y Descubrimiento

Las herramientas se registran durante el proceso de arranque (bootstrap) del runtime. El agente descubre las herramientas disponibles inspeccionando el `ToolSpec` emitido por cada implementación, que incluye el nombre de la herramienta, la descripción y el JSON Schema para los parámetros.

:::tip[Herramientas Personalizadas]
Para añadir herramientas personalizadas, debes implementar el trait `Tool` en Rust y registrarlo en el factory `all_tools` en `clients/agent-runtime/src/tools/mod.rs`.
:::
