FastMCP: Construye servidores y clientes LLM "pythonicos"

FastMCP 2.0: El núcleo Pythonic para interacciones de LLM

En el panorama en rápida evolución de la inteligencia artificial, la capacidad de los Grandes Modelos de Lenguaje (LLM) para interactuar con datos externos y ejecutar funciones específicas es primordial. Presentamos FastMCP 2.0, un revolucionario framework de código abierto en Python que proporciona "el puerto USB-C para la IA", una forma estandarizada, eficiente y "pythonic" de construir servidores y clientes basados en el Protocolo de Contexto de Modelo (MCP).

¿Qué es el Protocolo de Contexto de Modelo (MCP)?

El Protocolo de Contexto de Modelo (MCP) es un nuevo estándar diseñado para permitir que las aplicaciones basadas en LLM accedan de forma segura y uniforme a datos y funcionalidades externas. Piénselo como una API adaptada específicamente para las interacciones con LLM. Los servidores MCP pueden:

  • Exponer recursos: Proporcionar fuentes de datos de solo lectura, similares a los puntos finales GET, para cargar información en el contexto del LLM.
  • Ofrecer herramientas: Permitir que los LLM realicen acciones ejecutando funciones de Python, similar a los puntos finales POST, para cálculos, llamadas a API o efectos secundarios.
  • Definir prompts: Crear plantillas de mensajes reutilizables que guíen las interacciones con el LLM.

¿Por qué FastMCP 2.0?

Si bien el protocolo MCP es potente, implementarlo desde cero implica una significativa cantidad de código repetitivo (boilerplate). FastMCP 2.0 elimina esta complejidad, gestionando la configuración del servidor, los manejadores de protocolo, los tipos de contenido y la gestión de errores, lo que permite a los desarrolladores centrarse únicamente en construir herramientas y recursos valiosos. Está diseñado para ser de alto nivel y "pythonic", a menudo requiriendo solo un simple decorador de función para exponer la funcionalidad a un LLM.

FastMCP 2.0 no es solo una actualización; es un ecosistema completo construido sobre los cimientos de FastMCP 1.0 (ahora integrado en el SDK oficial de Python para MCP). Esta última iteración ofrece un conjunto completo de herramientas para aplicaciones de IA listas para producción, que incluye:

  • Librerías de cliente: Interactúe sin problemas con cualquier servidor MCP de forma programática.
  • Sistemas de autenticación: Proteja tanto sus servidores como sus clientes con soporte de autenticación integrado.
  • Herramientas de despliegue: Opciones simplificadas para ejecutar su servidor localmente o desplegarlo como un servicio web.
  • Integraciones: Genere servidores FastMCP a partir de especificaciones OpenAPI o aplicaciones FastAPI existentes, llevando instantáneamente sus APIs web al ecosistema MCP.
  • Frameworks de prueba: Pruebas eficientes en memoria de sus servidores sin gestión de procesos ni llamadas de red.
  • Características avanzadas: Soporte para servidores proxy, composición de servidores, reescritura dinámica de herramientas y formatos de documentación amigables para LLM.

Conceptos clave en FastMCP

FastMCP simplifica la creación de aplicaciones MCP a través de conceptos centrales intuitivos:

  • Servidor FastMCP: El objeto central que contiene sus herramientas, recursos y prompts, gestionando las conexiones y configuraciones.
  • Herramientas: Funciones de Python decoradas con @mcp.tool que los LLM pueden llamar para realizar acciones. FastMCP genera automáticamente esquemas a partir de las pistas de tipo (type hints) y las cadenas de documentación (docstrings).
  • Recursos y Plantillas: Fuentes de datos expuestas a través de @mcp.resource, permitiendo datos estáticos o plantillas dinámicas con marcadores de posición para parámetros.
  • Prompts: Plantillas de mensajes reutilizables definidas con @mcp.prompt para guiar las interacciones con el LLM.
  • Contexto: Acceso a las capacidades de la sesión MCP dentro de sus herramientas, recursos o prompts, lo que permite el registro, el muestreo de LLM (ctx.sample()), solicitudes HTTP e informes de progreso.
  • Clientes MCP: El fastmcp.Client puede conectarse a scripts locales, puntos finales SSE o incluso instancias de servidor en memoria para pruebas eficientes.

Comenzando con FastMCP

FastMCP está hecho con 💙 por Prefect. La instalación es sencilla usando uv pip install fastmcp.

Para ejecutar un servidor básico, defina sus herramientas y recursos dentro de una instancia de FastMCP y llame a mcp.run():

# server.py
from fastmcp import FastMCP

mcp = FastMCP("Demo 🚀")

@mcp.tool
def add(a: int, b: int) -> int:
    """Add two numbers"""
    return a + b

if __name__ == "__main__":
    mcp.run()

Ejecute su servidor localmente simplemente ejecutando fastmcp run server.py.

FastMCP admite varios protocolos de transporte, incluido STDIO (predeterminado), HTTP streamable y SSE, lo que garantiza flexibilidad para entornos de desarrollo y producción.

Con más de 13,6k estrellas y 830 forks en GitHub, FastMCP es un proyecto en rápido crecimiento respaldado por una vibrante comunidad. Su compromiso de ser rápido, simple, "pythonic" y completo lo convierte en una herramienta indispensable para cualquiera que busque construir aplicaciones robustas y escalables impulsadas por LLM.

Artículo original: Ver original

Compartir este artículo