Skip to main content
A dead tool is registered in the startup payload and has no calls in the range you are looking at. It is not free: its schema is sent to the model at the start of every session.

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

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 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.
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.
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.