mcp-registry/com.keenielts/mcp · v1.12.4
As of 2026-10-26 07:11 UTC, the Keenielts MCP server is up with a Glimind reliability score of 100/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 1 outage in 90 days, with a median recovery of 8 minutes.
Free IELTS prep: band-scored student essays and interactive Listening/Reading drills graded in-chat.
Claude Code
claude mcp add --transport http keenielts-mcp-server https://keenielts.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"keenielts-mcp-server": {
"type": "http",
"url": "https://keenielts.com/mcp"
}
}
}
Third-party server, listed as discovered. Review its source before installing.
9 of 9 tool(s) carry no readOnlyHint/destructiveHint annotations.
Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones. How to fix →
16 parameter(s) across 8 tool(s) have no description.
Add a "description" to each parameter with its format and an example ("ISO 8601 date, e.g. 2026-10-17"). This is the commonest cause of wrong arguments on the first call. How to fix →
No tool declares an outputSchema.
Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. 8 tool(s) still need parameter descriptions written by someone who knows the API. All of them as JSON: /v1/readiness/mcp-registry%2Fcom.keenielts%2Fmcp/fixes
{
"name": "check_drill_answers",
"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 ",
"inputSchema": {
"type": "object",
"title": "check_drill_answersArguments",
"required": [
"skill",
"slug",
"answers"
],
"properties": {
"slug": {
"type": "string",
"title": "Slug"
},
"skill": {
"type": "string",
"title": "Skill"
},
"answers": {
"type": "object",
"title": "Answers",
"additionalProperties": {
"type": "string"
}
}
}
},
"annotations": {
"readOnlyHint": true
}
}{
"name": "compare_question",
"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": {
"type": "object",
"title": "compare_questionArguments",
"required": [
"section_id"
],
"properties": {
"section_id": {
"type": "integer",
"title": "Section Id"
}
}
},
"annotations": {
"readOnlyHint": true
}
}{
"name": "fetch",
"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": {
"type": "object",
"title": "fetchArguments",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"title": "Id"
}
}
},
"annotations": {
"readOnlyHint": true
}
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/com.keenielts/mcp"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/com.keenielts/mcp"}) over MCP.
search_model_answers ~265 tokenscheck_drill_answers ~240 tokenslist_drills ~210 tokensget_drill ~203 tokensget_model_answer ~176 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Fcom.keenielts%2Fmcp?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Fcom.keenielts%2Fmcp?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fcom.keenielts%2Fmcp.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fcom.keenielts%2Fmcp.svg :target: https://glimind.com/server/mcp-registry%2Fcom.keenielts%2Fmcp?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:a877ee92c8493ca8…, first seen 2026-10-17, included at leaf 7219 of 71,337. Version history · verify what your client received.
Compare: most reliable knowledge servers · most reliable retrieval servers · most reliable search servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-26 07:11 UTC, the Keenielts MCP server is up with a Glimind reliability score of 100/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 1 outage in 90 days, with a median recovery of 8 minutes.
Keenielts MCP server advertises 9 tools, including check_drill_answers, compare_question, fetch, get_drill, get_model_answer.
Point your MCP client at this streamable-http endpoint: https://keenielts.com/mcp
Glimind scanned all 9 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Status page: 90-day uptime, every outage and how long it lasted.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.