30 lines
854 B
Python
30 lines
854 B
Python
# 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,
|
|
) |