Retirar el servidor MCP y fijar todas las dependencias del API
MCP: se retira por completo (endpoint, paquete api/app/mcp/ y dependencia). Tres razones, en orden de peso: - Nadie lo usa. - Llevaba roto desde antes de este trabajo. Con credencial valida devolvia 500: el handler construia un StreamableHTTPServerTransport nuevo por peticion, sin manejo de sesion. Lo que estaba expuesto a internet era la puerta abierta de un cuarto averiado. - Su SDK sin fijar tumbo el API entero en produccion al saltar a 2.0.0. Retirarlo es una mitigacion mas fuerte que autenticarlo, que fue lo que hizo el commit anterior. Recuperable con `git show edb500f5:api/app/mcp/server.py`. Se limpia tambien la ruta "/mcp" que el endpoint raiz seguia anunciando, y las menciones a MCP del docstring y la descripcion de Swagger. Dependencias: once de las doce eran rangos `>=` sin techo, o sea que cada reconstruccion era una tirada de dados contra PyPI. `pydantic>=2.0` habria aceptado pydantic 3 con la misma alegria con la que `mcp>=1.0.0` acepto 2.0.0. Ahora todas van fijadas a la version exacta que corre sana en produccion, capturada con pip freeze del contenedor healthy. El lado Next.js ya era reproducible via package-lock.json; por eso el web nunca se cayo durante el incidente y el api si. Docs actualizados: AGENTS.md, README.md, api/COTIZADOR_API_SKILL.md y el spec, que ademas registra en su seccion 0 las tres desviaciones de Fase 0 respecto a lo disenado (el Despliegue B cancelado, la retirada del MCP y la deriva de dependencia). Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5
parent
edb500f517
commit
20f535d485
+10
-23
@@ -418,32 +418,19 @@ granTotal = totalMensual × meses
|
||||
|
||||
---
|
||||
|
||||
## MCP Integration
|
||||
## MCP Integration — removed (2026-07-28)
|
||||
|
||||
MCP server at `/mcp` for OpenClaw, Claude, ChatGPT.
|
||||
The `/mcp` endpoint and the `api/app/mcp/` package no longer exist. Agents should use
|
||||
the REST endpoints documented above, authenticating with `X-API-Key` or a Bearer JWT.
|
||||
|
||||
### Tools
|
||||
| Tool | Description |
|
||||
|------|-------------|
|
||||
| `buscar_servicios` | Search catalog by phase, payment type, category, text |
|
||||
| `crear_cotizacion` | Create complete quotation in one call |
|
||||
| `obtener_cotizacion` | Get quotation details |
|
||||
| `listar_cotizaciones` | List with filters |
|
||||
| `cambiar_estado_cotizacion` | Change status |
|
||||
| `actualizar_precio_servicio` | Adjust service price |
|
||||
| `duplicar_cotizacion` | Clone as draft |
|
||||
| `calcular_financiamiento` | Calculate payments |
|
||||
| `generar_pdf_cotizacion` | Generate PDF |
|
||||
| `obtener_configuracion` | Company config |
|
||||
| `listar_bonos` | Available bonuses |
|
||||
| `listar_planes_bucefalo` | CRM plans |
|
||||
It was removed for three reasons: nobody was using it; its transport had been broken
|
||||
for some time (it constructed a `StreamableHTTPServerTransport` per request with no
|
||||
session handling, returning 500 even with valid credentials); and its unpinned SDK
|
||||
took the entire API down in production when `mcp` released 2.0.0 and dropped
|
||||
`Server.list_tools()`.
|
||||
|
||||
### Resources
|
||||
| Resource | Description |
|
||||
|----------|-------------|
|
||||
| `cotizador://servicios` | Full catalog |
|
||||
| `cotizador://categorias` | Categories |
|
||||
| `cotizador://configuracion` | Company config |
|
||||
To bring it back: `git show edb500f5:api/app/mcp/server.py`. Pin the SDK to the 1.x
|
||||
series and fix the transport before mounting it again.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user