Put mayocoba beans into a large container with enough cool water to cover by several inches. Let beans soak 8 hours to overnight.
Drain and rinse beans thoroughly; put into a large stockpot. Add enough water to cover beans by 2 inches. Bring to a boil, reduce heat to medium-low, and cover the pot. Simmer until beans are soft in the center, about 90 minutes.
Heat 1 tablespoon oil in a large skillet over medium heat. Add onion; cook and stir until tender, about 5 minutes. Add tomatoes and serrano pepper; simmer until softened slightly, about 5 minutes. Reduce heat to medium-low and continue cooking until liquid begins to thicken, about 10 minutes more. Season tomato mixture with salt and remove from heat.
Heat remaining oil in another large skillet over medium heat. Add chicken meat and cook, stirring occasionally, until evenly browned, 5 to 7 minutes. Stir in the tomato mixture and simmer 10 minutes. Pour in chicken stock. Bring soup to a boil and simmer until flavors combine, 15 minutes more. Stir into the pot of beans. Add cilantro and salt. Bring to a simmer and cook until beans are completely softened, about 30 minutes more.