Skip to main content
Glama

Конкорданс

kwic
Read-onlyIdempotent

Find every occurrence of a word or phrase in Russian text with surrounding context to see how it is used and quote it precisely; supports lemma-based search across word forms.

Instructions

Найти все вхождения слова или словосочетания в тексте с контекстом (конкорданс KWIC).

Используйте, чтобы увидеть, как слово употребляется в тексте, и цитировать точно. Слова сравниваются без учета регистра и буквы ё, с by_lemma - по леммам pymorphy3; словосочетание не переходит через конец предложения.

В результате "n_matches" - число вхождений, "matches" - строки по порядку в тексте: контекст слева "left", вхождение "keyword", как оно записано в тексте, и контекст справа "right". Строки ограничены параметром limit и общим объемом ответа около 40 тысяч символов. Ключ "warnings" - предупреждения: текст не на русском языке, показаны не все вхождения.

Input Schema

NameRequiredDescriptionDefault
pathNoАбсолютный путь к текстовому файлу в UTF-8 на машине, где запущен сервер, вместо text: длинный текст не нужно пересылать в аргументе
textNoТекст на русском языке; вместо него можно задать path
limitNoНаибольшее число строк ответа
windowNoЧисло слов контекста слева и справа
keywordYesСлово или словосочетание
by_lemmaNoИскать все формы слова по лемме: «кот» находит «кота», «коты»

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent annotations: case- and ё-insensitive matching, optional pymorphy3 lemma search, the rule that a phrase never crosses a sentence boundary, the row cap via limit plus an overall ~40k character response budget, and warnings for non-Russian input or truncated results. This is exactly the operational detail an agent needs before calling.

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 purpose in the first sentence, then matching rules, then output shape – a logical order. Slightly long on the return-value paragraph, which partly restates what the output schema already declares, but every sentence carries usable content.

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?

Covers input source, matching rules, limits, truncation and warnings, so an agent can call it and interpret results without surprises. Because an output schema exists, the detailed enumeration of n_matches/matches/left/keyword/right is somewhat redundant, which keeps it just short of 5.

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 coverage is 100%, so path, text, limit, window, keyword and by_lemma are all documented in the schema. The description adds matching semantics (case/ё folding, pymorphy3 lemma behavior) but does not clarify the meaning of path vs text or window beyond what the schema already says, so baseline 3 is right.

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: find all occurrences of a word/phrase in text with surrounding context (KWIC concordance). A reader immediately knows what the tool returns. It does not explicitly name the sibling tools (collocations, dispersion, keyness) it should be chosen over, keeping it at 4 rather than 5.

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?

Gives a concrete use case – see how a word is used in a text and quote it accurately – which implies when to reach for this rather than aggregate siblings. There are no explicit exclusions or named alternatives, so the routing is clear but not fully prescriptive.

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