Prim's algorithm works well here because you do not need to generate all edges upfront. Start with one point. At each step, find the nearest unvisited point and add it to the MST. Use a priority queue to track distances from the current MST to all unvisited points. Update distances as you add points.
This approach uses space instead of for storing edges. The time complexity is with a binary heap.