Skip to main content
Glama

Semantic search over candidates

jev_find

Rank up to 250 candidates by how well they answer a natural-language query, and flag when none addresses it. Use to find which file, note, or line covers a topic without embeddings.

Instructions

Rank candidates against a plain-language query with TypeSafe Jev — no embeddings needed. One Choice scores every candidate id by how well it answers the query, plus a Noul checks whether any candidate addresses the query at all (so a confident 'top hit' cannot masquerade as an answer). Pattern: docs.typesafe.ai/cookbooks/semantic_find. Use for 'which file/note/line covers X' across up to 250 candidates.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesWhat you are looking for, in natural language.
top_kNoHow many ranked candidates to return. Default 5.
candidatesYesCandidates to search. Up to 250 in one call; texts are truncated at 2000 chars.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.10.1
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observedv0.1.0

TDQS

A3.7/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 meaningful work: it discloses that one Choice scores every candidate id and a separate Noul verdicts whether any candidate actually answers the query, warning that a confident top hit may not be an answer. It does not cover auth, cost, latency, or failure behavior, but the output semantics disclosed here exceed what a bare 'search' would convey.

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-loaded with the core action, then the cautionary note, then usage and a doc pointer — a sensible ordering with little waste. The branded terms 'TypeSafe Jev', 'Choice', and 'Noul' add a small amount of unexplained jargon that slightly dilutes the otherwise tight prose.

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?

There is no output schema, so the description must convey return semantics, and it does partially: ranked scores per candidate id plus a Noul 'is this actually answered' verdict. Combined with the schema's candidate/id/text structure, an agent has enough to call it, though detail on ordering guarantees and score scale is absent.

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 query, top_k, and candidates are already fully documented in the schema. The description's 'across up to 250 candidates' merely restates the maxItems constraint rather than adding syntax or format meaning, so the baseline of 3 applies.

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 verb and resource ('Rank candidates against a plain-language query') plus the mechanism ('TypeSafe Jev — no embeddings needed'), which is more than a restatement of the title. It does not explicitly name or rule out the closely related siblings jev_rerank and jev_noul, so an agent still has to infer which one to reach for.

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

Usage Guidelines3/5

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

The description supplies a concrete use case ('which file/note/line covers X') and a scale bound ('up to 250 candidates'), which is implied usage guidance. However, it gives no when-not conditions and never contrasts itself with jev_rerank, a sibling that sounds functionally adjacent, leaving the selection decision partly to inference.

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