Hasta este punto del curso hemos construido tools de MCP que devuelven información estática, pero un servidor que realmente tenga una utilidad, necesita que la IA pueda enviarle datos para procesar, nos referimos a direcciones IP de dispositivos, números de VLAN, identificadores de interface, o cualquier otro valor que el usuario introduzca en su prompt de IA. Por lo tanto en esta clase aprenderemos a definir parámetros en tools de MCP utilizando FastMCP y aplicaremos type hints para que la IA entienda qué tipo de dato debe enviar en cada invocación.
Hasta ahora nuestras tools solo devolvían información, pero la utilidad real viene cuando la función puede trabajar con datos que se reciben del usuario. La estructura del código sigue siendo simple, dentro de los paréntesis de la función definimos las variables que recibirán esos datos, y dentro del cuerpo de la función las manipulamos como variables normales de Python. En la clase construiremos una segunda tool que recibe una dirección IP como parámetro y devuelve el nombre del dispositivo correspondiente, esto lo haremos sin reemplazar la tool que hicimos la anterior clase, ya que en proyectos reales un servidor MCP publica múltiples herramientas que cumplen diferentes tareas.
Otro detalle importante que veremos es la creación del docstring. No es suficiente con describir qué hace la función, ahora debemos describir también qué representa cada parámetro y qué formato se espera. La IA leerá esta descripción para decidir cuándo invocar la tool y qué valores enviarle, y una descripción ambigua puede provocar que la integración falle aunque el código Python esté correcto.
Un type hint en Python es una anotación que indica qué tipo de dato debería recibir un parámetro o qué tipo de dato devuelve una función. FastMCP los lee automáticamente y los traduce a información que la IA puede interpretar, dejando explícito si la tool espera un string, un entero, un booleano o cualquier otro tipo de dato. Si no tenemos los type hints, la IA podría enviar valores en un formato diferente al que el código espera, generando respuestas incorrectas sin que aparezca ningún error visible, así que en la clase los introduciremos en nuestro código.
Para cerrar la clase ejecutaremos el inspector sobre el servidor modificado y comprobaremos cómo aparece la nueva tool con sus parámetros listados en la interface web. Probaremos proporcionar diferentes valores y veremos cómo responde el código de forma diferente según el dato recibido. Adicionalmente hablaremos sobre ciertas modificaciones que podemos realizar a nuestro código relacionado a los parámetros.
Y como siempre, si tienes dudas después de ver la clase, realiza tus consultas que estamos listos para ayudarte. ¿Qué esperas? ¡Suscribete! .
Técnicamente no es obligatorio, FastMCP no devolverá errores si los omites. Sin embargo, sin type hints la IA pierde una capa importante de información sobre los datos esperados, lo que genera ambigüedades y respuestas incorrectas en producción. En la clase mostramos una situación donde la ausencia de type hint provoca errores que serán complicados de diagnosticar.
FastMCP comunica el tipo esperado a la IA mediante metadatos generados a partir del type hint, lo que reduce significativamente este escenario, pero no lo elimina por completo. En proyectos profesionales donde la integridad del dato es importante, se recomienda añadir validaciones explícitas dentro del propio código Python para detectar y manejar entradas inesperadas.