Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,537Letters: 14Defects: 1,323counted just now
teppi

Server definition

Hash
sha256:a71367246d94e520f031e47b5c200dde65558fe05e803320d1a2099b9f5900fb
What it is
What a remote MCP server returned when asked what it offers: 5 tools

The blob, as servednamed by its sha256

{ "instructions": "Read-only access to chertov.org.ua, a Russian-language site publishing worked solutions to the\nphysics problem book by A. G. Chertov and A. A. Vorobyov (Чертов А.Г., Воробьёв А.А.).\n\nSTRUCTURE. The book is 10 chapters (глава) containing 51 paragraphs (параграф, written §), which\ncontain the problems (задача). A problem is addressed by its paragraph number plus its number\nwithin that paragraph, written \"P.N\" — for example 1.12. Paragraph numbers are unique across the\nwhole book, so a paragraph number alone identifies a section and the chapter is never needed to\naddress a problem.\n\nWHAT IS EXPOSED. Only problems that have a published solution. Problems still awaiting one are\nabsent from every result and from every count, so a count returned here is a count of solved\nproblems.\n\nSOLUTIONS. Each solution is a scanned worked derivation served as a GIF from the static host\nhttps://static1.chertov.org.ua. Those URLs are permanent, public and hotlinkable — link to the\nimage rather than copying it. There is no text transcription of a solution. The problem STATEMENT\n(the `condition` field) is available as plain Russian text.\n\nPAGES. Every problem, paragraph and chapter also has a canonical HTML page on\nhttps://www.chertov.org.ua; each result carries its `page_url`.\n\nTOOLS. `list_chapters` maps the whole corpus and is the place to start. `list_paragraphs` lists\nthe paragraphs of one chapter or of the book, with solved counts and problem-number ranges.\n`list_problems` pages through one paragraph. `get_problem` fetches one problem by paragraph +\nnumber or by label. `search_problems` searches the Russian problem statements; its query must be\nat least 5 characters once whitespace is removed, and a shorter one is rejected with a validation\nerror rather than returning an empty result.\n\nCALLING. Every tool is read-only, free of side effects and safe to call repeatedly or in\nparallel. Every result is JSON with English field names; the values are in the source language,\nwhich is Russian. A problem that does not exist, or that has no published solution, comes back as\na normal result with `found: false` — that is an answer, not a failure to retry.", "tools": [ { "description": "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.", "inputSchema": { "properties": { "label": { "description": "The problem label as it is spoken or written: \"1.12\", \"1-12\" or \"1 12\". Use this OR paragraph + number.", "maxLength": 16, "type": "string" }, "number": { "description": "Problem number within the paragraph. Give together with `paragraph`, or use `label` instead.", "minimum": 1, "type": "integer" }, "paragraph": { "description": "Paragraph (§) number. Give together with `number`, or use `label` instead.", "minimum": 1, "type": "integer" } }, "type": "object" }, "name": "get_problem", "outputSchema": null }, { "description": "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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "list_chapters", "outputSchema": null }, { "description": "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.", "inputSchema": { "properties": { "chapter": { "description": "Chapter number to restrict to. Omit for every paragraph in the book.", "minimum": 1, "type": "integer" } }, "type": "object" }, "name": "list_paragraphs", "outputSchema": null }, { "description": "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.", "inputSchema": { "properties": { "page": { "default": 1, "description": "1-based page number. Defaults to 1.", "minimum": 1, "type": "integer" }, "paragraph": { "description": "Paragraph (§) number. Unique across the whole book; see list_paragraphs.", "minimum": 1, "type": "integer" }, "per_page": { "default": 25, "description": "Results per page, 1 to 100. Defaults to 25.", "maximum": 100, "minimum": 1, "type": "integer" } }, "required": [ "paragraph" ], "type": "object" }, "name": "list_problems", "outputSchema": null }, { "description": "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.", "inputSchema": { "properties": { "page": { "default": 1, "description": "1-based page number. Defaults to 1.", "minimum": 1, "type": "integer" }, "per_page": { "default": 25, "description": "Results per page, 1 to 100. Defaults to 25.", "maximum": 100, "minimum": 1, "type": "integer" }, "query": { "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.", "maxLength": 255, "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "search_problems", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:a71367246d94e520f031e47b5c200dde65558fe05e803320d1a2099b9f5900fb | sha256sum