{"record":{"id":"fa89dc4bef1204ce","repo":"langflow-ai/langflow","slug":"failed-to-get-direct-streamable-http-url","errorCode":null,"errorMessage":"Failed to get direct Streamable HTTP URL","messagePattern":"Failed to get direct Streamable HTTP URL","errorType":"http","errorClass":"HTTPException","httpStatus":500,"severity":"error","filePath":"src/backend/base/langflow/api/v1/mcp_projects.py","lineNumber":711,"sourceCode":"                        response[\"result\"] = {\n                            \"project_id\": str(project_id),\n                            \"uses_composer\": False,\n                            \"error_message\": \"OAuth authentication is set but MCP Composer is disabled in settings\",\n                        }\n                elif should_stop_composer:\n                    await logger.adebug(\n                        f\"Auth settings changed from OAuth for project {project.name} ({project_id}), \"\n                        \"stopping MCP Composer\"\n                    )\n                    await mcp_composer_service.stop_project_composer(str(project_id))\n                    # Clear any error when user explicitly disables OAuth\n                    mcp_composer_service.clear_last_error(str(project_id))\n\n                    # Provide direct connection URLs since we're no longer using composer\n                    streamable_http_url = await get_project_streamable_http_url(project_id)\n                    legacy_sse_url = await get_project_sse_url(project_id)\n                    if not streamable_http_url:\n                        raise HTTPException(status_code=500, detail=\"Failed to get direct Streamable HTTP URL\")\n\n                    response[\"result\"] = {\n                        \"project_id\": str(project_id),\n                        \"streamable_http_url\": streamable_http_url,\n                        \"legacy_sse_url\": legacy_sse_url,\n                        \"sse_url\": legacy_sse_url,\n                        \"uses_composer\": False,\n                    }\n\n            # Sync MCP server config for apikey/none auth; OAuth is handled by MCP Composer above.\n            if auth_settings_updated and new_auth_type in {\"apikey\", \"none\"}:\n                from langflow.api.v1.projects_mcp_helpers import reconcile_mcp_server_for_auth_update\n\n                try:\n                    await reconcile_mcp_server_for_auth_update(\n                        project,\n                        new_auth_type,\n                        current_user,","sourceCodeStart":693,"sourceCodeEnd":729,"githubUrl":"https://github.com/langflow-ai/langflow/blob/976ec789d2886a86de109c044d089d68e96c9a35/src/backend/base/langflow/api/v1/mcp_projects.py#L693-L729","documentation":"Error \"Failed to get direct Streamable HTTP URL\" thrown in langflow-ai/langflow.","triggerScenarios":"Occurs when the server fails to construct the direct Streamable HTTP URL for the MCP Composer.","commonSituations":"See trigger scenarios.","solutions":["Verify host/port settings and that the server is reachable, then retry."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"976ec789d2886a86de109c044d089d68e96c9a35","analyzedAt":"2026-08-14T18:23:12.227Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}