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

Server definition

Hash
sha256:94e2531729a021c36e2a20fd54f2ba462561ce25b16e8a5d1ea6717e133ba9de
What it is
What a remote MCP server returned when asked what it offers: 9 tools

The blob, as servednamed by its sha256

{ "instructions": "Free IELTS preparation platform: real student Writing model answers with AI examiner band scores, and interactive Listening/Reading drills that can be taken and graded in-conversation. Use search_model_answers to find band-scored essays, get_drill + check_drill_answers to run a practice drill with the user (never reveal answers before grading), and list_practice_tests for the full-length test catalog on keenielts.com.", "tools": [ { "description": "Grade a user's drill answers server-side (same grader the website\n uses — case/whitespace tolerant, accepts standard IELTS answer variants).\n\n Args:\n skill: 'listening' or 'reading'.\n slug: the drill slug from get_drill.\n answers: question number -> the user's answer,\n e.g. {\"1\": \"true\", \"2\": \"B\", \"3\": \"24 April\"}.\n\n Returns per-question results with the accepted answers and explanations\n (safe to share with the user now that they have answered), plus a score.\n ", "inputSchema": { "properties": { "answers": { "additionalProperties": { "type": "string" }, "title": "Answers", "type": "object" }, "skill": { "title": "Skill", "type": "string" }, "slug": { "title": "Slug", "type": "string" } }, "required": [ "skill", "slug", "answers" ], "title": "check_drill_answersArguments", "type": "object" }, "name": "check_drill_answers", "outputSchema": null }, { "description": "List every public band-scored answer to ONE IELTS Writing question —\n the same prompt answered by different students at different band scores,\n useful for showing what separates a Band 6 from a Band 8 on identical\n input. Fetch individual answers with get_model_answer.\n ", "inputSchema": { "properties": { "section_id": { "title": "Section Id", "type": "integer" } }, "required": [ "section_id" ], "title": "compare_questionArguments", "type": "object" }, "name": "compare_question", "outputSchema": null }, { "description": "Fetch the full content of a KeenIELTS search result by id: a model\n answer with examiner feedback, a practice drill, a question compared\n across band scores, or a site page.\n ", "inputSchema": { "properties": { "id": { "title": "Id", "type": "string" } }, "required": [ "id" ], "title": "fetchArguments", "type": "object" }, "name": "fetch", "outputSchema": null }, { "description": "Get one drill's content so the user can attempt it in conversation.\n\n The questions are markdown; `{{3}}` marks a gap the user fills for\n question 3, and `{{3:A/B/C}}` means question 3 is a choice between the\n slash-separated options. For listening drills, give the user the audio\n link to play before answering. Collect the user's answers, then call\n check_drill_answers to grade them — do NOT guess at or reveal correct\n answers yourself; they are only returned by check_drill_answers.\n ", "inputSchema": { "properties": { "skill": { "title": "Skill", "type": "string" }, "slug": { "title": "Slug", "type": "string" } }, "required": [ "skill", "slug" ], "title": "get_drillArguments", "type": "object" }, "name": "get_drill", "outputSchema": null }, { "description": "Get one student IELTS Writing answer in full: the question, the essay,\n and the AI examiner's band scores + feedback on all four official IELTS\n marking criteria (Task Achievement, Coherence & Cohesion, Lexical\n Resource, Grammatical Range & Accuracy).\n\n Get section_id/attempt_id pairs from search_model_answers or\n compare_question.\n ", "inputSchema": { "properties": { "attempt_id": { "title": "Attempt Id", "type": "integer" }, "section_id": { "title": "Section Id", "type": "integer" } }, "required": [ "section_id", "attempt_id" ], "title": "get_model_answerArguments", "type": "object" }, "name": "get_model_answer", "outputSchema": null }, { "description": "List short, targeted IELTS practice drills that can be taken right here\n in the conversation (fetch with get_drill, grade with check_drill_answers).\n\n Args:\n skill: 'listening' or 'reading'.\n category: optional IELTS question-type filter. Listening: completion,\n multiple-choice, matching, labelling. Reading: true-false-not-given,\n completion, matching-headings, matching-information,\n multiple-choice-short-answer.\n ", "inputSchema": { "properties": { "category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Category" }, "skill": { "title": "Skill", "type": "string" } }, "required": [ "skill" ], "title": "list_drillsArguments", "type": "object" }, "name": "list_drills", "outputSchema": null }, { "description": "Catalog of full-length IELTS practice tests on keenielts.com — books,\n difficulty, and test counts for all four skills (Listening, Reading,\n Writing, Speaking). Full tests are taken on the website (timed, with audio\n players and AI band scoring), not in this conversation — point the user at\n the URLs. Taking tests and getting AI band scores is free.\n ", "inputSchema": { "properties": {}, "title": "list_practice_testsArguments", "type": "object" }, "name": "list_practice_tests", "outputSchema": null }, { "description": "Search KeenIELTS: real student IELTS Writing model answers with band\n scores, Listening/Reading practice drills, and IELTS practice resources.\n Returns result ids for use with fetch.\n ", "inputSchema": { "properties": { "query": { "title": "Query", "type": "string" } }, "required": [ "query" ], "title": "searchArguments", "type": "object" }, "name": "search", "outputSchema": null }, { "description": "Search real student IELTS Writing answers scored by AI examiner.\n\n Args:\n task: IELTS Writing task number — 1 (reports/letters) or 2 (essays).\n band: whole band to filter on; matches half-bands too (8 -> 8.0-8.5).\n query: free-text match against the question/prompt.\n limit: max results (1-50).\n\n Each result links to a full page with the question, the student's answer,\n and criterion-by-criterion examiner feedback. Use get_model_answer for the\n full content, or compare_question to see the same prompt at other bands.\n ", "inputSchema": { "properties": { "band": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Band" }, "limit": { "default": 20, "title": "Limit", "type": "integer" }, "query": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Query" }, "task": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Task" } }, "title": "search_model_answersArguments", "type": "object" }, "name": "search_model_answers", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:94e2531729a021c36e2a20fd54f2ba462561ce25b16e8a5d1ea6717e133ba9de | sha256sum