Skip to main content
Glama

record_activity

Read-onlyIdempotent

Records what a process or whole machine does step by step—started programs, files opened or changed, TCP connections, and syscalls—to diagnose behavior without stopping or injecting anything.

Instructions

Records what a process (with the processes under it), every process of a name, or the whole machine does for some seconds, step by step like Process Monitor: programs started and how they ended, shared libraries loaded, files opened, read, written, renamed and deleted (only when Anabolic has full access; Linux reports what was done, not what failed), TCP connections with the bytes they carried; with syscalls=true, every system call of a process or program like strace, with a per-call summary like strace -c (full access). Nothing is opened, stopped or injected. Reports progress every second; returns the counts and the steps kept (filter them with kinds, filter, only_failures, only_changes).

Input Schema

NameRequiredDescriptionDefault
pidNoRecord this process (and, with with_children, the ones under it and what they start).
nameNoRecord every running process of this name, e.g. "chrome.exe".
kindsNoKinds of steps to keep: process, file, network, syscall (default all).
limitNoSteps returned at most, the latest kept (default 300, at most 3000).
filterNoWords a step's process, path or detail must all contain; "-word" leaves out the steps that contain it.
secondsNoSeconds to record: 1 to 120 (default 10).
syscallsNoEvery system call too, as strace shows it: the call, its arguments, its result and the time it took (default false). With everything, heavy: often hundreds of thousands a second, and calls a thread was already waiting in, or still is at the end, are counted, not listed. Calls a thread repeats within a second are one step with a count; syscall_summary counts every call.
everythingNoRecord the whole machine (what a process repeats within a second is one step with a count; at most 30 seconds).
only_changesNoOnly the steps that change something (writes, deletes, renames, set values, starts).
only_failuresNoOnly the steps that failed (access denied, not found...).
with_childrenNoWith pid: the processes under it too (default true).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, and the description reinforces this with "Nothing is opened, stopped or injected", which is the precise reassurance an agent needs about a monitoring tool. Beyond that it discloses privilege requirements, progress reporting every second, the returned artifacts (counts plus kept steps), and a load warning that syscalls can produce hundreds of thousands per second.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Everything is packed into two sentences with no filler, and the core action leads. The first sentence is long and clause-stacked, and the Process Monitor / strace / strace -c analogies repeat information already conveyed, but no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter tool with no output schema, the description covers the essential gaps: what events are captured, permission limits, duration and heaviness of recording, and that the return value is counts plus kept steps. It could say more about how the returned steps are shaped, but nothing needed to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every one of the 11 parameters is already precisely documented. The closing sentence does little more than restate the schema when it says to filter with kinds, filter, only_failures and only_changes, and the syscalls count-collapsing detail is also present in the schema, so added meaning is marginal beyond the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: it records what a process (or all processes of a name, or the whole machine) does for some seconds, step by step. It enumerates the captured event classes (process starts/ends, modules, file reads/writes/renames/deletes, TCP connections, optional syscalls), which makes it unmistakable from any sibling such as get_process_tree or list_modules.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear context for each invocation mode (single pid, all processes of a name, everything) and states the prerequisite for the richest data: "only when Anabolic has full access" and "(full access)" for syscalls. It does not name a specific alternative tool or an explicit when-not-to-use condition, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.