Skip to main content
Glama

Ask a prepared source one question

probe_source
Read-onlyIdempotent

Queues one bounded probe of a source start_source_inspection prepared, and returns its coordinates. It reads the SOURCE, before anything is built; the sample_rows tool reads a published table instead. Four kinds: source_inspect (the columns and their inferred types; no cell values), sample_rows (up to limit rows from offset, optionally only some columns), profile_columns (per column: inferred type, non-null and null counts, distinct count, minimum and maximum) and evaluate_expression (one aggregate over the source). Pass the dataset_id, question_id and source_id start_source_inspection returned. scan_rows (default 10000, at most 50000) bounds how many rows a profile or an expression reads. expression is {"aggregate": "count"} or {"aggregate": "sum"|"min"|"max"|"avg", "column": "…"}, with an optional "where": {"op": "eq"|"ne"|"lt"|"le"|"gt"|"ge", "column", "value"}, {"op": "is_null"|"is_not_null", "column"}, {"op": "and"|"or", "operands": [up to 16]} or {"op": "not", "operand"}, nested at most 8 deep. Example: {"dataset_id": "…", "question_id": "…", "source_id": "…", "kind": "sample_rows", "limit": 20}. Returns {session_id, probe_id, source_id, state}. Next: get_source_probe with session_id and probe_id. It reads the source, never registers or builds anything, and opens a short session that is closed when the probe settles.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindYes
limitNo
offsetNo
columnsNo
scan_rowsNo
source_idYes
dataset_idYes
expressionNo
question_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description adds real behavioral context beyond them: it "reads the SOURCE... never registers or builds anything," and "opens a short session that is closed when the probe settles" plus the scan_rows bound. This meaningfully exceeds what the structured fields 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?

Purpose and route are front-loaded, and the dense detail (kind semantics, expression grammar, example, return shape) is well ordered. It is long and somewhat packed, but nearly every clause carries actionable information for a 9-parameter tool.

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?

Despite no output schema, the description states the return shape ({session_id, probe_id, source_id, state}) and the next step. All required and optional parameters, including the complex nested expression, are explained, leaving little an agent needs to call it correctly.

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?

With 0% schema coverage, the description carries the full burden and does so thoroughly: it defines all four kind values and their outputs, the limit/offset/columns semantics for sample_rows, the scan_rows default (10000) and cap (50000), and a detailed grammar for the expression object including operators and nesting limits. This far exceeds what the bare schema provides.

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?

"Queues one bounded probe of a source start_source_inspection prepared" gives a specific verb and resource and ties it to the setup tool that must precede it. It explicitly distinguishes itself from the sibling sample_rows tool ("reads a published table instead"), so an agent can tell the two apart without opening a 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?

It states the prerequisite ("Pass the dataset_id, question_id and source_id start_source_inspection returned") and differentiates from the sample_rows tool, plus names the follow-up (get_source_probe). It does not say when to prefer probe_source over get_source_inspection or other inspection siblings, but the context is clear.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources