SpellChecker

Um corretor ortográfico rápido e multilíngue para Modelos de Linguagem de Grande Escala.

Documentação

SpellChecker MCP Server

Um servidor rápido e multilíngue do Model Context Protocol (MCP) que fornece recursos de verificação ortográfica para Modelos de Linguagem de Grande Porte. Este servidor permite que LLMs verifiquem a ortografia em textos, arquivos e projetos inteiros com análise ciente de sintaxe para arquivos de código.

Recursos

  • Suporte a vários idiomas: 15+ idiomas, incluindo inglês, espanhol, francês, alemão, português, italiano, holandês, polonês, russo, ucraniano, sueco, dinamarquês e norueguês
  • Verificação ciente de sintaxe: Verifica inteligentemente apenas comentários, strings e documentação em arquivos de código
  • Verificação de arquivos e pastas: Verifique arquivos individuais ou diretórios inteiros de projetos
  • Ativação modular de idiomas: Ative apenas os idiomas que você precisa
  • Verificação ortográfica rápida: Alimentado por nspell para processamento eficiente
  • Gerenciamento de dicionário personalizado: Adicione palavras a dicionários pessoais
  • Análise inteligente de código: Entende HTML, JavaScript, TypeScript, Python e mais
  • Compatível com MCP: Funciona com qualquer cliente compatível com MCP

Instalação

Como um Servidor MCP

  1. Clone o repositório:
git clone https://github.com/yourusername/spellchecker-mcp-server.git
cd spellchecker-mcp-server
  1. Instale as dependências e compile:
yarn install
yarn build

O script pós-instalação baixará automaticamente os arquivos de dicionário necessários.

Usando com Claude Desktop

Adicione o servidor ao seu arquivo de configuração do Claude Desktop:

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"
      }
    }
  }
}

Configurando Idiomas

Você pode configurar quais idiomas ativar de três maneiras:

  1. Variável de ambiente (recomendada para Claude Desktop):

    SPELLCHECKER_LANGUAGES="en-US,es,fr" node dist/index.js
    
  2. Arquivo de configuração:

    SPELLCHECKER_CONFIG="/path/to/spellchecker.config.json" node dist/index.js
    
  3. Edite o padrão em src/config.ts antes de compilar

Usando com Outros Clientes MCP

O servidor roda em stdio e pode ser integrado a qualquer cliente compatível com MCP:

node /path/to/spellchecker-mcp-server/dist/index.js

Ferramentas Disponíveis

check_spelling

Verifica texto em busca de erros ortográficos e retorna erros com sugestões.

Parâmetros:

  • text (obrigatório): O texto a ser verificado
  • language (opcional): Código do idioma (padrão: "en-US")
  • includeLineNumbers (opcional): Incluir posições de linha/coluna (padrão: false)

Exemplo:

{
  "text": "This is a tset of the speling checker",
  "language": "en-US",
  "includeLineNumbers": true
}

is_correct

Verifica se uma única palavra está escrita corretamente.

Parâmetros:

  • word (obrigatório): A palavra a ser verificada
  • language (opcional): Código do idioma (padrão: "en-US")

get_suggestions

Obtém sugestões de ortografia para uma palavra.

Parâmetros:

  • word (obrigatório): A palavra para obter sugestões
  • language (opcional): Código do idioma (padrão: "en-US")
  • limit (opcional): Número máximo de sugestões a retornar (padrão: 5)

add_to_dictionary

Adiciona uma palavra ao dicionário pessoal de um idioma.

Parâmetros:

  • word (obrigatório): A palavra a ser adicionada
  • language (opcional): Código do idioma (padrão: "en-US")

list_languages

Lista todos os idiomas disponíveis para verificação ortográfica.

check_file

Verifica a ortografia em um único arquivo com análise ciente de sintaxe.

