Skip to main content
Glama

Запрос JSONata

seaf_jsonata_query
Read-onlyIdempotent

Execute arbitrary JSONata expressions against a SEAF model manifest and return results, with JSONata error hints to help fix invalid queries.

Instructions

Когда вызывать: нужен произвольный JSONata по манифесту модели (корневой $ — манифест); для датасетов — query_dataset, для разведки формы результата — describe_query_result. Возвращает результат выражения; ошибки JSONata (S0xxx/T0xxx) приходят с подсказкой по исправлению. Дальше: get_entity/list_entities для типовых выборок без JSONata.

Endpoint: POST /seaf-core/api/core/storage/jsonata

Input Schema

NameRequiredDescriptionDefault
queryYesJSONata expression. It is automatically wrapped in parentheses before sending.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds useful context beyond them: root $ is the manifest, the return is the raw expression result, and JSONata errors arrive as S0xxx/T0xxx with a correction hint. It does not say anything about result size limits or expression cost, which is the only remaining behavioural gap.

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

Conciseness5/5

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

Front-loaded with the usage cue, then return/error behaviour, then the next-step alternatives, with the endpoint as a closing tag. Every clause earns its place and the ordering matches how an agent decides-and-calls.

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 one-parameter, annotation-rich tool with no output schema, the description covers intent, the root-context an agent needs to author a query, error signalling, and the sibling routing. Nothing required for a correct first call 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% and the single parameter is documented (including the auto-parenthesisation behaviour), so the baseline applies. The description nevertheless adds genuinely new semantics — that '$' resolves to the model manifest — which an agent needs in order to write a valid expression.

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 ('произвольный JSONata по манифесту модели') and immediately distinguishes itself from query_dataset, describe_query_result and get_entity/list_entities. An agent can tell exactly what this tool does and does not do without opening the 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?

Explicitly framed as 'Когда вызывать' with the selecting condition (arbitrary JSONata over the manifest), plus named alternatives with their own conditions (query_dataset for datasets, describe_query_result for exploring result shape, get_entity/list_entities for typical selections). Both directions — when to use and when not to — are covered.

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