SpellChecker MCP Server
Provides syntax-aware spell-checking for JavaScript files, allowing the server to check human-readable text in comments and strings while ignoring code syntax.
Allows for spell-checking within Markdown files while automatically ignoring code blocks, inline code, and URLs.
Provides spell-checking capabilities for MDX files, intelligently handling both Markdown text and JSX components.
Supports syntax-aware spell-checking for Python source code, focusing on comments and docstrings while ignoring programming keywords.
Enables intelligent spell-checking for TypeScript and TSX files, specifically parsing comments, documentation, and JSX content.
Enables spell-checking for XML and HTML files, focusing on text content and comments while ignoring tags and attributes.
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., "@SpellChecker MCP Server check the spelling in src/utils.ts and suggest fixes"
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.
SpellChecker MCP Server
A fast, multilingual Model Context Protocol (MCP) server that provides spell-checking capabilities to Large Language Models. This server enables LLMs to check spelling in text, files, and entire projects with syntax-aware parsing for code files.
Features
Multi-language support: 15+ languages including English, Spanish, French, German, Portuguese, Italian, Dutch, Polish, Russian, Ukrainian, Swedish, Danish, and Norwegian
Syntax-aware checking: Intelligently checks only comments, strings, and documentation in code files
File and folder scanning: Check individual files or entire project directories
Modular language activation: Enable only the languages you need
Fast spell checking: Powered by nspell for efficient processing
Custom dictionary management: Add words to personal dictionaries
Smart code parsing: Understands HTML, JavaScript, TypeScript, Python, and more
MCP-compliant: Works with any MCP-compatible client
Related MCP server: Translations MCP Server
Installation
As an MCP Server
Clone the repository:
git clone https://github.com/yourusername/spellchecker-mcp-server.git
cd spellchecker-mcp-serverInstall dependencies and build:
yarn install
yarn buildThe post-install script will automatically download the required dictionary files.
Using with Claude Desktop
Add the server to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"spellchecker": {
"command": "node",
"args": ["/path/to/spellchecker-mcp-server/dist/index.js"],
"env": {
"SPELLCHECKER_LANGUAGES": "en-US,es,fr"
}
}
}
}Configuring Languages
You can configure which languages to enable in three ways:
Environment variable (recommended for Claude Desktop):
SPELLCHECKER_LANGUAGES="en-US,es,fr" node dist/index.jsConfiguration file:
SPELLCHECKER_CONFIG="/path/to/spellchecker.config.json" node dist/index.jsEdit the default in
src/config.tsbefore building
Using with Other MCP Clients
The server runs on stdio and can be integrated with any MCP-compatible client:
node /path/to/spellchecker-mcp-server/dist/index.jsAvailable Tools
check_spelling
Checks text for spelling errors and returns misspellings with suggestions.
Parameters:
text(required): The text to checklanguage(optional): Language code (default: "en-US")includeLineNumbers(optional): Include line/column positions (default: false)
Example:
{
"text": "This is a tset of the speling checker",
"language": "en-US",
"includeLineNumbers": true
}is_correct
Checks if a single word is spelled correctly.
Parameters:
word(required): The word to checklanguage(optional): Language code (default: "en-US")
get_suggestions
Gets spelling suggestions for a word.
Parameters:
word(required): The word to get suggestions forlanguage(optional): Language code (default: "en-US")limit(optional): Maximum suggestions to return (default: 5)
add_to_dictionary
Adds a word to the personal dictionary for a language.
Parameters:
word(required): The word to addlanguage(optional): Language code (default: "en-US")
list_languages
Lists all available languages for spell checking.
check_file
Checks spelling in a single file with syntax-aware parsing.
Parameters:
filePath(required): Path to the file to checklanguage(optional): Language code (default: "en-US")syntaxAware(optional): Enable syntax-aware parsing (default: true)
Example:
{
"filePath": "/path/to/app.tsx",
"language": "en-US",
"syntaxAware": true
}check_folder
Checks spelling in all files within a folder.
Parameters:
folderPath(required): Path to the folder to checklanguage(optional): Language code (default: "en-US")recursive(optional): Check subfolders (default: true)fileTypes(optional): Array of file extensions to checksyntaxAware(optional): Enable syntax-aware parsing (default: true)
Example:
{
"folderPath": "/path/to/project",
"language": "en-US",
"recursive": true,
"fileTypes": [".js", ".tsx", ".md"],
"syntaxAware": true
}Supported Languages
The server supports 15+ languages. Enable only what you need:
en-US- English (United States)en-GB- English (United Kingdom)es- Spanishfr- Frenchde- Germanpt- Portuguesept-BR- Portuguese (Brazil)it- Italiannl- Dutchpl- Polishru- Russianuk- Ukrainiansv- Swedishda- Danishnb- Norwegian Bokmål
Syntax-Aware Features
When syntaxAware is enabled, the spell checker intelligently parses:
Comments: Single-line and multi-line comments in all major languages
String literals: Only checks strings that look like human-readable text
JSX/TSX content: Text between JSX tags
Documentation: Docstrings, JSDoc comments, etc.
Markdown: Ignores code blocks and inline code
HTML/XML: Checks text content and comments
The checker automatically ignores:
Variable names and identifiers
Programming keywords
URLs and file paths
Hex colors and numbers
Code within backticks in Markdown
Development
Prerequisites
Node.js >= 16.0.0
Yarn package manager
Setup
# Install dependencies
yarn install
# Run in development mode
yarn dev
# Build for production
yarn build
# Type check
yarn typecheckUsing Just Commands
If you have just installed:
# Show available commands
just
# Fresh install
just fresh
# Run development server
just dev
# Update dictionaries
just dictionariesArchitecture
The server uses:
@modelcontextprotocol/sdk: MCP protocol implementation
nspell: Hunspell-compatible spell checker
glob: File pattern matching for directory scanning
TypeScript: Type-safe development
Dictionary files: From the wooorm/dictionaries project
Configuration File
Create a spellchecker.config.json file:
{
"languages": ["en-US", "es", "fr"],
"defaultLanguage": "en-US",
"scanOptions": {
"syntaxAware": true,
"recursive": true,
"fileTypes": [
".txt", ".md", ".mdx",
".js", ".jsx", ".ts", ".tsx",
".py", ".java", ".go"
],
"ignorePaths": [
"node_modules",
".git",
"dist",
"build"
]
}
}Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository
Create your feature branch (
git checkout -b feature/AmazingFeature)Commit your changes (
git commit -m 'Add some AmazingFeature')Push to the branch (
git push origin feature/AmazingFeature)Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Dictionary files from wooorm/dictionaries
Built on the Model Context Protocol
Troubleshooting
Dictionaries not loading
If you see "No dictionaries loaded" error:
yarn run postinstall
# or
just dictionariesServer not starting
Ensure you've built the project:
yarn buildLanguage not available
Check available languages with the list_languages tool or ensure the dictionary files exist in the dictionaries/ folder.
Available Tools
7 toolsadd_to_dictionaryC
Add a word to the personal dictionary
Inputs: word (required), language.
check_fileC
Check spelling in a file with syntax-aware parsing
Inputs: filePath (required), language, syntaxAware.
check_folderC
Check spelling in all files in a folder
Inputs: folderPath (required), language, recursive, fileTypes, +1 more.
check_spellingC
Check spelling in the provided text and return misspellings with suggestions
Inputs: text (required), language, includeLineNumbers.
get_suggestionsC
Get spelling suggestions for a word
Inputs: word (required), language, limit.
is_correctA
Check if a single word is spelled correctly
Inputs: word (required), language.
list_languagesB
List all available languages for spell checking
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose with no overlap: dictionary management (add_to_dictionary), file/folder checking (check_file, check_folder), text checking (check_spelling), word-level operations (get_suggestions, is_correct), and configuration (list_languages). The descriptions make it easy to differentiate between checking text vs. files vs. folders vs. single words.
All tools follow a consistent verb_noun naming pattern (e.g., add_to_dictionary, check_spelling, get_suggestions, list_languages). The verbs are clear and descriptive (add, check, get, is, list), and the snake_case style is applied uniformly throughout the set without any deviations.
With 7 tools, this server is well-scoped for a spell-checking domain. Each tool earns its place by covering distinct aspects: dictionary management, text/file checking, suggestions, correctness verification, and language support. The count is neither too thin nor bloated, fitting typical use cases effectively.
The tool set provides comprehensive coverage for core spell-checking workflows, including checking text/files/folders, getting suggestions, verifying correctness, managing dictionaries, and listing languages. A minor gap is the lack of tools for removing words from the dictionary or managing language settings, but agents can work around this with the existing tools.
Maintenance
Related MCP Connectors
Checks AI-written code for leaked keys and made-up packages, on your machine. Never uploads code.
Code intelligence for coding agents: semantic, AST, graph, and full-text search. 279+ languages.
Deep security scans of repos you own from your editor: dependency CVEs, SAST, git-history secrets.
30+ deterministic dev and delivery tools: linting, metrics, diagrams, model advice, AI-text checks.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables fast semantic code search and analysis across 15+ programming languages. Supports searching for functions and classes, tracing code usage, detecting syntax errors, and analyzing code quality and structure.20 npm33GPL 3.0
- AlicenseAqualityDmaintenanceEnables automatic discovery and fast searching of translation files in projects, supporting partial/exact key-value matching with file watching and multiple translation file formats.2MIT
- FlicenseNot gradedqualityBmaintenanceOffline spell check and BYOK grammar checking for AI assistants. 100% offline spell check via nspell (zero tokens, zero API calls). BYOK grammar checking with your own Gemini, OpenAI, or Claude API key. Works with Claude Desktop, Cursor, ChatGPT, and any MCP-compatible tool. 8 languages supported.-
- AlicenseAqualityCmaintenanceL1-aware grammar, style, translation & tone tools with 70 local rules. Zero API keys needed.4MIT