English Test Coach

IELTS writing practice, study plans, lessons and vocabulary with optional account tools.

Should I use this

Quality & Safety

A
Description quality
94%
Schema completeness
78%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,869Tokens (tool definitions)
~2.3 KBTypical response size
Moderate attention impact (1.46% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "english-test-coach": {
      "url": "https://englishtestcoach.com/mcp"
    }
  }
}

Remote endpoints

https://englishtestcoach.com/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_practice(query, format, questionType, limit)

Search original IELTS-style writing practice questions (Academic Task 1 and 2, General Training Task 1 and 2). Returns task IDs for get_practice_task. Not official exam questions.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 200,
      "description": "Words to match in the title, topic or question."
    },
    "format": {
      "type": "string",
      "enum": [
        "Academic Task 2",
        "General Training Task 1",
        "Academic Task 1",
        "General Task 2"
      ]
    },
    "questionType": {
      "type": "string",
      "enum": [
        "opinion",
        "discussion",
        "balance",
        "solutions",
        "causesEvaluation",
        "twoPart",
        "charts",
        "maps",
        "processes",
        "formalLetter",
        "semiFormalLetter",
        "informalLetter"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "default": 10
    }
  },
  "additionalProperties": false
}
🟢get_practice_task(taskId)

Get one original practice question by ID, with planning guidance for its question type and links to any annotated sample answers. Academic Task 1 visuals are linked as images; do not invent their figures.

Input Schema

{
  "type": "object",
  "properties": {
    "taskId": {
      "type": "string",
      "enum": [
        "shared-school-sport",
        "wildlife-school-visits",
        "older-residents-services",
        "employment-after-prison",
        "museum-admission",
        "club-equipment-apology",
        "children-learning-advertising",
        "coastal-water-cycle",
        "museum-weekend-application",
        "library-loan-projections",
        "live-online-evening-courses",
        "evening-class-enrolments",
        "remote-work",
        "university-skills",
        "city-transport",
        "technology-children",
        "museum-visitors",
        "energy-sources",
        "library-changes",
        "damaged-order",
        "community-event",
        "friend-visit",
        "healthy-food",
        "tourism-culture",
        "school-finance",
        "urban-green-space",
        "scientific-research",
        "late-delivery",
        "course-advice",
        "public-hall",
        "local-shopping",
        "working-age",
        "food-waste",
        "repair-products",
        "assessment-projects",
        "compressed-week",
        "rural-newcomers",
        "evening-classes",
        "shift-request",
        "missed-celebration",
        "commuting-methods",
        "recycled-paper",
        "automated-feedback",
        "urban-noise",
        "student-volunteering",
        "remote-healthcare",
        "public-libraries",
        "community-sport",
        "later-school-start",
        "neighbour-noise",
        "thank-host",
        "lost-property",
        "household-water",
        "campus-green-roofs",
        "shared-tools",
        "moving-help",
        "household-spending",
        "regional-transport",
        "returnable-bottles",
        "station-square"
      ]
    }
  },
  "required": [
    "taskId"
  ],
  "additionalProperties": false
}
🟢get_sample_answer(sampleId)

Read one original annotated sample answer by ID (from get_practice_task), with paragraph notes and useful vocabulary. Samples show techniques; they are not officially scored scripts.

Input Schema

