Find tutors in Kazakhstan
Server Details
Find tutors in Kazakhstan on tutors.kz and send a lesson request. Russian and Kazakh.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
search_tutors and get_tutor have clearly separate roles, and the descriptions explicitly cross-reference each other to prevent misselection. However, two of the four tools (submit_request, add_request_details) are declared off-limits to the model, so an agent sees tools it is told not to call, which muddies the actionable surface.
All four names follow a consistent snake_case verb_noun pattern: search_tutors, get_tutor, submit_request, add_request_details. The vocabulary (request/tutor) is reused predictably across the lifecycle.
Four tools is thin, and effectively only two (search_tutors, get_tutor) are callable by the agent, since the other two are form-only. The count is defensible for a narrow directory service but leaves little room for the booking lifecycle.
Search plus detail plus a two-step booking flow covers the core journey, but there is no tool exposing valid filter enumerations (subjects, cities, exams, languages), forcing trial and error despite the 'only use values from the enumeration' instruction. No way to check request status or list reference data either.
Available Tools
4 toolsadd_request_detailsДополнить заявкуAInspect
Вызывается только формой карточки: дописывает детали к заявке, которую только что создал submit_request, один раз и не позже чем через 30 минут. Модель этот инструмент не вызывает. Ответ — «детали добавлены», «детали уже добавлены», «ничего не добавлено» или «время вышло».
| Name | Required | Description | Default |
|---|---|---|---|
| d | Yes | Пропуск на дополнение из ответа submit_request; его получает карточка, а не модель. | |
| locale | Yes | Язык ответа: ru или kk. | |
| comment | No | Комментарий для репетитора: цель, уровень, удобное время. | |
| frequency | No | Занятий в неделю: weekly1 — одно, weekly2 — два, weekly3 — три, weekly3plus — больше трёх. | |
| lesson_count | No | Сколько занятий нужно, своими словами: например, «8 занятий» или «до экзамена». | |
| contact_method | No | Как удобнее связаться: whatsapp, phone — звонок, telegram. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare a non-read-only, non-destructive, closed-world mutation. The description adds what annotations cannot: a one-shot idempotency rule, a 30-minute expiry window, dependence on a token from a prior submit_request call, and the exact set of outcome messages ('уже добавлены', 'ничего не добавлено', 'время вышло'). Nothing here contradicts the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with the caller restriction, which is the most decision-relevant fact. The enumerated response strings are slightly list-heavy but each conveys a distinct terminal state an agent must interpret.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by enumerating every possible response. Combined with the caller restriction and validity window, an agent has everything needed to decide not to call it and to interpret the result if surfaced.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the `d` pass, enum values, and maxLengths all documented in the schema itself, so baseline is 3. The description reinforces that `d` comes from submit_request's response and is delivered to the card rather than the model, but adds no field-level detail beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource ('дописывает детали к заявке') and ties it to the sibling tool that creates the request ('которую только что создал submit_request'), so an agent can distinguish it from submit_request at a glance. It also states outright who invokes it ('Вызывается только формой карточки... Модель этот инструмент не вызывает').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit preconditions: only from the card form, only for the request just created by submit_request, only once, and within 30 minutes. It also states the negative case for the current caller ('Модель этот инструмент не вызывает'), which is exactly the routing decision an agent needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tutorАнкета репетитораARead-onlyInspect
Показывает одну анкету репетитора tutors.kz так, как её видит посетитель сайта: о себе, предметы, все цены с единицами, образование, проверены ли документы и принимает ли анкета заявки сейчас. Слаг берите из ответа search_tutors и не угадывайте: на незнакомый слаг ответ — «Анкета не найдена». Подобрать репетиторов по условиям — это search_tutors, а не этот инструмент. Записаться можно кнопкой в карточке или на странице анкеты.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Слаг анкеты из ответа search_tutors, например aigul. | |
| locale | No | Язык ответа: ru или kk. Без него берётся язык разговора. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful behavior beyond that: the response is the public visitor view, includes specific profile fields, and returns “Анкета не найдена” for an unknown slug. It does not discuss auth or rate limits, but the read-only, closed-world annotations reduce the need for that detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded and compact: the main purpose comes first, followed by slug sourcing and the sibling alternative. The final sentence about booking via a button on the card or profile page is more product context than tool-invocation guidance, so it is slightly extraneous but not harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 carries the return-value burden, and it does enumerate the key returned data: about, subjects, prices with units, education, document verification, and whether the profile currently accepts requests. Combined with the slug guidance and not-found behavior, this is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented, including the locale enum and default behavior. The description adds meaning beyond the schema by requiring the slug to come from search_tutors, warning against guessing, and specifying the not-found outcome. The locale parameter is left to the schema, which is adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it shows one tutor profile from tutors.kz as a site visitor sees it, and it enumerates the profile content. It also explicitly distinguishes this from search_tutors, so an agent can tell the two apart without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit usage conditions: take the slug from search_tutors and do not guess it, and use search_tutors rather than this tool to find tutors by criteria. It also names the not-found response for an unknown slug. The main alternative is clearly routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_tutorsНайти репетитораARead-onlyInspect
Подбирает до 6 опубликованных анкет репетиторов tutors.kz по предмету, экзамену, городу, формату занятий, языку и верхней цене «от». По каждой анкете отвечает слагом, именем, коротким описанием, предметами, экзаменами, городами, форматами, языками, ценой «от» с её единицей, отметкой о проверенных документах и ссылкой; всего найдено — числом. Подробности одной анкеты — о себе, все цены, образование — даёт get_tutor по слагу из этого ответа. Анкеты идут по полноте заполнения. Записаться к репетитору можно кнопкой в карточке или на странице анкеты. Если по условиям никого нет, ответ подскажет, что ослабить. Все параметры необязательны; значение берите только из перечисления, незнакомое ответ отклонит.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Город. Допустимо: aksaj — Аксай; aktau — Актау; aktobe — Актобе; almaty — Алматы; astana — Астана; atyrau — Атырау; karaganda — Караганда; kokshetau — Кокшетау; kostanaj — Костанай; kyzylorda — Кызылорда; pavlodar — Павлодар; petropavlovsk — Петропавловск; semej — Семей; taldykorgan — Талдыкорган; taraz — Тараз; temirtau — Темиртау; turkestan — Туркестан; uralsk — Уральск; ust-kamenogorsk — Усть-Каменогорск; shymkent — Шымкент. | |
| exam | No | Экзамен. Допустимо: wood — ВОУД; vpr — ВПР; gve — ГВЭ; dvi — ДВИ; ege — ЕГЭ; ent — ЕНТ; izuchenie-yazyka-dlya-zhizni — Изучение языка; final-sobesed — Итоговое собеседование; final-essay — Итоговое сочинение; ktl — КТЛ; modo — МОДО; nis — НИШ; oge — ОГЭ; olympics — Олимпиады; rfmsh — РФМШ; sor-soch — СОР/СОЧ; ct — ЦТ; a-level — A-Level; a2-key — A2 Key; act — ACT; ap-english — AP English; b1-preliminary — B1 Preliminary; b2-first — B2 First; bec — BEC; bmat — BMAT; bulats — BULATS; c1-advanced — C1 Advanced; c2-proficient — C2 Proficient; celi — CELI/CILS; celta — CELTA; dele — DELE; delf — DELF/DALF; delta — DELTA; det — Duolingo English Test; gmat — GMAT; goethe%e2%80%91zertifikat — Goethe‑Zertifikat; gre — GRE; hsk — HSK; ib — IB; icfe — ICFE; ielts — IELTS; ilec — ILEC; imat — IMAT; jlpt — JLPT; lcci — LCCI; linguaskill — Linguaskill; lsat — LSAT; nuet — NUET; osd — ÖSD; pisa — PISA; pte-academy — PTE Academic; sat — SAT; siele — SIELE; ssat — SSAT; tef — TEF; tkt — TKT; toefl — TOEFL; toeic — TOEIC; tomer — TOMER; topik — TOPIK; torfl — TORFL; yct — YCT; yle — YLE; yos-yos — YOS/YÖS. | |
| format | No | Формат занятий. Допустимо: at-tutor-home — Дома у репетитора; at-student-home — Дома у ученика; online — Онлайн. | |
| locale | No | Язык ответа: ru или kk. Без него берётся язык разговора. | |
| subject | No | Предмет. Допустимо: english-language — Английский язык; arabskij-yazyk — Арабский язык; afrikans — Африкаанс; biologiya — Биология; geografiya — География; gitara — Гитара; informatika — Информатика; ispanskij-yazyk — Испанский язык; istoriya — История; italyanskij-yazyk — Итальянский язык; kazahskij-yazyk — Казахский язык; kitajskij-yazyk — Китайский язык; korejskij-yazyk — Корейский язык; latyn — Латынь; literatura — Литература; matematika — Математика; muzyka — Музыка; nemeczkij-yazyk — Немецкий язык; obshestvoznanie — Обществознание; osnovy-prava — Основы права; persidsky-yazyk — Персидский язык; podgotovka-k-shkole — Подготовка к школе; portygalsky-yazyk — Португальский язык; proforientacziya — Профориентация; russkij-yazyk — Русский язык; sanskrit — Санскрит; solfedzhio — Сольфеджио; tureczkij-yazyk — Турецкий язык; uzbeksky-yazyk — Узбекский язык; fizika — Физика; fortepiano — Фортепиано; franczuzskij-yazyk — Французский язык; himiya — Химия; cheshskij-yazyk — Чешский язык; shahmaty — Шахматы; yaponsky-yazyk — Японский язык. | |
| language | No | Язык занятий. Допустимо: speaking-language-english — На английском языке; speaking-language-kazakh — На казахском языке; speaking-language-russian — На русском языке. | |
| max_price | No | Верхняя цена «от» в тенге. Сравнивается с наименьшей ценой анкеты в любой её единице: за час, за занятие или за месяц; единица каждой анкеты указана в ответе, называйте цену вместе с ней. Анкеты без цены в такую подборку не попадают. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/non-destructive/closed-world, and the description adds genuinely new behavior: a hard cap of 6 results, ordering by profile completeness, rejection of unknown enum values, exclusion of price-less profiles under max_price, and the empty-result remediation hint. The return-field inventory is also disclosed even though no output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and scope are front-loaded in the first clause, and the details-tool routing follows immediately. It runs long as a single dense paragraph, and the booking-button sentence is tangential to tool selection, but no sentence is empty filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description supplies the return shape (slug, name, description, subjects, exams, cities, formats, languages, price with unit, verified-documents flag, link, total count) and the result cap and ordering. Combined with the explicit sibling handoff for detail retrieval, nothing an agent needs to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and every enum parameter already documents its allowed values and meanings, so the schema carries the semantics. The description only adds that all parameters are optional and must come from the enums, plus a restatement of the max_price 'от' comparison already present in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — selects up to 6 published tutor profiles on tutors.kz — and enumerates the filter axes (subject, exam, city, format, language, max price). It also explicitly separates itself from the sibling get_tutor by naming what the latter returns. An agent can distinguish it from every listed sibling 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes detailed single-profile lookups to get_tutor using the slug from this response, and explains the empty-result path (the response suggests what to relax). It also says all parameters are optional and that only enum values are accepted. It lacks an explicit negative case (e.g., when not to search at all), so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_requestЗаписаться к репетиторуADestructiveInspect
Вызывается только формой карточки после нажатия пользователем кнопки записи: создаёт заявку и запускает уведомление репетитору. Отправленное уведомление нельзя отозвать. Модель этот инструмент не вызывает и ключей формы не получает. Ответ — «заявка отправлена» или «уже оставляли заявку», при отказе — текст отказа формы сайта. Заявка состоит из двух шагов: чтобы дозаполнить её, вызывается add_request_details.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Слаг анкеты, к которой записывается пользователь. | |
| phone | Yes | Номер телефона, как его ввели в форму. | |
| token | Yes | Ключ формы из результата get_tutor; его получает карточка, а не модель. | |
| locale | Yes | Язык ответа и текста отказа: ru или kk. | |
| company | No | Компания или организация, от имени которой оставлена заявка. | |
| consent | Yes | Версия текста согласия, под которым пользователь нажал кнопку записи. | |
| rendered_at | Yes | Служебное значение формы из того же ключа, что token. | |
| student_name | Yes | Имя ученика или родителя, как его ввели в форму. | |
| lesson_format | No | Формат занятий: online — онлайн, atStudent — у ученика, atTutor — у репетитора. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses the irreversible consequence (the sent notification cannot be recalled — consistent with destructiveHint=true), the side effect of notifying the tutor, the fact that the model never receives the form keys, and the three possible response outcomes including a site-level refusal text. This is exactly the behavioral context that annotations alone cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The invocation constraint and irreversibility warning are front-loaded, and each sentence carries information. It is slightly denser than needed — the key-provenance point is restated in the description and in the schema — but there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the two-step request flow, the tool's position as step one, its trigger conditions, and its full set of responses; with no output schema, this is the only place return values are described and it does so adequately. Nothing an agent needs to reason about or route away from this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all nine parameters, including enums for locale and lesson_format. The description adds only the provenance of the form-key parameters (token/rendered_at come from the card, not the model), which is partially restated from the schema itself, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific verb and resource — creating a booking request (заявка) and triggering a tutor notification — plus where it originates (the card form's booking button). It also names the sibling add_request_details as the second step, allowing an agent to separate the two without reading either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The trigger condition is explicit and narrow ("Вызывается только формой карточки после нажатия пользователем кнопки записи"), and it explicitly states the negative case ("Модель этот инструмент не вызывает и ключей формы не получает"). The alternative for completing the same request is named with its role.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
add_request_details6 fields changed- added
Input schema / properties / comment / descriptionAdded value: +"Комментарий для репетитора: цель, уровень, удобное время." - added
Input schema / properties / contact_method / descriptionAdded value: +"Как удобнее связаться: whatsapp, phone — звонок, telegram." - added
Input schema / properties / d / descriptionAdded value: +"Пропуск на дополнение из ответа submit_request; его получает карточка, а не модель." - added
Input schema / properties / frequency / descriptionAdded value: +"Занятий в неделю: weekly1 — одно, weekly2 — два, weekly3 — три, weekly3plus — больше трёх." - added
Input schema / properties / lesson_count / descriptionAdded value: +"Сколько занятий нужно, своими словами: например, «8 занятий» или «до экзамена»." - added
Input schema / properties / locale / descriptionAdded value: +"Язык ответа: ru или kk."
- Changed
submit_request9 fields changed- added
Input schema / properties / company / descriptionAdded value: +"Компания или организация, от имени которой оставлена заявка." - added
Input schema / properties / consent / descriptionAdded value: +"Версия текста согласия, под которым пользователь нажал кнопку записи." - added
Input schema / properties / lesson_format / descriptionAdded value: +"Формат занятий: online — онлайн, atStudent — у ученика, atTutor — у репетитора." - added
Input schema / properties / locale / descriptionAdded value: +"Язык ответа и текста отказа: ru или kk." - added
Input schema / properties / phone / descriptionAdded value: +"Номер телефона, как его ввели в форму." - added
Input schema / properties / rendered_at / descriptionAdded value: +"Служебное значение формы из того же ключа, что token." - added
Input schema / properties / slug / descriptionAdded value: +"Слаг анкеты, к которой записывается пользователь." - added
Input schema / properties / student_name / descriptionAdded value: +"Имя ученика или родителя, как его ввели в форму." - added
Input schema / properties / token / descriptionAdded value: +"Ключ формы из результата get_tutor; его получает карточка, а не модель."
4 tool updates
- First observed
add_request_details - First observed
get_tutor - First observed
search_tutors - First observed
submit_request
Publisher details
- Operator
- Tutors.kz
- Operator website
- https://tutors.kz · Publisher source
- Vendor relationship
- First-party
- Documentation
- https://tutors.kz/mcp/
- Trust center
- Not applicable
- Restrictions
- Not applicable
Related MCP Connectors
Find and book independent tutors, or find students asking for a tutor in your subject.
Find and book verified 1-on-1 online tutors: search by subject, price and rating, then book.
Find local instructors and tutors for sports, test prep, wellness, IT, and more.
Request online singing lessons with Voice School and Daria Klishina.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables sellers to view and manage Kaspi.kz orders and products via natural language queries.339 npmMIT
- FlicenseNot gradedqualityDmaintenanceHire real humans in Russia for physical-world tasks — storefront photos, address checks, offline errands — directly from your AI agent. Payment in USDT.-
- AlicenseAqualityBmaintenanceEnables LLMs to browse and retrieve tasks from the FIPI EGE open bank, including subject listing, task search with metadata and LaTeX-formatted conditions, and automated answer checking for short-answer questions.4MIT

mcp-supertoursofficial
AlicenseNot gradedqualityDmaintenanceTour and excursion search on supertours.ru — destinations across Russia and abroad.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.