El primer rebuild del api en dos semanas trajo mcp 2.0.0, que elimino Server.list_tools(). app/mcp/server.py lo usa como decorador en su linea 27, asi que el import lanzaba AttributeError al arrancar. El agravante: main.py envolvia el montaje del MCP en `except ImportError`. Un AttributeError no es ImportError, asi que se escapaba y tumbaba toda la aplicacion. En produccion el contenedor quedo en crash-loop y el REST dejo de responder por completo, no solo el MCP. Dos arreglos: - requirements.txt fija `mcp>=1.28.1,<2.0.0`. La imagen anterior que llevaba dos semanas sana tenia 1.28.1; el rango abierto `>=1.0.0` permitio el salto mayor. - main.py captura cualquier excepcion al montar el MCP y la registra. El servidor MCP es opcional; el REST no. Si el MCP no monta, la API sigue de pie. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
16 lines
456 B
Plaintext
16 lines
456 B
Plaintext
fastapi>=0.115.0
|
|
uvicorn[standard]>=0.34.0
|
|
asyncpg>=0.30.0
|
|
pydantic>=2.0
|
|
pydantic-settings>=2.0
|
|
python-jose[cryptography]>=3.3.0
|
|
passlib[bcrypt]>=1.7.4
|
|
python-multipart>=0.0.18
|
|
reportlab>=4.0
|
|
openpyxl>=3.1.0
|
|
# Fijado a la serie 1.x: mcp 2.0.0 elimino Server.list_tools() y rompe
|
|
# app/mcp/server.py al importarse. El rango abierto `>=1.0.0` dejo que una
|
|
# reconstruccion tomara 2.0.0 y tumbara el API entero en produccion.
|
|
mcp>=1.28.1,<2.0.0
|
|
httpx>=0.27.0
|