Skip to main content
Glama

Metis — Preview Focus Lens

preview_focus_lens

Test keyword-group lenses before creating a focus by comparing per-group and combined match counts, samples, and a verdict to identify which group causes zero results.

Instructions

Try a lens before creating a focus — how much does it catch, and where does it fail?

Lens tuning was otherwise blind: the only way to learn a lens returned nothing
was to build the focus, open it and find it empty. Worse, a conjunction that
returns zero says nothing about WHICH group is at fault.

So this reports each group's matches ALONE as well as combined. If group 1
matches 400 and group 2 matches 3 and together they match 0, group 2 is the
problem and no judgement is required to see it.

Args:
    keyword_groups: JSON list of lists — OR within a group, AND across groups.
        e.g. '[["dhis2","hmis"],["surveillance","district"]]'

Returns:
    Per-group and combined counts, sample matches, and a plain verdict.

Input Schema

NameRequiredDescriptionDefault
keyword_groupsYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.5

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does well: "try" and "reports" signal a non-mutating preview, and it explains the payoff (isolating which group kills a conjunction). It stops short of stating explicitly that nothing is saved or how much computational cost a preview incurs.

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?

Purpose is front-loaded and the Args/Returns blocks are scannable. The middle narrative (blind tuning, the 400/3/0 worked example) is longer than strictly necessary, though it does justify why per-group counts are reported.

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 a single-parameter, read-only preview with an output schema already describing returns, this is nearly sufficient: input encoding is spelled out and output shape is summarized. Minor gaps remain around malformed JSON input and any limits on keyword-group size.

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 coverage is 0% — the lone parameter is a bare string with no description — so the description must compensate, and it does: it defines keyword_groups as a JSON list of lists with OR semantics within a group and AND across groups, plus a concrete bracketed example.

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 action (preview/try a lens) against a specific resource (a focus lens built from keyword groups), and frames it against the sibling operation of creating a focus. The opening line distinguishes it from create_focus_area without the agent needing to open either schema.

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?

Explicitly places use before creating a focus ("Try a lens before creating a focus") and explains the tuning/diagnostic scenario it serves. It gives clear context but never states an exclusion, e.g. that it does not persist anything and should not be used as a substitute for create_focus_area.

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