Skip to Content
PlatformData HandlingTools first seen

Tools first seen

Morse records every tool an agent calls, and the MCP server it came from, the first time it sees it. That gives you an inventory per agent, and an optional alert the first time an agent that is already established starts using a tool or MCP server it has not used before.

The inventory

From each tool span, Morse keeps one row per agent, tool and MCP server: when it was first seen, when it was last seen, and how many times. It is built as traces arrive; nothing about your tool’s arguments or results is stored in it.

MCP servers. Morse reads the server from the tool’s name when it has the form mcp__<server>__<tool>: mcp__github__create_pull_request is the tool create_pull_request on the server github. If the name does not follow that form, Morse uses the server named in the span’s mcp_server or mcp.server metadata when there is one. A tool with neither is recorded with no server.

An agent keeps at most 500 distinct tool rows, so a tool name that embeds an id cannot grow the inventory without bound. Rows already stored keep updating once the cap is reached.

The inventory appears on Data handling as the tools and MCP servers first seen in the last 30 days, with the agent and the date. Infrastructure spans are not counted.

The new_tool alert

Create an alert rule of type New tool or MCP server on the Alerts tab of Reliability. It takes no threshold. Scope it to one agent or leave it to watch every agent.

The alert fires once for each new combination of agent, tool and MCP server, with the agent, the tool and the server in the message. It has info severity, so it goes to the channels you have enabled for info alerts. A single batch of traces raises at most 20 of them.

It stays quiet in three cases:

  • The agent’s first 7 days. A new agent is expected to use tools it has not used before, so during its learning period new tools are recorded but not alerted.
  • A tool first seen before the rule existed. A rule alerts only for tools first seen after the rule was created, so creating it today does not announce everything the agent already uses.
  • A repeat. A tool that is called again updates its last-seen time and count and does not alert.

Baseline an existing workspace (operators)

Sightings are recorded as traces arrive, so a workspace that existed before this feature starts with an empty inventory. An operator can run a one-off command after deploy to fill it from the last 30 days of tool spans without raising any alert:

python manage.py backfill_tool_sightings --dry-run python manage.py backfill_tool_sightings --days 30 --org <slug>

It is safe to run twice. Customers do not need to do anything; this applies to self-operated deployments.

Before you have data

With no tool spans yet, the section reads Not measured. Once at least one tool has been seen it shows the real count, which can be zero for the last 30 days.

Last updated on