Forty Seven Tools

An internal MCP server exposes 47 tools that mirror the REST API one endpoint at a time: list_customers, get_customer, list_subscriptions, get_subscription, list_invoices, get_invoice, list_tickets, and so on. Every tool returns raw records with UUID foreign keys.

Answering "why did this customer churn?" takes the agent 14 tool calls: list customers, filter, get the customer, list that customer's subscriptions by UUID, get each subscription, list tickets by UUID. It frequently picks the wrong list_* tool and has to back out.

Which change helps most?

A

Raise the step limit so the agent has room to finish the 14-call chain without running out of turns and backing out.

B

Add a small number of tools shaped like the questions agents ask, such as get_customer_context(email) returning the customer, subscriptions and recent tickets in one response.

C

Namespace the 47 tools by resource, billing_invoices_list, support_tickets_list, so the model can tell them apart from the name alone without reading every description.

D

Expand every tool description with parameter documentation and worked examples, so the model stops reaching for the wrong list_* tool.