IELTS writing practice, study plans, lessons and vocabulary with optional account tools.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
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.
| Argument | Type | Description |
|---|---|---|
| text* | string | |
| taskType | string |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 24000,
"minLength": 1
},
"taskType": {
"enum": [
"Task 1",
"Task 2"
],
"type": "string"
}
},
"additionalProperties": false
}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).
| Argument | Type | Description |
|---|---|---|
| reading* | number | |
| writing* | number | |
| speaking* | number | |
| listening* | number | |
| writingTask1 | number | |
| writingTask2 | number |
{
"type": "object",
"required": [
"listening",
"reading",
"writing",
"speaking"
],
"properties": {
"reading": {
"type": "number",
"maximum": 9,
"minimum": 0,
"multipleOf": 0.5
},
"writing": {
"type": "number",
"maximum": 9,
"minimum": 0,
"multipleOf": 0.5
},
"speaking": {
"type": "number",
"maximum": 9,
"minimum": 0,
"multipleOf": 0.5
},
"listening": {
"type": "number",
"maximum": 9,
"minimum": 0,
"multipleOf": 0.5
},
"writingTask1": {
"type": "number",
"maximum": 9,
"minimum": 0,
"multipleOf": 0.5
},
"writingTask2": {
"type": "number",
"maximum": 9,
"minimum": 0,
"multipleOf": 0.5
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| taskId* | string |
{
"type": "object",
"required": [
"taskId"
],
"properties": {
"taskId": {
"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"
],
"type": "string"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| sampleId* | string |
{
"type": "object",
"required": [
"sampleId"
],
"properties": {
"sampleId": {
"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"
],
"type": "string"
}
},
"additionalProperties": false
}List the original writing or speaking lessons, or read one lesson in full by ID. Lesson quizzes are study checks, not IELTS scores.
| Argument | Type | Description |
|---|---|---|
| area* | string | |
| lessonId | string |
{
"type": "object",
"required": [
"area"
],
"properties": {
"area": {
"enum": [
"writing",
"speaking"
],
"type": "string"
},
"lessonId": {
"type": "string",
"maxLength": 80
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query | string | Words to match in the title, topic or question. |
| format | string | |
| questionType | string |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Words to match in the title, topic or question."
},
"format": {
"enum": [
"Academic Task 2",
"General Training Task 1",
"Academic Task 1",
"General Task 2"
],
"type": "string"
},
"questionType": {
"enum": [
"opinion",
"discussion",
"balance",
"solutions",
"causesEvaluation",
"twoPart",
"charts",
"maps",
"processes",
"formalLetter",
"semiFormalLetter",
"informalLetter"
],
"type": "string"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query | string | |
| topic | string |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 8,
"maximum": 20,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 100
},
"topic": {
"enum": [
"Education & work",
"Environment & cities",
"Health & society",
"Argument & evidence",
"Charts & trends",
"Letters & register"
],
"type": "string"
}
},
"additionalProperties": false
}