I still remember the day our support bot, powered by a LangGraph agent workflow, started behaving erratically. Customers would ask for help with their orders, and the bot would respond with irrelevant information or, worse, loop indefinitely. After digging into the logs, we discovered that the issue was caused by a cascading failure in our multi-agent system. One of the downstream services, responsible for fetching order data, had gone offline, and our agent workflow didn't know how to handle it.
As we investigated further, we realized that our agents were tightly coupled to the availability of these downstream services. If one service failed, the entire workflow would come to a grinding halt. We needed a way to detect when a service was down and recover from it gracefully. That's when we turned to MCP's Tool primitive.
The Tool primitive in MCP allows us to define a reusable piece of functionality that can be used across multiple agents. In our case, we created a Tool that would check the status of our downstream services and notify the agent workflow if any of them were unavailable. We could then use this information to recover from the failure and provide a better experience for our customers.






