Skip to main content
Glama

List field values

malcolm_field_values
Read-only

List distinct values a field holds with document counts before filtering, so you don't invent values; set time_from to search beyond the last 24 hours.

Instructions

List a single field's distinct VALUES with per-value document counts.

    Use this to see what values a field actually holds before filtering on it, so
    you don't invent values. To confirm the field NAME exists first, use
    malcolm_field_search; to see which datasets carry the field, use
    malcolm_field_profile. For multi-field or nested bucketing, use
    malcolm_aggregate. A "-" in the output is Malcolm's placeholder for
    documents where the field is absent, not a value you can filter on.
    Returns a text list of "value (N docs)" lines.

    With no time range this reads only the last 24 hours, so a value that
    exists only in older data is missing here and reads as invalid —
    network.protocol can list nothing at the default window while the same
    field is full once time_from reaches the capture. Pass time_from before
    concluding a value
    is not in this Malcolm.
    

Input Schema

NameRequiredDescriptionDefault
fieldYesField to enumerate distinct values for, e.g. "event.dataset" -> ["conn","dns","ssl",...]; "network.protocol" -> ["tcp","udp","icmp"]; "suricata.alert.severity" -> [1,2,3]. Confirm the name with malcolm_field_search.
limitNoMax distinct values to return, ordered by document count.
filtersNoOptional JSON filter (Malcolm filter syntax) scoping the enumeration. Empty = all documents.{}
time_toNoEnd time, dateparser format. Empty = now.
time_fromNoStart time, dateparser format. Empty = the last 24 hours, which holds nothing on a capture older than that.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.0.2
    • changedInput schema / properties / time_from / description
      Previous value: -"Start time, dateparser format. Empty = Malcolm's recent window."New value: +"Start time, dateparser format. Empty = the last 24 hours, which holds nothing on a capture older than that."
  2. Addedv0.3.2
  3. Removedv0.3.0
  4. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnlyHint, destructiveHint=false, openWorldHint), so the bar is lower, yet the description adds real behavioral context: the '-' placeholder semantics, the 24-hour default read window, and the misleading-invalidity failure mode with a concrete example (network.protocol). It even notes the return format.

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?

Front-loads the core purpose, then routing, then the caveat, so structure is sound and every sentence carries information. Slightly repetitive about time_from (the caveat is restated as 'Pass time_from before concluding...'), which keeps it just short of ideal.

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?

An output schema exists, yet the description still summarizes the return shape, and it covers the non-obvious pitfalls (placeholder handling, default time window) that the schema and annotations cannot express. Nothing an agent needs to call this correctly is missing.

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 coverage is 100% so the schema documents all five parameters, making 3 the baseline. The description still adds meaning beyond the schema by flagging that omitting time_from silently restricts to the last 24 hours and can make valid values read as nonexistent, which is genuine parameter-usage guidance.

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?

States a specific verb and resource: list a single field's distinct values with per-value document counts. It also explicitly distinguishes itself from malcolm_field_search, malcolm_field_profile, and malcolm_aggregate, so an agent can route correctly without opening any schema.

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?

Gives explicit when-to-use ('see what values a field actually holds before filtering on it') and names the alternatives with the conditions that select them. It also warns that values absent at the default window are not necessarily absent from Malcolm, which is decisive guidance on when not to conclude.

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