{
  "type": "object",
  "properties": {
    "sampleId": {
      "type": "string",
      "enum": [
        "school-finance-qualified-agreement",
        "city-transport-testing-the-mechanism",
        "technology-children-matched-solutions",
        "local-shopping-community-solutions",
        "tourism-culture-causes-and-judgement",
        "evening-classes-answering-two-questions",
        "shift-request-professional-tone",
        "missed-celebration-personal-apology",
        "shared-school-sport-suitable-capacity",
        "wildlife-visits-learning-and-responsibility",
        "older-residents-services-needs-and-priorities",
        "employment-after-prison-matched-support",
        "museum-admission-access-and-funding",
        "club-equipment-apology-practical-repair",
        "children-learning-advertising-access-and-trust",
        "museum-application-relevant-experience",
        "library-loans-observed-and-projected",
        "online-evening-courses-selective-access",
        "automated-feedback-human-oversight",
        "urban-noise-targeted-controls",
        "student-volunteering-access-and-learning",
        "remote-healthcare-triage-and-access",
        "public-libraries-books-and-services",
        "community-sport-lower-the-barriers",
        "later-school-start-sleep-and-schedules",
        "neighbour-noise-respectful-resolution",
        "thank-host-warm-invitation",
        "lost-property-precise-description",
        "energy-sources-changing-mix",
        "community-event-specific-sponsorship",
        "urban-green-space-both-needs",
        "scientific-research-mixed-accountability",
        "late-delivery-documented-remedy",
        "course-advice-practical-preparation",
        "public-hall-complete-enquiry",
        "working-age-flexible-later-careers",
        "food-waste-plan-and-portion",
        "repair-products-standards-and-cost",
        "assessment-projects-combined-evidence",
        "compressed-week-job-specific-balance",
        "rural-newcomers-managed-growth",
        "coastal-water-cycle-return-routes",
        "evening-classes-static-comparisons",
        "returnable-bottles-loop-and-exit",
        "station-square-proposed-changes",
        "household-water-purpose-comparisons",
        "campus-green-roofs-qualified-requirement",
        "shared-tools-managed-benefits",
        "moving-help-friendly-specific-request",
        "household-spending-share-changes",
        "regional-transport-linked-visuals",
        "commuting-methods-share-comparisons",
        "recycled-paper-sequencing",
        "library-changes-locations",
        "remote-work-balanced-argument",
        "university-theory-and-practice",
        "healthy-food-price-and-education",
        "damaged-order-formal-complaint",
        "friend-visit-informal-letter",
        "museum-visitors-comparisons"
      ]
    }
  },
  "required": [
    "sampleId"
  ],
  "additionalProperties": false
}
🟢list_lessons(area, lessonId)

List the original writing or speaking lessons, or read one lesson in full by ID. Lesson quizzes are study checks, not IELTS scores.

Input Schema

{
  "type": "object",
  "properties": {
    "area": {
      "type": "string",
      "enum": [
        "writing",
        "speaking"
      ]
    },
    "lessonId": {
      "type": "string",
      "maxLength": 80
    }
  },
  "required": [
    "area"
  ],
  "additionalProperties": false
}
🟢search_vocabulary(query, topic, limit)

Search original IELTS vocabulary entries with meaning, an example sentence and a usage caution. Use words for their meaning, not as a shortcut to a higher band.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 100
    },
    "topic": {
      "type": "string",
      "enum": [
        "Education & work",
        "Environment & cities",
        "Health & society",
        "Argument & evidence",
        "Charts & trends",
        "Letters & register"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "default": 8
    }
  },
  "additionalProperties": false
}
🟢analyze_writing(text, taskType)

Count words, sentences and paragraphs in a piece of writing and compare the word count with the IELTS minimum for the task. Runs locally: nothing is saved or sent to an AI. These counts are not a band score.

Input Schema

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 24000
    },
    "taskType": {
      "type": "string",
      "enum": [
        "Task 1",
        "Task 2"
      ]
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false
}
🟢calculate_band_score(listening, reading, writing, speaking, writingTask1, ...)

Calculate the overall IELTS band from Listening, Reading, Writing and Speaking bands using the official rounding (averages ending .25 round up to the next half band, .75 to the next whole band). Optionally estimate a Writing band from Task 1 and Task 2 bands (Task 2 counts double; this part is an estimate).

Input Schema

{
  "type": "object",
  "properties": {
    "listening": {
      "type": "number",
      "minimum": 0,
      "maximum": 9,
      "multipleOf": 0.5
    },
    "reading": {
      "type": "number",
      "minimum": 0,
      "maximum": 9,
      "multipleOf": 0.5
    },
    "writing": {
      "type": "number",
      "minimum": 0,
      "maximum": 9,
      "multipleOf": 0.5
    },
    "speaking": {
      "type": "number",
      "minimum": 0,
      "maximum": 9,
      "multipleOf": 0.5
    },
    "writingTask1": {
      "type": "number",
      "minimum": 0,
      "maximum": 9,
      "multipleOf": 0.5
    },
    "writingTask2": {
      "type": "number",
      "minimum": 0,
      "maximum": 9,
      "multipleOf": 0.5
    }
  },
  "required": [
    "listening",
    "reading",
    "writing",
    "speaking"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools