1. Find them
Two places, same set:- Tool health — the never used badge, with the schema size beside it.
- Insights — the same tools, priced: schema tokens × sessions in range, in dollars.
2. Widen the range first
This is the step people skip. The rule is scoped to what you are looking at, so a tool used once a month is dead in a 7-day window and alive in a 90-day one. Set the range to 90 days before deciding anything is genuinely unused.3. Work out why it is dead
It cannot be reached
It cannot be reached
Check this first, because it is invisible from every other screen. If the tool requires an argument that no other tool’s output provides — an internal id, a token, a cursor — the model has no path to a valid call.Look at the pairs for your live tools: if nothing returns the value this tool needs, that is the whole answer.
The model does not know when to use it
The model does not know when to use it
The most common cause. The description says what the tool does rather than what question it answers.“Queries the reports table” tells a model nothing about when to reach for it. “Get a saved report by name, or list saved reports for a customer” does.
Another tool covers it
Another tool covers it
A general search that also handles the specific case, so the specific tool never wins. Check whether the general tool’s calls include the ones this tool was built for — if so, this one is redundant rather than undiscovered.
Nobody needs it
Nobody needs it
Built for a workflow that did not materialise. Fine. Remove it.
4. Pick one of three
Merging is usually right when the underlying work is genuinely valuable. It is what MCPulse’s own MCP server does.
5. Confirm
Dead-tool status is computed live from the range, so a removed tool disappears from the list as soon as a client initialises against the new build and sends a fresh tool list. A tool whose description you rewrote reappears as an ordinary row the moment it is called once.A tool you removed from your code keeps its last recorded schema size until a new startup payload replaces the list. Restart and connect a client to refresh it.