ielts-speaking-coach MCP Server
The ielts-speaking-coach MCP server provides a local, privacy-focused IELTS speaking practice workflow that manages practice sessions, question banks, reviews, and progress data entirely on the learner's own computer.
Initialize workspace: Set up a private local data folder for the learner.
Open dashboard: Launch the local dashboard in the browser for button-first practice selection.
Set training selection: Record the learner's chosen route, part (Part 1/2/3 or Full mock), question(s), session length, and optional single goal.
Get training context: Retrieve current session state, recent sessions, and optional retraining target.
List question bank: Browse imported IELTS topics/questions, optionally filtered by Part or search text.
Import question bank: Add normalized IELTS questions from a JSON array.
Save session review: Store a structured Markdown and JSON review for a practice session.
List practice history: Retrieve past sessions, saved targets, and question data.
Get dashboard data: Fetch all sessions, targets, learner info, and dashboard template for progress summaries.
Local data storage: All learner data (transcripts, recordings, reports, etc.) is stored exclusively on the local computer.
Integrates with ChatGPT Voice, using an Electron desktop bridge to control the ChatGPT web interface, launch Voice sessions, capture conversation text, and generate structured reviews from ChatGPT conversations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ielts-speaking-coach MCP Server Show me my IELTS speaking practice dashboard and recent history"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
IELTS Speaking Coach
A GitHub-ready IELTS Speaking desktop app, Codex plugin, and local MCP workflow:
launch ChatGPT Voice from a Windows or macOS desktop dashboard;
send the saved IELTS examiner prompt and capture visible conversation text;
import an IELTS question bank;
choose Part 1, Part 2, Part 3, or a full mock;
create a 7-day, 14-day, or 30-day plan;
generate the same structured review after every session;
freely continue the last question, move to the next question, or select any historical session;
save recommended targets and retrain one selected target through transfer;
automatically ask for a delimited structured review and save it locally;
review history, recurring issues, vocabulary, optional targets, and progress in the dashboard.
Privacy and question-bank content
Learner transcripts, recordings, reports, and login state stay on the local computer and are excluded from this repository. The repository ships only a small original sample question bank so the app can run after cloning. Bring your own licensed IELTS question bank through the import workflow; third-party or OCR-extracted commercial question banks are intentionally not included.
IELTS is a trademark of its respective owners. This independent project is not endorsed by or affiliated with the IELTS test partners. ChatGPT is a trademark of OpenAI; this project is not an official OpenAI product.
Related MCP server: MCP Study Agent
Desktop app
Run locally:
npm install
npm run desktopThe dashboard opens as a desktop window. Click 打开ChatGPT once and sign in yourself. The login is kept in an Electron persistent browser partition. Then select an IELTS question and click 保存并一键启动Voice. End Voice in ChatGPT when the practice is complete. The desktop bridge automatically generates and caches the review; click 同步复盘报告 to save it into the local learning record. If automatic generation does not start, click 补生成复盘报告 and then synchronize it.
After a requested review is saved, the desktop bridge immediately refreshes the latest report, practice history, issue archive, vocabulary archive, and optional retraining target without reloading the whole dashboard.
If the report already exists in the currently open ChatGPT conversation, click 同步复盘报告. The desktop bridge reads that conversation directly and falls back to the clipboard only when necessary. Slightly malformed JSON is repaired when possible before validation and synchronization. The synchronization button never generates a new report; 补生成复盘报告 is the explicit recovery action.
The desktop bridge attempts to locate ChatGPT's current web controls. If ChatGPT changes its interface, the prompt remains available and the learner may need to click Voice manually until selectors are updated.
Build a Windows installer:
npm run package:winBuild the macOS installers on a Mac:
npm run package:macThe macOS build produces separate DMG and ZIP artifacts for Intel (x64) and
Apple silicon (arm64) Macs. A Windows .exe cannot run on macOS, and the
macOS artifacts must be built and tested on macOS. Public distribution also
requires Apple Developer ID signing and notarization; unsigned local builds may
be blocked by Gatekeeper.
Upgrade page
The dashboard includes a highlighted 功能升级 entry below the training navigation.
Set the personal-site destination in mcp/upgrade-page.json:
{
"websiteUrl": "https://your-domain.example/ielts-speaking-coach"
}Only HTTPS destinations are accepted. In the packaged desktop app, the page opens in the learner's default browser so product copy, checkout, and delivery can be updated without changing the local dashboard workflow.
The plugin now includes a local STDIO MCP server. It stores selections, reports, history, and retraining targets on the learner's computer without a hosted backend.
Local MCP
Install dependencies once:
npm installRun the automated MCP smoke test:
npm run test:mcpThe local MCP exposes:
initialize_ielts_workspaceopen_dashboardset_training_selectionget_training_contextsave_session_reviewlist_practice_historyget_dashboard_data
By default, learner data is stored under %LOCALAPPDATA%\IELTS Speaking Coach
on Windows and Electron's application data directory on macOS. Audio recording
is off by default. When the learner explicitly enables it, microphone-only
recordings are stored locally under the recordings folder and can be played or
deleted from the dashboard.
Button-first practice
Ask Codex to 打开雅思口语仪表盘. The open_dashboard
tool opens http://127.0.0.1:43127 in the learner's browser. The learner
chooses a route, Part, exact question, length, and optional single goal. In the
desktop app, the learner starts and ends the complete workflow with buttons.
Prototype boundary
The Skill and MCP do not add Voice by themselves. The optional desktop bridge controls the visible ChatGPT web interface and therefore depends on the learner's ChatGPT access and the current webpage structure. Audio is never stored unless the learner enables the local recording switch.
Try the dashboard
Open demo/dashboard.html in a browser. It contains sample data and demonstrates:
choosing a Part and starting a Voice session;
reviewing a standardized report;
entering a one-target retraining session;
browsing history, issue status, and vocabulary records.
Plugin structure
The installable skill is under skills/ielts-speaking-coach/. The plugin manifest is .codex-plugin/plugin.json.
Available Tools
9 toolsget_dashboard_dataGet IELTS dashboard dataARead-only
Return the learner's local session and target data for a dashboard or progress summary.
Inputs: no named parameters. Returns: learner, targets, dataRoot, sessions, +2 more
get_training_contextGet IELTS training contextARead-only
Read the current selection, recent sessions, and optional saved target before continuing or retraining.
Inputs: no named parameters. Returns: dataRoot, routeChoices, currentSession, recentSessions, +1 more
import_question_bankImport IELTS question bankC
Import normalized IELTS speaking questions from a JSON array and save them to the learner's local question bank.
Inputs: sourceName (required), questionsJson (required), sourceUrl. Returns: total, imported
initialize_ielts_workspaceInitialize IELTS speaking workspaceC
Create the learner's private local data workspace before the first practice session.
Inputs: displayName. Returns: dataRoot, initialized
list_practice_historyList IELTS practice historyARead-only
List recent locally saved IELTS speaking sessions for review or optional retraining.
Inputs: limit. Returns: targets, sessions, questions, questionSources
list_question_bankList IELTS question bankARead-only
List imported IELTS speaking topics or exact questions, optionally filtered by Part or search text.
Inputs: part, limit, search. Returns: total, sources, questions
open_dashboardOpen IELTS speaking dashboardA
Open the learner's private local dashboard to choose a practice route with buttons.
Inputs: no named parameters. Returns: opened, dashboardUrl
save_session_reviewSave standardized IELTS reviewA
Save the fixed-format Markdown review and its machine-readable JSON record after a practice session.
Inputs: reportJson (required), reportMarkdown (required), sessionId. Returns: saved, jsonPath, sessionId, markdownPath
set_training_selectionSet IELTS training selectionB
Save the learner's freely chosen route and today's practice settings before a Voice session.
Inputs: part (required), route (required), length, planItemId, +4 more. Returns: session
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Most tools are clearly distinct: initialization, selection, dashboard, context, question bank (list/import), session review, history, and data retrieval each serve a unique purpose. The only minor ambiguity is between get_dashboard_data and get_training_context, and between open_dashboard and get_dashboard_data, which both touch dashboard-related concerns but differ in interaction style (UI open vs data fetch).
Tools follow a consistent verb_noun pattern: initialize/list/import/save/get/set/open prefixes with clear object nouns. The pattern is largely predictable, though mixing first-word verbs (initialize, set, open, get, list, import, save) is fine—the objects (workspace, selection, dashboard, context, question_bank, session_review, history, data) are consistently snake_case nouns.
Nine tools is well-scoped for an IELTS speaking coach server. Each tool covers a distinct workflow step (init, configure, view options, retrieve context, browse/import questions, save review, view history, fetch dashboard), and none feel redundant or trivial.
The tool surface covers the full practice lifecycle: workspace setup, training selection/configuration, question bank management (list/import), session review saving, and history/dashboard retrieval. Minor gaps include no tool to update or delete the question bank (only import), and no tool to directly edit saved reviews, but the core workflow is complete and functional.
Maintenance
Related MCP Connectors
The Instant MCP server is a wrapper around the Instant Platform SDK that enables creating, managing, and updating InstantDB applications directly within an editor. It provides tools for fetching rules files for LLMs, retrieving and pushing app schemas, managing permission rules, and executing database queries. Key capabilities include schema management (get-schema, push-schema), permission management (get-perms, push-perms), query execution, and listing recent query history.
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA tutorial MCP server for learning the Model Context Protocol by building file and system tools. Provides hands-on experience creating custom tools that enable AI models to interact with files and execute system commands.-
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables users to interact with local documents for educational purposes through tools for listing and reading files. It features an integrated agent capable of automatically generating document summaries and study flashcards.-
- AlicenseBqualityDmaintenanceAn MCP server that locally saves and categorizes user prompts from LLM sessions to facilitate metacognition and track learning progress. It provides tools to review study history, analyze question types, and calculate learning depth scores based on the nature of inquiries.56 npm1ISC
- FlicenseNot gradedqualityDmaintenanceThis MCP server provides an AI-driven learning and knowledge management platform that automatically summarizes conversations, manages knowledge graphs, tracks project progress, explores new technologies, and generates study plans through specialized agents.-