The MCP Hub - Activity Records
3 min read
The MCP Hub saves an Activity Record for tool calls and for changes to connectors and virtual servers.
Every record holds the time, the user, the server and, if there is one, the space. See What Is Stored. The Critical data column below is the extra data, shown in Admin under View raw JSON.
Actions on a connector start with mcp.. The same action on a virtual server starts with mcp-hub., for example mcp-hub.tool.called. Admin shows the tool name, or user or group, under the action.
The Source is chat for tool calls made in a space, and for tools switched on or off in a space's settings. Everything else is mcp-hub.
Tool Calls
Tool calls keep the tool's input and output. They can hold confidential content, like a search query or a document excerpt.
| Action | When | Critical data |
|---|---|---|
mcp.tool.called |
The tool returned a result | Input, output, and the user's approval if the tool needs approval |
mcp.tool.failed |
The tool returned an error, or the call failed | Input, the reason, the output if there is one, and the user's approval if the tool needs approval |
mcp.tool.denied |
The call was blocked before it ran, for example the user did not approve it, or the space may not use the tool | Input, the reason, and the tool's supervision if known |
Each call saves one of these three. All three also keep, when known, the chat, message or session it ran in, and the connector the tool comes from.
Servers
| Action | When | Critical data |
|---|---|---|
mcp.server.created |
An admin added the server | Its settings, for example the URL |
mcp.server.edited |
An admin changed its settings, or switched Limit to spaces on or off | Each changed field, before and after |
mcp.server.enabled, mcp.server.disabled |
An admin enabled or disabled it. Also when a space switches on its first tool from the server, or switches off its last one | The status change, if there was one |
mcp.server.deleted |
An admin deleted it | None |
Tools
| Action | When | Critical data |
|---|---|---|
mcp.tool.assigned |
Refresh Tool Settings found a new tool on a connector, or an admin added a tool to a virtual server | The id of the connector the tool comes from, and the tool's full name |
mcp.tool.removed |
Refresh Tool Settings found a tool was removed from the server. Connectors only | The id of the connector the tool comes from, and the tool's full name |
mcp.tool.enabled, mcp.tool.disabled |
A tool was switched on or off, for the server or for a space. Refresh Tool Settings switches a tool off when its definition changed on the server, until an admin switches it on again | The reason, if it was switched off automatically. On a virtual server, the id of the connector the tool comes from, and the tool's full name |
mcp.tool.edited |
An admin changed a tool's settings, for example its prompt or supervision. Refresh Tool Settings can also change its supervision. Connectors only | Each changed field, before and after |
Access
| Action | When | Critical data |
|---|---|---|
mcp.access.manage.granted, mcp.access.manage.revoked |
A user or group was added to or removed from the MCP Server Admins of a connector, or the Manage access of a virtual server | The user or group id |
mcp-hub.access.connect.granted, mcp-hub.access.connect.revoked |
A user or group was given or lost Connect access to a virtual server. Virtual servers only | The user or group id |
mcp.space.granted, mcp.space.revoked |
A space was added to or removed from Limit to spaces. Connectors only | None. The space is shown as the record's Agent |
Connections
| Action | When | Critical data |
|---|---|---|
mcp.credentials.revokedForSelf |
A user disconnected a connector under My Connectors in the chat | None |
mcp.credentials.revokedForAll |
An admin used Disconnect all Users on a connector | How many users were disconnected |
mcp.oauthClient.deleted |
The stored OAuth client of a connector was deleted, for example after the server was redeployed. Done through the API, not in the app | None |
mcp-hub.auth.succeeded |
A user signed in to a virtual server from an MCP client, for example Claude | The client's id and name |
mcp-hub.access.denied |
A user tried to connect to a virtual server without Connect access, or while it was unavailable | The reason |