# archivo: sse_server.py

from fastmcp.server import FastMCP
import asyncio
from fastmcp import Client

# Crear la instancia del servidor
server = FastMCP(
    name="ServidorSSE",
    instructions="Este servidor expone herramientas de prueba.",
)

# Herramienta 1: saludar
@server.tool(name="saludar", description="Saluda a una persona por su nombre.")
def saludar(nombre: str) -> str:
    return f"¡Hola, {nombre}!"

# Herramienta 2: espera asíncrona
@server.tool(name="esperar", description="Espera N segundos y responde.")
async def esperar(segundos: int) -> str:
    await asyncio.sleep(segundos)
    return f"Esperé {segundos} segundos como me pediste."

# Punto de entrada para ejecutarlo por SSE
if __name__ == "__main__":
    server.run(
        transport="streamable-http",  # <-- cambio aquí
        host="0.0.0.0",
        port=8080,
    )