IYT Test
Server Details
Sailing exam practice for IYT levels and the Racing Rules: questions, mock exams, theory. EN/RU.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- nikolai-shilin/iyt-test
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 13 tools
Most tools have clearly distinct purposes: get_questions, practice_section, question_of_the_day and start_mock_exam each produce questions in a different context (random by level, tied to a theory section, daily, timed exam), and list/search/get for theory are clearly separated. The main friction is four question-producing tools plus search_questions, which an agent must read carefully to choose correctly, but the descriptions disambiguate them adequately.
Almost every name follows a verb_noun pattern (check_answer, get_theory, list_levels, search_questions, start_mock_exam, grade_exam). The lone deviation is question_of_the_day, a noun phrase rather than a verb-first name, plus practice_section where the verb is less explicit, but the set remains highly predictable.
Thirteen tools is well within the sweet spot and each one earns its place: retrieval, search, practice, exam lifecycle and answer checking are all covered without redundancy. Nothing feels padded or missing at the count level.
The domain (sailing theory study and exam practice) is covered end to end: discover levels, read/search theory, fetch figures, practise, check answers, run and grade a mock exam. Minor gaps remain, such as fetching a specific question by identifier or tracking a student's progress across sessions, but agents can work around these.
Available Tools
13 toolscheck_answerCheck an answerRead-onlyInspect
Whether an option of a question is right: the right option, the one-line note that names the rule, and the theory section that explains it.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of the text: en (default) or ru. What is not translated yet comes in English. | |
| option | Yes | The option chosen: A, B, C or D. | |
| question_id | Yes | Question id, e.g. bs-001. |
explain_questionExplain a questionRead-onlyInspect
A question with its answer, the note that names the rule and the full text of the theory section that explains it.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of the text: en (default) or ru. What is not translated yet comes in English. | |
| question_id | Yes | Question id, e.g. bs-001. |
get_figureGet a drawingRead-onlyInspect
The drawing of a question or of a theory section as SVG markup.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of the text: en (default) or ru. What is not translated yet comes in English. | |
| figure | Yes | A question id (bs-001), or a theory drawing as level/topic/section/number (bareboat-skipper/buoyage/lateral/1). |
get_questionsGet practice questionsRead-onlyInspect
Random practice questions of a level, of one topic or difficulty when given, without the answers.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of the text: en (default) or ru. What is not translated yet comes in English. | |
| count | No | How many (default 5). | |
| level | Yes | Level id, e.g. bareboat-skipper. | |
| topic | No | Topic id, to practise one topic. | |
| exclude | No | Question ids the student has already had in this conversation, so they are not repeated. | |
| text_only | No | Only questions without a drawing, for when images cannot be shown. | |
| difficulty | No | 1 easy, 2 medium, 3 hard. |
get_theoryRead a theory articleRead-onlyInspect
A theory article, or one section of it, as text: the rule, the reason, tables and links to the drawings. Study notes close to the syllabus, not official IYT text.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of the text: en (default) or ru. What is not translated yet comes in English. | |
| level | Yes | Level id, e.g. bareboat-skipper. | |
| topic | Yes | Topic id, e.g. buoyage. | |
| section | No | Section id, to read one section only. |
grade_examGrade a mock examRead-onlyInspect
The marks of a finished mock exam: the score, pass or fail, the result per topic, every mistake with the right answer and its note, and the theory sections to read. A question with option null was not answered and counts as wrong.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of the text: en (default) or ru. What is not translated yet comes in English. | |
| answers | Yes | One item per question of the exam. |
list_levelsList levelsRead-onlyInspect
The levels with a question bank (IYT courses, the Racing Rules of Sailing, the charter check-in): topics, number of questions, mock-exam settings and which topics have a theory article.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of the text: en (default) or ru. What is not translated yet comes in English. |
list_theoryList theory articlesRead-onlyInspect
The theory articles: one per topic, each in sections. With a level, the sections of its articles; without, which topics of every level have an article. Some topics have no article yet.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of the text: en (default) or ru. What is not translated yet comes in English. | |
| level | No | Level id, e.g. bareboat-skipper. |
practice_sectionPractise a theory sectionRead-onlyInspect
The questions on what a theory section explains, at random, without the answers.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of the text: en (default) or ru. What is not translated yet comes in English. | |
| count | No | How many (default 5). | |
| level | Yes | Level id, e.g. bareboat-skipper. | |
| topic | Yes | Topic id, e.g. buoyage. | |
| exclude | No | Question ids the student has already had in this conversation, so they are not repeated. | |
| section | Yes | Section id, e.g. cardinal. |
question_of_the_dayQuestion of the dayRead-onlyInspect
Today's question, the same one the Telegram bot @iyt_test_bot sends: one text question per day (UTC), for one level when a level is given, without the answer.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of the text: en (default) or ru. What is not translated yet comes in English. | |
| level | No | Level id, e.g. bareboat-skipper. |
search_questionsSearch questionsRead-onlyInspect
Questions whose text, options, rule reference or topic have the words (e.g. "cardinal mark", "MAYDAY"), without the answers.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of the text: en (default) or ru. What is not translated yet comes in English. | |
| count | No | How many (default 10). | |
| level | No | Level id, e.g. bareboat-skipper. | |
| query | Yes | Words to look for; all of them must be there. |
search_theorySearch theoryRead-onlyInspect
The sections of the theory articles that have the words (e.g. "scope", "cardinal marks"), with an excerpt of each.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of the text: en (default) or ru. What is not translated yet comes in English. | |
| count | No | How many (default 8). | |
| level | No | Level id, e.g. bareboat-skipper. | |
| query | Yes | Words to look for; all of them must be there. |
start_mock_examStart a mock examRead-onlyInspect
A mock exam of a level: the exam's number of questions spread evenly over all topics, with the time allowed and the pass mark, without the answers.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of the text: en (default) or ru. What is not translated yet comes in English. | |
| level | Yes | Level id, e.g. bareboat-skipper. |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
- Changed
get_questions1 field changed- changed
Input schema / properties / level / descriptionPrevious value: -"Level id from list_levels, e.g. bareboat-skipper."New value: +"Level id, e.g. bareboat-skipper."
- Changed
get_theory2 fields changed- changed
Input schema / properties / level / descriptionPrevious value: -"Level id from list_levels, e.g. bareboat-skipper."New value: +"Level id, e.g. bareboat-skipper." - changed
Input schema / properties / topic / descriptionPrevious value: -"Topic id from list_theory."New value: +"Topic id, e.g. buoyage."
- Changed
list_theory1 field changed- changed
Input schema / properties / level / descriptionPrevious value: -"Level id from list_levels, e.g. bareboat-skipper."New value: +"Level id, e.g. bareboat-skipper."
- Changed
practice_section3 fields changed- changed
Input schema / properties / level / descriptionPrevious value: -"Level id from list_levels, e.g. bareboat-skipper."New value: +"Level id, e.g. bareboat-skipper." - changed
Input schema / properties / section / descriptionPrevious value: -"Section id from list_theory."New value: +"Section id, e.g. cardinal." - changed
Input schema / properties / topic / descriptionPrevious value: -"Topic id from list_theory."New value: +"Topic id, e.g. buoyage."
- Changed
question_of_the_day1 field changed- changed
Input schema / properties / level / descriptionPrevious value: -"Level id from list_levels, e.g. bareboat-skipper."New value: +"Level id, e.g. bareboat-skipper."
- Changed
search_questions1 field changed- changed
Input schema / properties / level / descriptionPrevious value: -"Level id from list_levels, e.g. bareboat-skipper."New value: +"Level id, e.g. bareboat-skipper."
- Changed
search_theory1 field changed- changed
Input schema / properties / level / descriptionPrevious value: -"Level id from list_levels, e.g. bareboat-skipper."New value: +"Level id, e.g. bareboat-skipper."
- Changed
start_mock_exam1 field changed- changed
Input schema / properties / level / descriptionPrevious value: -"Level id from list_levels, e.g. bareboat-skipper."New value: +"Level id, e.g. bareboat-skipper."
13 tool updates
- First observed
check_answer - First observed
explain_question - First observed
get_figure - First observed
get_questions - First observed
get_theory - First observed
grade_exam - First observed
list_levels - First observed
list_theory - First observed
practice_section - First observed
question_of_the_day - First observed
search_questions - First observed
search_theory - First observed
start_mock_exam
Related MCP Connectors
First dedicated sailing MCP — America's Cup, SailGP, Vendée Globe. Events, venues, teams, schedule.
Personal sailing voyage log: trips, legs, ships, crew and GPX tracks with honest statistics.
Mediterranean marine, nautical, sailing: forecasts, tides, sea routes, anchorages, POIs for AI.
Marine and outdoor weather: multi-model forecasts, official bulletins, tides, anchorages.
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables deterministic IELTS answer checking, evidence-grounded explanations, error-cause classification, spaced repetition of mistakes, and progress reports, with data stored locally.10MIT
- AlicenseNot gradedqualityDmaintenanceVocabulary tools for SAT, ISEE, SSAT, GRE, GMAT, LSAT, PSAT prep — Word of the Day, definitions, multiple-choice quizzes, course word lists, and 7-day study plan previews. 13 test-prep courses. Hosted MCP server with MCP Apps UI widgets. No install required. Optional scoped personal tokens.MIT
- AlicenseNot gradedqualityBmaintenanceGenerates timed exams on any topic with an interactive exam sheet in MCP hosts; supports true/false, multiple-choice, and open questions with instant or model grading and a final report out of 100.25 npm1MIT
- AlicenseNot gradedqualityDmaintenanceProvides a local CBT exam system as MCP tools for Codex, managing study sessions, scoring, wrong answer tracking, and review queues with deterministic Python engine and optional Notion integration.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.