Skip to main content
Glama
SpellChecker MCP Server

SpellChecker MCP Server

by morahan

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

  1. Clone the repository:

git clone https://github.com/yourusername/spellchecker-mcp-server.git
cd spellchecker-mcp-server
  1. Install dependencies and build:

yarn install
yarn 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

{
  "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:

  1. Environment variable (recommended for Claude Desktop):

    SPELLCHECKER_LANGUAGES="en-US,es,fr" node dist/index.js
  2. Configuration file:

    SPELLCHECKER_CONFIG="/path/to/spellchecker.config.json" node dist/index.js
  3. Edit the default in src/config.ts before 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.js

Available Tools

check_spelling

Checks text for spelling errors and returns misspellings with suggestions.

Parameters:

  • text (required): The text to check

  • language (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 check

  • language (optional): Language code (default: "en-US")

get_suggestions

Gets spelling suggestions for a word.

Parameters:

  • word (required): The word to get suggestions for

  • language (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 add

  • language (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 check

  • language (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 check

  • language (optional): Language code (default: "en-US")

  • recursive (optional): Check subfolders (default: true)

  • fileTypes (optional): Array of file extensions to check

  • syntaxAware (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 - Spanish

  • fr - French

  • de - German

  • pt - Portuguese

  • pt-BR - Portuguese (Brazil)

  • it - Italian

  • nl - Dutch

  • pl - Polish

  • ru - Russian

  • uk - Ukrainian

  • sv - Swedish

  • da - Danish

  • nb - 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 typecheck

Using Just Commands

If you have just installed:

# Show available commands
just

# Fresh install
just fresh

# Run development server
just dev

# Update dictionaries
just dictionaries

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:

{
  "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.

  1. Fork the repository

  2. Create your feature branch (git checkout -b feature/AmazingFeature)

  3. Commit your changes (git commit -m 'Add some AmazingFeature')

  4. Push to the branch (git push origin feature/AmazingFeature)

  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Troubleshooting

Dictionaries not loading

If you see "No dictionaries loaded" error:

yarn run postinstall
# or
just dictionaries

Server not starting

Ensure you've built the project:

yarn build

Language not available

Check available languages with the list_languages tool or ensure the dictionary files exist in the dictionaries/ folder.

Available Tools

7 tools
add_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

    A3.5/5.0

    Scored across 7 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    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.

    Completeness4/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables 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 npm
      33
      GPL 3.0
    • F
      license
      Not graded
      quality
      B
      maintenance
      Offline 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.
      -