Skip to main content
Glama

Metis · Data Analyst — Data Memory

data_memory

Retrieves the researcher's data context from existing code and notes—files, columns, scripts, outputs, and stories—so you can write an R script without opening or previewing the data.

Instructions

Data-protected mode: what Metis knows about the researcher's data for this request.

Call this FIRST whenever a request involves data — a new analysis, an R
script, a figure, a map, a dashboard panel, cleaning, merging, a variable,
"what do I have on X". Also when the request names no file at all and only
asks a question the data answers: "which areas were endemic in 2026", "how
many villages had a case last year", "compare these two regions", "the
cases are in the dashboard", "hoeveel gevallen per zone", "combien de
villages". It returns, from the researcher's own code and notes
only: the files involved (exact paths, format, whether they exist), the
columns the code uses with the values it tests for and how derived
variables are built, which scripts read and write each file, outputs
already produced, the closest existing scripts to start from, and the
stories recorded about the data.

Then write an R script the researcher runs locally. Never open, preview or
summarise a data file and never ask for rows: that is the contract of this
mode, and it also holds for files the researcher names directly.

Args:
    question: the request in the researcher's words.
    project_id: optional Metis project to favour.

Input Schema

NameRequiredDescriptionDefault
questionYes
project_idNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.7

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it names the mode, discloses the enforcement contract ('never open, preview or summarise a data file and never ask for rows'), and enumerates what comes back from code and notes only. It omits edge cases such as empty memory, permissions, or rate/performance behavior, keeping it from a 5.

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

Conciseness3/5

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

Purpose is front-loaded and the Args block is cleanly separated, but the long enumeration of return contents (files, columns, scripts, outputs, closest scripts, stories) largely duplicates what the output schema already conveys, adding length without new value. The many worked examples also add bulk that could be trimmed.

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 retrieval tool with two params, no annotations, and an output schema present, the definition covers purpose, when-to-call, the data-protection contract, and both parameters. An agent has enough to decide to call it first and to construct the arguments correctly.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does: 'question' is defined as the request in the researcher's own words and 'project_id' as an optional project to favour. The semantics for 'favour' and the expected project_id format remain thin, but the description meaningfully exceeds the bare schema titles.

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

Purpose4/5

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

States a specific purpose: it returns what Metis knows about the researcher's data (files, columns, scripts, outputs, stories) for a given request, in a 'data-protected mode'. This is clearer than a bare name restatement, but it does not name or contrast with siblings like data_memory_dataset, data_memory_scan, or data_memory_status.

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?

Very strong trigger conditions: 'Call this FIRST whenever a request involves data' plus an enumeration of request types (analysis, script, figure, map, dashboard, cleaning, merging, variable) and worked examples for question-only requests. However, it gives no explicit exclusions or named-alternative routing against the sibling memory tools, which is what a 5 requires.

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

Deploy Server

Other Tools