≡En resumen
- Con tool use, Claude no ejecuta nada por sí mismo: propone la llamada y tu código (o Anthropic, en las herramientas de servidor) la ejecuta.
- Cada herramienta se define con nombre, descripción y un esquema JSON de entrada; una buena descripción es lo que más influye en el acierto.
- Claude puede pedir varias herramientas en paralelo y encadenar llamadas hasta completar la tarea.
- Hay herramientas que ejecuta Anthropic en su servidor, como la búsqueda web o la ejecución de código.
- El uso de herramientas es el mecanismo que convierte un chatbot en un agente capaz de actuar.
01 ¿Qué es tool use en Claude?
Un modelo de lenguaje, por sí solo, solo genera texto: no sabe el stock de tu almacén ni puede crear una cita en tu agenda. Tool use es el puente que lo conecta con el mundo real. Le das a Claude una lista de herramientas disponibles y, cuando una le ayuda a responder, devuelve una petición estructurada para usarla en lugar de inventarse el dato.
En la API de Claude se activa con el parámetro tools de la Messages API. En OpenAI y otros proveedores el mismo concepto se conoce como function calling; la idea es idéntica aunque el formato cambie.
02 Cómo funciona el ciclo de uso de herramientas
-
1
Defines las herramientas
En la petición envías cada herramienta con su nombre, una descripción clara y un input_schema en JSON Schema.
-
2
Claude decide
Si una herramienta ayuda, la respuesta incluye un bloque tool_use con un id, el nombre y los argumentos, y termina con stop_reason tool_use.
-
3
Tu código ejecuta
Lees el bloque, llamas a tu función o API real y obtienes el resultado o el error.
-
4
Devuelves el resultado
Envías un mensaje de usuario con un bloque tool_result que lleva el mismo id. Si falló, lo marcas con is_error.
-
5
Claude continúa
Con el resultado, responde al usuario o pide otra herramienta. El ciclo se repite hasta que termina.
Ese ir y venir es el bucle agéntico. Puedes programarlo a mano o usar el tool runner de los SDK oficiales, que llama a la API, ejecuta tus funciones y repite el ciclo por ti, con puntos de control para aprobar o modificar cada paso.
03 Tipos de herramientas que puede usar Claude
| Tipo | Quién la ejecuta | Ejemplos |
|---|---|---|
| Herramientas propias | Tu aplicación | Consultar un pedido, crear un lead en el CRM, calcular un presupuesto |
| Herramientas de cliente definidas por Anthropic | Tu aplicación, con un formato fijado por Anthropic | Bash, editor de texto, memoria, uso del ordenador |
| Herramientas de servidor | Anthropic, dentro de la misma petición | Búsqueda web, descarga de páginas web, ejecución de código, búsqueda de herramientas |
| Herramientas vía MCP | Un servidor MCP | Conectores a Drive, GitHub, bases de datos o servicios propios |
Las herramientas de servidor merecen una mención aparte, porque cambian el trabajo de tu código: las declaras en la petición y Anthropic las ejecuta dentro de la misma llamada, así que no tienes que programar el ciclo. La búsqueda web devuelve resultados con sus fuentes, la descarga web lee páginas concretas y la ejecución de código corre scripts en un entorno aislado para hacer cálculos o analizar archivos.
Hay dos piezas más pensadas para agentes con muchas herramientas. La búsqueda de herramientas permite marcar las menos usadas como diferidas para que Claude solo cargue las que necesita en cada momento. La llamada programática deja que Claude invoque tus herramientas desde código, encadenando varias llamadas y filtrando resultados sin llenar el contexto de datos intermedios.
04 Cómo se define una herramienta
Una herramienta tiene tres campos: name (consultar_disponibilidad), description («Devuelve los huecos libres de la agenda para un servicio y una fecha. Úsala siempre antes de proponer una cita; no inventes horarios») e input_schema, un objeto JSON Schema con las propiedades servicio (texto) y fecha (formato date), ambas obligatorias.
Si añades strict: true y cierras el esquema con additionalProperties: false, la API garantiza que los argumentos que proponga Claude cumplan exactamente ese esquema.
| Opción | Qué hace | Nota |
|---|---|---|
| tool_choice auto | Claude decide si usa una herramienta o responde directamente | El valor por defecto y el recomendado |
| tool_choice none | Impide usar herramientas en esa petición | Útil para pedir solo un resumen final |
| tool_choice any / tool | Obliga a usar alguna herramienta o una concreta | Los modelos más recientes lo rechazan; usa auto y una instrucción clara |
| strict: true | Argumentos siempre válidos según el esquema | Requiere esquemas cerrados |
| disable_parallel_tool_use | Como mucho una herramienta por turno | Por defecto Claude puede pedir varias a la vez |
05 Ejemplos de tool use en negocios
Atención al cliente
Consultar pedidos, devoluciones o facturas en tu sistema y responder con datos reales.
Reservas y citas
Ver huecos libres, reservar y enviar la confirmación desde una conversación.
Ventas
Buscar precios y stock, preparar un presupuesto y registrar el lead en el CRM.
Operaciones
Lanzar consultas SQL de solo lectura, generar informes o abrir tickets.
Investigación
Buscar en la web y en documentación interna y citar las fuentes.
Control del ordenador
Con la herramienta de uso del ordenador, manejar aplicaciones a través de capturas, clics y teclado.
La diferencia entre un bot que solo conversa y un chatbot con IA que resuelve trámites está en las herramientas que le conectas. Para el caso de manejar interfaces gráficas, consulta la ficha de computer use.
06 Buenas prácticas al diseñar herramientas
- ✓Escribe descripciones detalladas: qué hace la herramienta, cuándo usarla, cuándo no y qué devuelve.
- ✓Usa nombres claros y pocos parámetros, con tipos, enumeraciones y formatos en el esquema.
- ✓Devuelve resultados compactos y útiles; no vuelques miles de filas en el contexto.
- ✓Ante un fallo, devuelve un tool_result con is_error y un mensaje que explique qué corregir.
- ✓Si Claude pide varias herramientas a la vez, ejecútalas y devuelve todos los resultados en un único mensaje.
- ✓Valida siempre los argumentos en tu código antes de ejecutar la acción real.
- ✓Pide confirmación humana para acciones con consecuencias: pagos, envíos o borrados.
07 Tool use, salidas estructuradas y agentes
Salidas estructuradas
Si solo quieres JSON y no ejecutar nada, usa el formato de salida en lugar de una herramienta ficticia.
Agentes
Un agente es, en esencia, un modelo usando herramientas en bucle con un objetivo.
MCP
Estandariza cómo se publican herramientas para reutilizarlas entre aplicaciones.
Antes se forzaba una herramienta para obtener JSON; hoy lo correcto es usar salidas estructuradas. Cuando la lógica de herramientas forma parte de un producto, conviene diseñarla con el mismo rigor que cualquier API; es parte de nuestro trabajo como empresa de desarrollo web. Y si buscas servidores MCP, librerías o ejemplos ya hechos, empieza por el directorio de herramientas para Claude.
Preguntas frecuentes sobre Tool use (uso de herramientas)
Es la capacidad de Claude de pedir que se ejecute una función externa, como consultar una base de datos o una API, y usar el resultado para responder o seguir trabajando.
Sí. Es el mismo concepto con distinto nombre según el proveedor. Anthropic lo llama tool use y OpenAI function calling.
No. En las herramientas propias, Claude solo indica qué llamar y con qué argumentos; la ejecución ocurre en tu aplicación. Solo las herramientas de servidor las ejecuta Anthropic.
Puedes definir muchas, pero cada definición ocupa tokens y demasiadas opciones empeoran la elección. Con catálogos grandes, la herramienta de búsqueda de herramientas carga solo las necesarias.
Sí. Por defecto puede pedir varias herramientas en una misma respuesta; tu código las ejecuta y devuelve todos los resultados juntos en el siguiente mensaje.
Devuelves un tool_result marcado con is_error y un mensaje explicativo. Claude suele corregir los argumentos y reintentar o explicar el problema al usuario.
Las definiciones de herramientas y sus resultados cuentan como tokens de entrada, y algunas herramientas de servidor, como la búsqueda web, tienen un cargo adicional por uso. Consulta la página oficial de precios antes de estimar costes.
Fuentes consultadas
Sobre el autor
Germán Gutiérrez
Development Manager en appyweb
Dirige el equipo de desarrollo de appyweb: aplicaciones web y móviles, SaaS, integraciones y arquitectura de software.
Ver perfil en LinkedIn ↗