En esta página
Herramientas
Especificación MCP 2026-07-28 · revisada el 2 de octubre de 2026
Qué es una tool de MCP, cómo se define y se lista, qué forma tienen la llamada, el resultado y los dos tipos de error, cuándo conviene un resource y cómo se aprueba una acción con efecto.
Qué aprenderás
- Explicar qué recibe el modelo de una tool y qué mensajes viajan desde que decide usarla hasta que lee el resultado
- Escribir una definición completa: name, description, inputSchema, outputSchema, anotaciones e iconos
- Distinguir un error de ejecución de un error de protocolo y elegir cuál devolver en cada caso
- Decidir si una capacidad se expone como tool o como resource
- Diseñar la aprobación humana de una acción con efecto sin delegar en ella la seguridad del servidor
Contenido de la lección
- 01 El problema
- 02 Qué es una tool y quién decide llamarla
- 03 La definición y `tools/list`
- 04 `tools/call`: resultado y errores
- 05 Acciones con efecto: aprobación humana
- 06 Registrar una tool en TypeScript y Python
- 07 En producción
Además: quiz de comprobación y desafío práctico.
Extracto
Un cliente de Nortia recibe un palé dañado del pedido PED-2026-004812 y reclama. La controller financiera decide compensarlo con un abono parcial sobre la factura F-2026-0142. Hoy eso son cuatro pantallas de la aplicación de facturación. Quiere pedírselo a su asistente: "abona 184,50 euros de la F-2026-0142 por el palé dañado".
Con lo visto hasta ahora el asistente puede leer datos de Nortia, pero no cambiar nada. Para emitir el abono necesita una pieza que el modelo pueda invocar con argumentos. Esa pieza ejecuta una operación en la API de facturación y devuelve un resultado o un error que el modelo entienda. Se llama tool. Es una operación con nombre que expone un servidor MCP, descrita con un esquema de entrada, y el cliente la ejecuta con tools/call.
Fin del extracto · la lección sigue con 6 secciones más
Artículos relacionados
- MCP Guías
- Servidores Ecosistema
Servidor MCP local: analizamos mcp-supermercados-cl
- Servidores Guías
MCP en n8n: qué pieza usar y cómo conectar Claude a tus workflows
- Servidores Ecosistema
Los servidores MCP de Inditex por dentro: qué hacen bien y qué no
Preguntas frecuentes
¿Qué es una tool en MCP y quién decide llamarla?
Una tool es una operación con nombre que publica un servidor MCP, descrita con un JSON Schema de entrada, que puede leer o cambiar datos de un sistema. El host obtiene las definiciones con tools/list y se las pasa al modelo, que solo propone usarla indicando qué tool y con qué argumentos; es el host quien la envía al servidor con tools/call y quien puede pedir antes la aprobación de una persona. Como el modelo no sabe de la tool más que su nombre, su descripción y su esquema, la description tiene que explicar en qué casos conviene usarla y qué no hace.
¿Qué significan `readOnlyHint` y `destructiveHint` en una tool de MCP?
Son anotaciones con las que el servidor describe el comportamiento de una tool y que el host usa para decidir, por ejemplo, si pide confirmación antes de llamarla: readOnlyHint indica que no modifica su entorno y destructiveHint que puede hacer cambios destructivos. Si no se declaran, se asumen los valores más prudentes: que la tool escribe, que destruye, que no es idempotente y que trabaja con entidades externas. Son pistas y no garantías, así que el cliente debe tratarlas como no fiables salvo que el servidor sea de confianza.
¿Cuándo conviene exponer algo como tool y cuándo como resource en MCP?
Depende de tres diferencias: una tool puede modificar un sistema, sus argumentos se validan con un JSON Schema y, si falla, devuelve un error que el modelo lee y le sirve para corregirse; un resource solo se lee, se identifica por su URI y admite caché y avisos cuando cambia. Así, una búsqueda en la que el modelo teclea el identificador, y se equivoca a menudo, conviene como tool aunque no escriba nada, y un documento estable que se lee completo, como una política interna, conviene como resource.