Skip to main content
Glama

xenia_calls

Identify which individual call produced a report row. Filter by tool, signature, status, or time, and use the returned action id to trace the full command.

Instructions

Individual calls, for the one question every xenia_report view raises and cannot answer: which call was that. A 'tools' row reporting a 33KB maximum does not say which call returned it, and one signature covering six journalctl runs is one row on purpose. Deliberately thin — action id, time, tool, status, duration, reply size and a short command, and nothing that repeats identically down the rows. Defaults to the heaviest replies first; pass the 'signature' or 'tool' from a report row to drill into it, and the 'action_id' it returns to xenia_trace. 'detail' is cut to 120 characters so a page of rows stays readable — xenia_trace on the same action id is where the whole command is, for any call and not only a failed one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
viaNoWhich broker carried the call: an MCP server name, or 'direct' for the shell. Globs, so 'acme-*' covers every server at one site.
kindNoRestrict to one kind of action.
repoNoLimit to one repository by name. Agent work outside any checkout is filed under 'general'.
toolNoTool name, exactly or as a glob: 'Bash', 'mcp__acme-ssh__shell', 'mcp__acme*'.
agentNoWhich runtime: claude or codex.
limitNoMaximum rows (default 20, capped at 500). Small on purpose: this is a drill-down, not a timeline. Raising it is the wrong move on a reply that came back truncated — rows here are whole shell commands, so a few hundred of them hit the reply ceiling and get cut. Filter instead.
orderNoSort by reply size (default), time taken, or when it ran. Calls that never returned sort last either way.
sinceNoWindow to look back over: '24h', '7d', '30m', or a date like '2026-07-01'. Omit for all time.
statusNoRestrict to one outcome.
sessionNoOne agent run, by session id. Worth using on a machine running several agents at once, where a timeline is otherwise several agents interleaved.
signatureNoThe normalised identity of the work, as returned by the failures, repeats and tools views. This is how you drill from one of those rows into the calls behind it.
blocked_byNoRestrict to calls the runtime refused, by who refused them: 'rule' for a hook or permission rule (the reason is on the row's error, and the fix is in a file), 'user' for a decline at the prompt. Calls that simply never completed carry neither.
descendingNoSort descending (default true).
Behavior5/5

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

With no annotations provided, the description fully carries the disclosure burden. It exposes default ordering, the deliberate 120-character 'detail' truncation, the fact that rows are whole shell commands that can exceed reply ceilings, and that unanswered calls sort last. This is rich behavioral context beyond any annotation-level hints.

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

Conciseness5/5

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

Five sentences front-load the purpose and then pack actionable behaviors without filler. Metaphorical phrasing like 'a 'tools' row reporting a 33KB maximum...' earns its place by encoding how rows behave, and the length is appropriate given 13 parameters and no annotations.

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

Completeness5/5

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

For a high-complexity, 13-param tool with no output schema, the description covers the drill-down workflow, row contents, sorting defaults, truncation caveat, and sibling handoffs. It even describes the return fields ('action id, time, tool, status, duration, reply size and a short command'), making it self-sufficient for correct invocation.

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

Parameters5/5

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

Schema covers 100% of parameters, so baseline is 3, but the description adds significant practical semantics: 'signature' and 'tool' come from report rows, 'limit' is intentionally small and raising it backfires on truncated replies, 'order' defaults to bytes with unanswered calls last, and the returned 'action_id' is meant for xenia_trace. These nuances go well beyond schema descriptions.

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 by answering exactly what the tool surfaces ('Individual calls') and frames it as the drill-down complement to xenia_report, explicitly distinguishing it from sibling xenia_trace by describing the thin row fields and where to go for full commands. This is a specific verb+resource with clear sibling differentiation.

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

Usage Guidelines5/5

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

It explicitly tells the agent when to use it: after a xenia_report row, pass 'signature' or 'tool' from that row to drill in, then hand the returned 'action_id' to xenia_trace. It also warns against raising 'limit' on truncated replies, directing the user to filter instead—clear context with exclusions and alternatives.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/iondrive-co/xenia'

If you have feedback or need assistance with the MCP directory API, please join our Discord server