MCP: errores más claros, acceso desde ChatGPT y listas de tools más estables
Las tools MCP vuelven a informar de los errores de negocio, OAuth admite private_key_jwt para clientes como ChatGPT, los cursores de tools/list duran 24 horas y cuatro nombres antiguos de contactos se retiran el 15 de noviembre de 2026.
Hemos dedicado un tiempo a conectar el servidor MCP con clientes reales y hemos corregido lo que se interponía en su camino. Todo lo que sigue vale para el servidor público y para el servidor local stdio. Consulta la guía del protocolo, conectar un cliente y el catálogo de tools.
- Vuelven los errores de negocio de las tools. Una tool que fallaba por una razón de negocio llegaba al cliente como un resultado con el texto genérico «An internal server error occurred.», que no le daba al agente nada con lo que actuar. Ahora una regla de negocio, un recurso inexistente, un conflicto o un fallo de validación devuelven el error JSON-RPC
-32008:error.messagees el código v1,error.data.codees ese mismo código (por ejemplotask_not_found,invoice_not_foundotask_label_name_in_use),error.data.http_statusindica la categoría y unhinten español explica qué hacer. La falta de permiso es-32005insufficient_scope(403), una credencial inválida es-32001invalid_token(401) y un fallo inesperado es-32603internal_error(500), sin exponer el mensaje interno. Consulta errores. private_key_jwtpara clientes identificados por un documento de metadatos. Clientes como ChatGPT o Claude, cuyoclient_ides una URL HTTPS, pueden autenticarse en/api/oauth/token,/revokee/introspectcon un JWT firmado conRS256oES256, usando una clave publicada en eljwks_uride su documento. El metadata de/.well-known/oauth-authorization-serverlo anuncia. Cuando/oauth/authorizeno puede aceptar un documento, respondeinvalid_clientcon unerror_reasonlegible y, en un navegador, muestra una pantalla que explica el problema en español, inglés y catalán. El registro dinámico sigue admitiendo solononeyclient_secret_basic. Los detalles están en clientes identificados por un documento de metadatos.- Los cursores de
tools/listduran 24 horas. Antes caducaban a los 120 segundos. Ahora el cursor va ligado a la identidad que lo recibió (la API key, o la empresa, el usuario y el cliente OAuth), de modo que renovar el access token con el refresh token no lo invalida. Si entre páginas cambia el catálogo visible, el servidor devuelve la primera página del catálogo actual en lugar de un error. - La primera página incluye todo el catálogo. Sin
per_page, una sola respuesta contiene todas las tools (la página predeterminada basta para todo el catálogo público, unas 552 tools), así que un cliente que no pagine las ve todas y ningúnnextCursor. - Cuatro nombres antiguos de contactos se retiran el 15 de noviembre de 2026. Hasta entonces
search_clients,find_client_by_tax_id,create_clientybulk_create_clientssiguen funcionando entools/cally apuntan asearch_contacts,find_contact_by_tax_id,create_contactybulk_create_contacts. No aparecen entools/listy cada respuesta incluye_meta["io.factuarea/deprecation"]con la sucesora y la fecha. Pasada esa fecha responden como tools inexistentes. Consulta la nota del catálogo.