MCP 서버

Chertov & Vorobyov physics problem solutions

ua.org.chertov/chertov
교육 지식 및 문서 과학 및 엔지니어링 공개 · 연결 가능 MCP 2026-07-28

이 MCP로 할 수 있는 일

Searches and retrieves solved problems, chapters and paragraphs from a Russian physics problem-solution corpus.

get_problem
Get Problem
One solved problem, in full. Address it either with paragraph + number, or with label — the spoken form "1.12" (a dot, a dash or a space also work: "1-12", "1 12"). Returns JSON: when found, {found: true, problem: {label, paragraph, number, chapter, condition, solution_image_url, page_url, chapter_name, paragraph_name, chapter_url, paragraph_url, solution_format}}; otherwise {found: false, reason: "not_solved"|"not_found", label, paragraph, number, message}. A missing or unsolved problem is a normal result, not an error — do not retry it.
읽기 전용 멱등성
입력 스키마
{'type': 'object', 'properties': {'label': {'type': 'string', 'maxLength': 16, 'description': 'The problem label as it is spoken or written: "1.12", "1-12" or "1 12". Use this OR paragraph + number.'}, 'number': {'type': 'integer', 'minimum': 1, 'description': 'Problem number within the paragraph. Give together with `paragraph`, or use `label` instead.'}, 'paragraph': {'type': 'integer', 'minimum': 1, 'description': 'Paragraph (§) number. Give together with `number`, or use `label` instead.'}}}
list_chapters
List Chapters
Map of the whole corpus: every chapter of the Chertov & Vorobyov physics problem book, with its paragraph (§) numbers and how many solved problems it holds. Takes no arguments. Returns JSON: {chapters: [{chapter, name, paragraph_count, paragraphs, paragraph_range, solved_problem_count, page_url}], totals: {chapters, paragraphs, solved_problems}}. Call this first to learn the shape of the corpus.
읽기 전용 멱등성
입력 스키마
{'type': 'object', 'properties': {}}
list_paragraphs
List Paragraphs
Paragraphs (§) of the problem book, optionally restricted to one chapter. Arguments: chapter (optional integer). Returns JSON: {chapter, paragraphs: [{paragraph, name, chapter, chapter_name, solved_problem_count, problem_number_range, page_url}], totals: {paragraphs, solved_problems}}. Paragraph numbers are unique across the whole book, so a paragraph number alone addresses a section.
읽기 전용 멱등성
입력 스키마
{'type': 'object', 'properties': {'chapter': {'type': 'integer', 'minimum': 1, 'description': 'Chapter number to restrict to. Omit for every paragraph in the book.'}}}
list_problems
List Problems
Solved problems of one paragraph (§), paginated and in book order. Arguments: paragraph (required integer), page (optional, default 1), per_page (optional, default 25, max 100). Returns JSON: {paragraph, paragraph_name, chapter, chapter_name, problems: [{label, paragraph, number, chapter, condition, solution_image_url, page_url}], pagination: {page, per_page, total, total_pages}}. `condition` is the problem statement as plain Russian text; the worked solution exists only as the GIF at `solution_image_url`. Problems without a solution are not listed and are not counted.
읽기 전용 멱등성
입력 스키마
{'type': 'object', 'required': ['paragraph'], 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1, 'description': '1-based page number. Defaults to 1.'}, 'per_page': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1, 'description': 'Results per page, 1 to 100. Defaults to 25.'}, 'paragraph': {'type': 'integer', 'minimum': 1, 'description': 'Paragraph (§) number. Unique across the whole book; see list_paragraphs.'}}}
search_problems
Search Problems
Full-text search over the Russian problem statements. Searches PROBLEMS ONLY — never articles or news. Arguments: query (required string, at least 5 characters once whitespace is removed), page (optional, default 1), per_page (optional, default 25, max 100). Returns JSON: {query, problems: [{label, paragraph, number, chapter, condition, solution_image_url, page_url}], pagination: {page, per_page, total, total_pages}}. Query in Russian — the statements are Russian. A shorter query is rejected with a validation error rather than returning nothing, and LIKE wildcards in the query are matched literally.
읽기 전용 멱등성
입력 스키마
{'type': 'object', 'required': ['query'], 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1, 'description': '1-based page number. Defaults to 1.'}, 'query': {'type': 'string', 'maxLength': 255, 'description': 'Text to look for inside the problem statements, in Russian. At least 5 characters once all whitespace is removed — spaces do not count towards that minimum.'}, 'per_page': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1, 'description': 'Results per page, 1 to 100. Defaults to 25.'}}}
추가됨
search_problems
2026년 9월 17일 12:55 PM
추가됨
get_problem
2026년 9월 17일 12:55 PM
추가됨
list_problems
2026년 9월 17일 12:55 PM
추가됨
list_paragraphs
2026년 9월 17일 12:55 PM
추가됨
list_chapters
2026년 9월 17일 12:55 PM