Parâmetros:

  • filePath (obrigatório): Caminho para o arquivo a ser verificado
  • language (opcional): Código do idioma (padrão: "en-US")
  • syntaxAware (opcional): Ativar análise ciente de sintaxe (padrão: true)

Exemplo:

{
  "filePath": "/path/to/app.tsx",
  "language": "en-US",
  "syntaxAware": true
}

check_folder

Verifica a ortografia em todos os arquivos dentro de uma pasta.

Parâmetros:

  • folderPath (obrigatório): Caminho para a pasta a ser verificada
  • language (opcional): Código do idioma (padrão: "en-US")
  • recursive (opcional): Verificar subpastas (padrão: true)
  • fileTypes (opcional): Matriz de extensões de arquivo a verificar
  • syntaxAware (opcional): Ativar análise ciente de sintaxe (padrão: true)

Exemplo:

{
  "folderPath": "/path/to/project",
  "language": "en-US",
  "recursive": true,
  "fileTypes": [".js", ".tsx", ".md"],
  "syntaxAware": true
}

Idiomas Suportados

O servidor suporta 15+ idiomas. Ative apenas o que você precisa:

  • en-US - Inglês (Estados Unidos)
  • en-GB - Inglês (Reino Unido)
  • es - Espanhol
  • fr - Francês
  • de - Alemão
  • pt - Português
  • pt-BR - Português (Brasil)
  • it - Italiano
  • nl - Holandês
  • pl - Polonês
  • ru - Russo
  • uk - Ucraniano
  • sv - Sueco
  • da - Dinamarquês
  • nb - Norueguês Bokmål

Recursos de Análise Ciente de Sintaxe

Quando syntaxAware está ativado, o verificador ortográfico analisa inteligentemente:

  • Comentários: Comentários de linha única e múltiplas linhas em todos os principais idiomas
  • Literais de string: Verifica apenas strings que parecem texto legível por humanos
  • Conteúdo JSX/TSX: Texto entre tags JSX
  • Documentação: Docstrings, comentários JSDoc, etc.
  • Markdown: Ignora blocos de código e código inline
  • HTML/XML: Verifica conteúdo de texto e comentários

O verificador ignora automaticamente:

  • Nomes de variáveis e identificadores
  • Palavras-chave de programação
  • URLs e caminhos de arquivo
  • Cores hexadecimais e números
  • Código entre crases em Markdown

Desenvolvimento

Pré-requisitos

  • Node.js >= 16.0.0
  • Gerenciador de pacotes Yarn

Configuração

# Install dependencies
yarn install

# Run in development mode
yarn dev

# Build for production
yarn build

# Type check
yarn typecheck

Usando Comandos Just

Se você tiver just instalado:

# Show available commands
just

# Fresh install
just fresh

# Run development server
just dev

# Update dictionaries
just dictionaries

Arquitetura

O servidor usa:

  • @modelcontextprotocol/sdk: Implementação do protocolo MCP
  • nspell: Verificador ortográfico compatível com Hunspell
  • glob: Correspondência de padrões de arquivo para varredura de diretórios
  • TypeScript: Desenvolvimento com segurança de tipos
  • Arquivos de dicionário: Do projeto wooorm/dictionaries

Arquivo de Configuração

Crie um arquivo spellchecker.config.json:

{
  "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"
    ]
  }
}

Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.

  1. Faça um fork do repositório
  2. Crie sua branch de recurso (git checkout -b feature/AmazingFeature)
  3. Faça commit das suas alterações (git commit -m 'Add some AmazingFeature')
  4. Envie para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

Licença

Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.

Agradecimentos

Solução de Problemas

Dicionários não carregando

Se você vir o erro "No dictionaries loaded":

yarn run postinstall
# or
just dictionaries

Servidor não iniciando

Certifique-se de ter compilado o projeto:

yarn build

Idioma não disponível

Verifique os idiomas disponíveis com a ferramenta list_languages ou certifique-se de que os arquivos de dicionário existam na pasta dictionaries/.