SpellChecker MCP Server

SpellChecker MCP Server

Provides fast, multilingual spell-checking for text and files, featuring syntax-aware parsing that intelligently checks only comments and strings in code. It supports over 15 languages and enables directory-wide scanning with custom dictionary management.

Category
Visit Server

README

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

  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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured