IELTS MCP Server
Allows reading the content of Google Docs files stored in Google Drive.
Provides direct, read-only access to Google Drive files, enabling listing, searching, and reading of documents (PDF, DOCX, Google Docs, Google Sheets, TXT) from a specified Drive folder.
Allows reading data from Google Sheets files stored in Google Drive.
Click on "Install 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 MCP Serversearch for Writing Task 1 sample answers"
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 MCP Server
A FastMCP server that connects Claude Desktop directly to your Google Drive IELTS study materials.
Read PDFs, DOCX files, and Google Docs โ without downloading anything to your local machine.
โจ Features
๐ Direct Google Drive access โ connect to your Drive folder without downloading files
๐ Multi-format support โ PDF, DOCX, Google Docs, Google Sheets, TXT
๐ Smart search โ find documents by filename across your entire Drive
๐ Folder navigation โ browse nested folder structures
๐ค AI-powered analysis โ generate IELTS practice questions and extract vocabulary (requires Azure OpenAI)
๐ Built-in IELTS resources โ band descriptors, task formats, writing criteria
๐ฏ Reusable prompts โ IELTS tutor, essay feedback, question generator
Related MCP server: Google Drive MCP
๐๏ธ Architecture
Claude Desktop
โ stdio (JSON-RPC 2.0)
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ FastMCP Server โ
โ โ
โ โโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ tools/ โ โ resources/ โ โ
โ โ โ โ โ โ
โ โ gdrive โ โ ielts:// โ โ
โ โ local โ โ band-desc โ โ
โ โ analyze โ โ task-types โ โ
โ โโโโโโฌโโโโโ โโโโโโโโโโโโโโโโ โ
โโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโดโโโโโโโโโโโโโโโโโ
โ โ
โผ โผ
Google Drive Azure OpenAI
(OAuth 2.0) (optional)๐ Prerequisites
Python 3.11+
uv โ fast Python package manager
Google account with Drive access
Google Cloud project with Drive API enabled
๐ Installation
1. Install uv
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"2. Clone and install
git clone https://github.com/your-username/ielts-mcp-server.git
cd ielts-mcp-server
uv syncThat's it โ uv sync creates the virtual environment and installs all dependencies automatically. No manual venv or pip install needed.
3. Configure environment
cp .env.example .envEdit .env:
# Path to local IELTS documents (optional, if not using Google Drive)
DOCUMENTS_DIR=./documents
# Azure OpenAI (optional, for AI-powered tools)
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
AZURE_OPENAI_KEY=your-key-here
AZURE_OPENAI_DEPLOYMENT=gpt-4o๐ Google Drive Setup
Step 1 โ Create a Google Cloud project
Go to Google Cloud Console
Create a new project
Navigate to APIs & Services โ Library
Search for Google Drive API โ click Enable
Step 2 โ Create OAuth credentials
Go to APIs & Services โ Credentials
Click + Create Credentials โ OAuth 2.0 Client ID
Application type: Desktop app
Click Create โ Download JSON
Step 3 โ Install credentials file
Rename the downloaded file to credentials.json and place it here:
# macOS / Linux
~/.ielts_mcp/credentials.json
# Windows
C:\Users\<your-username>\.ielts_mcp\credentials.json# macOS / Linux
mkdir -p ~/.ielts_mcp
mv ~/Downloads/client_secret_*.json ~/.ielts_mcp/credentials.json
# Windows (PowerShell)
mkdir $env:USERPROFILE\.ielts_mcp
mv $env:USERPROFILE\Downloads\client_secret_*.json $env:USERPROFILE\.ielts_mcp\credentials.jsonStep 4 โ Add yourself as a test user
Go to APIs & Services โ OAuth consent screen โ Audience
Scroll to Test users โ Add users
Enter your Gmail address โ Save
โ๏ธ Claude Desktop Configuration
Find the config file:
OS | Path |
Windows |
|
macOS |
|
Add the mcpServers key:
{
"mcpServers": {
"ielts-mcp": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/ielts-mcp-server",
"run",
"ielts-mcp",
"--stdio"
]
}
}
}Windows example:
{
"mcpServers": {
"ielts-mcp": {
"command": "uv",
"args": [
"--directory",
"D:/python/tung_mcp",
"run",
"ielts-mcp",
"--stdio"
]
}
}
}macOS example:
{
"mcpServers": {
"ielts-mcp": {
"command": "uv",
"args": [
"--directory",
"/Users/yourname/ielts-mcp-server",
"run",
"ielts-mcp",
"--stdio"
]
}
}
}Why
uv run? It automatically uses the project's virtual environment โ no need to find the exact path to the executable, and it works the same across all platforms.
Restart Claude Desktop โ you should see the ๐จ tools icon in the chat input.
๐ฌ Usage
First-time authentication
On the first tool call, a browser window will open automatically:
Claude: "Let me list your IELTS files..."
โ Browser opens โ Sign in with Google โ Allow access
โ Token saved to ~/.ielts_mcp/token.json
โ Works automatically from now onExample prompts
Browse your Drive:
List all files in my IELTS Drive folderRead a document:
Read Cambridge 20.pdf and summarize the reading passagesGenerate practice questions:
Read IELTS Band 9 Vocab Secrets.pdf and create 10 flashcardsGet writing feedback:
Read cause_solution_task2.docx and analyze it against IELTS writing criteriaSearch your materials:
Find all files related to Writing Task 2 in my Drive๐ ๏ธ Available Tools
Tool | Description |
| Search files across Drive by keyword |
| List all files inside a specific folder |
| Read content of a PDF, DOCX, or Google Doc |
| Search files by filename |
| List local files (requires |
| Read local PDF, DOCX, or TXT |
| Search local files by name |
| Estimate IELTS band level of a text (needs Azure OpenAI) |
| Generate IELTS-style questions from a passage (needs Azure OpenAI) |
| Extract key IELTS vocabulary with definitions (needs Azure OpenAI) |
๐ Available Resources
URI | Description |
| Band 1โ9 descriptors |
| Reading, Writing, Listening, Speaking formats |
| Task Achievement, CC, LR, GRA criteria |
๐ฏ Available Prompts
Prompt | Description |
| IELTS tutor persona for a target band score |
| Detailed Writing Task 1/2 feedback |
| Generate questions from a passage |
๐ Project Structure
ielts-mcp-server/
โโโ src/
โ โโโ ielts_mcp/
โ โโโ server.py # FastMCP instance + entry point
โ โโโ config.py # Pydantic settings from .env
โ โโโ tools/
โ โ โโโ gdrive_tools.py # Google Drive tools (OAuth)
โ โ โโโ document_tools.py # Local file tools
โ โ โโโ analysis_tools.py # AI tools (Azure OpenAI)
โ โโโ resources/
โ โ โโโ __init__.py # ielts:// URI resources
โ โโโ prompts/
โ โโโ __init__.py # Reusable prompt templates
โโโ tests/
โ โโโ test_tools.py
โโโ .env.example
โโโ pyproject.toml
โโโ README.mdโ Adding a New Tool
# 1. Create the function in src/ielts_mcp/tools/my_tools.py
async def my_tool(param: str) -> dict:
"""Description shown to Claude."""
return {"result": param}
# 2. Register in src/ielts_mcp/tools/__init__.py
from .my_tools import my_tool
def register_tools(mcp: FastMCP) -> None:
...
mcp.tool()(my_tool) # add this line๐งช Running Tests
uv run pytest -v๐ช Windows Quick Start Script
Create start-mcp.bat in the project root:
@echo off
uv --directory D:\python\tung_mcp run ielts-mcp --stdioDouble-click to start the server without opening VS Code or activating a venv manually.
๐ Security Notes
credentials.jsonandtoken.jsonare stored in~/.ielts_mcp/and never committed to gitThe server requests read-only Drive scope (
drive.readonly) โ it cannot modify your filesOAuth tokens auto-refresh and are stored locally only
Add
credentials.jsonandtoken.jsonto.gitignore
.env
.venv/
__pycache__/
*.pyc
*.egg-info/๐ License
MIT License โ see LICENSE for details.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Tungtom2004/ielts-study-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server