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 "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., "@SpellChecker MCP Servercheck 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
Installation
As an MCP Server
Clone the repository:
Install dependencies and build:
The 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
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 before building
Using with Other MCP Clients
The server runs on stdio and can be integrated with any MCP-compatible client:
Available 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:
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:
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:
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
Using Just Commands
If you have just installed:
Architecture
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:
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:
Server not starting
Ensure you've built the project:
Language not available
Check available languages with the list_languages tool or ensure the dictionary files exist in the dictionaries/ folder.