KeenIELTS
com.keenielts/mcp · 1.0.0
Free IELTS prep: band-scored student essays and interactive Listening/Reading drills graded in-chat.
Nobody here has read this server's code, because it publishes none. The description above is the maker's own, from the registry. A connection test shows whether it answers and what tools it says it has; it never calls a tool, so it cannot show what one does with your data.
Where it sits in the directory's order
What can be seen from outside, weighed as the directory publishes.
Observable signals: 45 of 100 points (at most 60 here)
| Input | Points | What was seen |
|---|---|---|
| Source published | held at 0 | No entry here publishes source: that is what puts it in this directory. |
| Licence stated | held at 0 | With no files, there is nothing for a licence to be stated in or held against. |
| Advisory state | held at 0 | Advisory databases index packages, and these entries publish none, so there is nothing to look up. |
| Auth declared | 0 of 15 | The registry entry declares no key. That is what it declares, not a finding that it has no protection. |
| Latest connection test reached it | 20 of 20 |
Where it answers
https://keenielts.com/mcpstreamable-http
Connection test
The MCP handshake, then a request for the tool list, with no key and no data of yours. Run nightly, and by anyone, at most once every ten minutes per server.
It completed the handshake and listed 9 tools.
- Protocol
- 2025-06-18
- Calls itself
- KeenIELTS 1.12.4
- Handshake time
- 270 ms
- HTTP status
- 200
The tools it lists (9, as of 4 days ago)
The tool-description rules found nothing in these descriptions. They look for instructions aimed at a model and for hidden characters; they cannot see what a tool does when it runs.
search_model_answersSearch 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.
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, Coherence & Cohesion, Lexical Resource, Grammatical Range & Accuracy). Get section_id/attempt_id pairs from search_model_answers or compare_question.
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 Band 6 from a Band 8 on identical input. Fetch individual answers with get_model_answer.
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). 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.
get_drillGet 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.
How this entry becomes a listing
For the maker. The catalogue lists what it can read, and this server publishes nothing to read yet. There are two routes, and only the first is open today.
Publish the source Open today
- Put the server's source in a public repository on github.com, with a licence.
- Keep a server.json in that repository naming this server,
com.keenielts/mcp, and declare the repository in it:"repository": { "url": "https://github.com/owner/repo", "source": "github" }, adding"subfolder"when the server lives in a folder. - Publish that version to the official MCP registry.
- The nightly registry sweep records the declaration. This page stays, dated, and says the source is declared but not yet read.
- The catalogue reads declared repositories at a pinned commit, in batches run by hand, and lists the servers that meet the batch's rules (among them a server.json at that commit naming the server, an https endpoint and a licence). When it lists this server, this page links to the listing. There is no schedule, so no date can be promised.
List it through the maker studio Not open yet
From the official MCP registry, last updated there 66 days ago. The registry entry · keenielts.com