MCP Academy · Lección

Herramientas idempotentes y conscientes de sus efectos secundarios

Haga que las llamadas repetidas sean seguras y predecibles.

Lección 3 de 413 pasos

Herramientas idempotentes y conscientes de sus efectos secundarios es una lección gratuita de MCP Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de MCP Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de MCP Academy incluye 4 lecciones en total.

Los modelos pueden llamar dos veces

Un cliente de IA puede volver a intentar una herramienta después de un tiempo de espera o de una conexión interrumpida. Su herramienta podría ejecutarse dos veces cuando el usuario solo pretendía hacerlo una.

Qué significa idempotente

Una herramienta es idempotente cuando volver a llamarla con la misma entrada no produce ningún cambio adicional. La segunda llamada es, de forma segura, una operación sin efecto.

Las lecturas son seguras por naturaleza

Las herramientas de lectura pura, como obtener un registro, ya son idempotentes. Repetirlas solo devuelve la misma respuesta sin causar daños.

@mcp.tool()
def get_user(id: int) -> dict:
    return db.find(id)

Las escrituras requieren cuidado

Una herramienta que crea algo o cobra dinero es peligrosa si se repite. Un reintento ciego podría añadir una fila duplicada o cobrar dos veces.

Use una clave proporcionada por el cliente

Solicite al llamador una clave de idempotencia. Si ya ha procesado esa clave, devuelva el resultado almacenado en lugar de actuar de nuevo.

if key in seen:
    return seen[key]
seen[key] = do_work()

Prefiera upsert a insert

Un upsert escribe o actualiza usando un identificador estable, de modo que ejecutarlo dos veces deja una sola fila, no dos. Así convierte los reintentos en un único estado.

INSERT ... ON CONFLICT (id)
DO UPDATE SET ...

Declare claramente los efectos secundarios

Indique en la descripción de la herramienta si modifica datos. El modelo toma mejores decisiones cuando sabe que una llamada es destructiva.

Separe las herramientas de lectura y escritura

Mantenga diferenciadas una herramienta de consulta y otra de modificación, en lugar de una que a veces escriba. Unos límites claros reducen los cambios accidentales.

Haga que los resultados sean deterministas

Siempre que pueda, devuelva el mismo resultado para la misma entrada. Los resultados predecibles ayudan a los clientes a almacenar en caché y a razonar sobre su herramienta.

Compruebe antes de actuar

Antes de escribir, confirme el estado actual del objetivo. Si el cambio ya se aplicó, informe de que se realizó correctamente sin repetirlo.

if order.status == "shipped":
    return "already shipped"

Agrupe el trabajo de varios pasos en una transacción

Si una herramienta modifica varias filas, ejecútelo todo en una única transacción. Así, un reintento se aplica por completo o se revierte por completo, nunca a medias.

Comprobación rápida

¿Por qué es importante la idempotencia en una herramienta de MCP que crea registros?

Repaso: repeticiones seguras

Haga que las escrituras sean idempotentes mediante claves o upserts, declare los efectos secundarios, separe las lecturas de las escrituras y utilice transacciones. Siguiente tema: control de versiones. ♻️

Gratis para empezar

Aprende Python con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
30
Lecciones
120

Preguntas frecuentes

¿La lección «Herramientas idempotentes y conscientes de sus efectos secundarios» es gratis?

Sí — el texto completo de «Herramientas idempotentes y conscientes de sus efectos secundarios» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de MCP Academy, actualiza a CoddyKit PRO. El curso de MCP Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Herramientas idempotentes y conscientes de sus efectos secundarios»?

Haga que las llamadas repetidas sean seguras y predecibles. Practicas MCP Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar MCP Academy?

No se requiere experiencia previa. MCP Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Herramientas idempotentes y conscientes de sus efectos secundarios»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de MCP Academy?

Sí. Cada lección de MCP Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Arquitectura de servidor por capas
  2. Configuración y secretos mediante el entorno
  3. Herramientas idempotentes y conscientes de sus efectos secundarios
  4. Versionar herramientas y esquemas
← Volver a MCP Academy