You'll want to take most of your mussels out of their shells to make the soup easier to eat. It's a two-step process: Steam the mussels out of their shells and remove the meats, then strain and use the mussel broth for the soup.
Pour about 1 cup of salty water -- ideally boiled seawater -- into a large, wide pot with a cover and bring to a boil. Add the mussels and steam until they all open, about 3 to 5 minutes. NOTE: If you are using wild mussels, you will need to scrub and debeard them all first.
When the mussels are open, pick out the meats of all but your "show mussels" and put in a bowl. Toss with a little olive oil and set aside. Strain the mussel broth through cheesecloth or a paper towel into another bowl. Add to this 3 cups of water or seafood stock.
In a soup pot, get the olive oil hot over medium-high heat. Add the shallot and sauté for 2 minutes, stirring often. Add the garlic and sauté another 2 minutes.
Pour in the mussel broth, tomatoes and cayenne and mix well. Simmer uncovered for 10 minutes. You can puree this mixture and run it though a sieve to make it a refined soup, or leave it rustic. Your choice. Add the mussels and cook for another 3 minutes. If you're using the cherry tomatoes, add them at the last minute.
Garnish with the parsley or cilantro, and drizzle a little balsamic vinegar over everyone's bowl.
Serve hot with a nice medium-bodied Italian red, a dry rose or an amber beer. Be sure to have lots of crusty bread to serve