KeenIELTS
by keenielts.com · remote · no sign-in to list tools · v1.0.0 · published by com.keenielts
Free IELTS prep: band-scored student essays and interactive Listening/Reading drills graded in-chat.
9 tools: 1 change things and 8 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads8Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http keenielts https://keenielts.com/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
9 tools
Changes things 1Claude Code: ask
check_drill_answersGrade a user's drill answers server-side (same grader the website uses — case/whitespace tolerant, accepts standard IELTS answer variants).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Grade a user's drill answers server-side (same grader the website uses — case/whitespace tolerant, accepts standard IELTS answer variants). Args: skill: 'listening' or 'reading'. slug: the drill slug from get_drill. answers: question number -> the user's answer, e.g. {"1": "true", "2": "B", "3": "24 April"}. Returns per-question results with the accepted answers and explanations (safe to share with the user now that they have answered), plus a score.
Only reads 8Claude Code: allow
compare_questionList every public band-scored answer to ONE IELTS Writing question — the same prompt answered by different students at different band scores, useful for showing what separates a Ba…No findings
Why it is in this group
- The name "compare_question" says "compare": a word for reading.
Description, as the server wrote it List every public band-scored answer to ONE IELTS Writing question — the same prompt answered by different students at different band scores, useful for showing what separates a Band 6 from a Band 8 on identical input. Fetch individual answers with get_model_answer.
fetchFetch the full content of a KeenIELTS search result by id: a model answer with examiner feedback, a practice drill, a question compared across band scores, or a site page.No findings
Why it is in this group
- The name "fetch" says "fetch": a word for reading.
Description, as the server wrote it Fetch the full content of a KeenIELTS search result by id: a model answer with examiner feedback, a practice drill, a question compared across band scores, or a site page.
get_drillGet one drill's content so the user can attempt it in conversation.No findings
Why it is in this group
- The name "get_drill" says "get": a word for reading.
Description, as the server wrote it Get one drill's content so the user can attempt it in conversation. The questions are markdown; `{{3}}` marks a gap the user fills for question 3, and `{{3:A/B/C}}` means question 3 is a choice between the slash-separated options. For listening drills, give the user the audio link to play before answering. Collect the user's answers, then call check_drill_answers to grade them — do NOT guess at or reveal correct answers yourself; they are only returned by check_drill_answers.
get_model_answerGet one student IELTS Writing answer in full: the question, the essay, and the AI examiner's band scores + feedback on all four official IELTS marking criteria (Task Achievement, C…No findings
Why it is in this group
- The name "get_model_answer" says "get": a word for reading.
Description, as the server wrote it Get one student IELTS Writing answer in full: the question, the essay, and the AI examiner's band scores + feedback on all four official IELTS marking criteria (Task Achievement, Coherence & Cohesion, Lexical Resource, Grammatical Range & Accuracy). Get section_id/attempt_id pairs from search_model_answers or compare_question.
list_drillsList short, targeted IELTS practice drills that can be taken right here in the conversation (fetch with get_drill, grade with check_drill_answers).No findings
Why it is in this group
- The name "list_drills" says "list": a word for reading.
Description, as the server wrote it List short, targeted IELTS practice drills that can be taken right here in the conversation (fetch with get_drill, grade with check_drill_answers). Args: skill: 'listening' or 'reading'. category: optional IELTS question-type filter. Listening: completion, multiple-choice, matching, labelling. Reading: true-false-not-given, completion, matching-headings, matching-information, multiple-choice-short-answer.
list_practice_testsCatalog of full-length IELTS practice tests on keenielts.com — books, difficulty, and test counts for all four skills (Listening, Reading, Writing, Speaking).No findings
Why it is in this group
- The name "list_practice_tests" says "list": a word for reading.
Description, as the server wrote it Catalog of full-length IELTS practice tests on keenielts.com — books, difficulty, and test counts for all four skills (Listening, Reading, Writing, Speaking). Full tests are taken on the website (timed, with audio players and AI band scoring), not in this conversation — point the user at the URLs. Taking tests and getting AI band scores is free.
searchSearch KeenIELTS: real student IELTS Writing model answers with band scores, Listening/Reading practice drills, and IELTS practice resources.No findings
Why it is in this group
- The name "search" says "search": a word for reading.
Description, as the server wrote it Search KeenIELTS: real student IELTS Writing model answers with band scores, Listening/Reading practice drills, and IELTS practice resources. Returns result ids for use with fetch.
search_model_answersSearch real student IELTS Writing answers scored by AI examiner.No findings
Why it is in this group
- The name "search_model_answers" says "search": a word for reading.
Description, as the server wrote it Search real student IELTS Writing answers scored by AI examiner. Args: task: IELTS Writing task number — 1 (reports/letters) or 2 (essays). band: whole band to filter on; matches half-bands too (8 -> 8.0-8.5). query: free-text match against the question/prompt. limit: max results (1-50). Each result links to a full page with the question, the student's answer, and criterion-by-criterion examiner feedback. Use get_model_answer for the full content, or compare_question to see the same prompt at other bands.
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http keenielts https://keenielts.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__keenielts__search_model_answers",
"mcp__keenielts__get_model_answer",
"mcp__keenielts__compare_question",
"mcp__keenielts__list_drills",
"mcp__keenielts__get_drill",
"mcp__keenielts__list_practice_tests",
"mcp__keenielts__search",
"mcp__keenielts__fetch"
],
"ask": [
"mcp__keenielts__check_drill_answers"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as keenielts. Review it before you use it.