SpellChecker

Un corrector ortográfico multilingüe y rápido para modelos de lenguaje grandes.

Documentación

Servidor MCP SpellChecker

Un servidor rápido y multilingüe del Protocolo de Contexto de Modelos (MCP) que proporciona capacidades de revisión ortográfica a Modelos de Lenguaje de Gran Escala. Este servidor permite a los LLMs verificar la ortografía en texto, archivos y proyectos completos con análisis consciente de sintaxis para archivos de código.

Características

  • Soporte multilingüe: Más de 15 idiomas, incluidos inglés, español, francés, alemán, portugués, italiano, neerlandés, polaco, ruso, ucraniano, sueco, danés y noruego
  • Verificación consciente de sintaxis: Verifica inteligentemente solo comentarios, cadenas y documentación en archivos de código
  • Escaneo de archivos y carpetas: Verifica archivos individuales o directorios completos de proyectos
  • Activación modular de idiomas: Habilita solo los idiomas que necesites
  • Revisión ortográfica rápida: Impulsada por nspell para un procesamiento eficiente
  • Gestión de diccionarios personalizados: Agrega palabras a diccionarios personales
  • Análisis inteligente de código: Comprende HTML, JavaScript, TypeScript, Python y más
  • Cumplimiento con MCP: Funciona con cualquier cliente compatible con MCP

Instalación

Como servidor MCP

  1. Clona el repositorio:
git clone https://github.com/yourusername/spellchecker-mcp-server.git
cd spellchecker-mcp-server
  1. Instala las dependencias y compila:
yarn install
yarn build

El script posterior a la instalación descargará automáticamente los archivos de diccionario requeridos.

Uso con Claude Desktop

Agrega el servidor a tu archivo de configuración de 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"
      }
    }
  }
}

Configuración de idiomas

Puedes configurar qué idiomas habilitar de tres maneras:

  1. Variable de entorno (recomendada para Claude Desktop):

    SPELLCHECKER_LANGUAGES="en-US,es,fr" node dist/index.js
    
  2. Archivo de configuración:

    SPELLCHECKER_CONFIG="/path/to/spellchecker.config.json" node dist/index.js
    
  3. Edita el valor predeterminado en src/config.ts antes de compilar

Uso con otros clientes MCP

El servidor se ejecuta en stdio y puede integrarse con cualquier cliente compatible con MCP:

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

Herramientas disponibles

check_spelling

Verifica errores ortográficos en texto y devuelve errores de escritura con sugerencias.

Parámetros:

  • text (obligatorio): El texto a verificar
  • language (opcional): Código de idioma (predeterminado: "en-US")
  • includeLineNumbers (opcional): Incluir posiciones de línea/columna (predeterminado: false)

Ejemplo:

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

is_correct

Verifica si una sola palabra está escrita correctamente.

Parámetros:

  • word (obligatorio): La palabra a verificar
  • language (opcional): Código de idioma (predeterminado: "en-US")

get_suggestions

Obtiene sugerencias ortográficas para una palabra.

Parámetros:

  • word (obligatorio): La palabra para la que se obtienen sugerencias
  • language (opcional): Código de idioma (predeterminado: "en-US")
  • limit (opcional): Máximo de sugerencias a devolver (predeterminado: 5)

add_to_dictionary

Agrega una palabra al diccionario personal para un idioma.

Parámetros:

  • word (obligatorio): La palabra a agregar
  • language (opcional): Código de idioma (predeterminado: "en-US")

list_languages

Enumera todos los idiomas disponibles para la revisión ortográfica.

check_file

Verifica la ortografía en un solo archivo con análisis consciente de sintaxis.

Parámetros:

  • filePath (obligatorio): Ruta al archivo a verificar
  • language (opcional): Código de idioma (predeterminado: "en-US")
  • syntaxAware (opcional): Habilitar análisis consciente de sintaxis (predeterminado: true)

Ejemplo:

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

check_folder

Verifica la ortografía en todos los archivos dentro de una carpeta.

Parámetros:

  • folderPath (obligatorio): Ruta a la carpeta a verificar
  • language (opcional): Código de idioma (predeterminado: "en-US")
  • recursive (opcional): Verificar subcarpetas (predeterminado: true)
  • fileTypes (opcional): Matriz de extensiones de archivo a verificar
  • syntaxAware (opcional): Habilitar análisis consciente de sintaxis (predeterminado: true)

Ejemplo:

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

Idiomas compatibles

El servidor admite más de 15 idiomas. Habilita solo lo que necesites:

  • en-US - Inglés (Estados Unidos)
  • en-GB - Inglés (Reino Unido)
  • es - Español
  • fr - Francés
  • de - Alemán
  • pt - Portugués
  • pt-BR - Portugués (Brasil)
  • it - Italiano
  • nl - Neerlandés
  • pl - Polaco
  • ru - Ruso
  • uk - Ucraniano
  • sv - Sueco
  • da - Danés
  • nb - Noruego Bokmål

Características conscientes de sintaxis

Cuando syntaxAware está habilitado, el corrector ortográfico analiza inteligentemente:

  • Comentarios: Comentarios de una y varias líneas en todos los idiomas principales
  • Literales de cadena: Solo verifica cadenas que parecen texto legible por humanos
  • Contenido JSX/TSX: Texto entre etiquetas JSX
  • Documentación: Docstrings, comentarios JSDoc, etc.
  • Markdown: Ignora bloques de código y código en línea
  • HTML/XML: Verifica contenido de texto y comentarios

El corrector ignora automáticamente:

  • Nombres de variables e identificadores
  • Palabras clave de programación
  • URLs y rutas de archivos
  • Colores hexadecimales y números
  • Código entre comillas invertidas en Markdown

Desarrollo

Requisitos previos

  • Node.js >= 16.0.0
  • Gestor de paquetes Yarn

Configuración

# Install dependencies
yarn install

# Run in development mode
yarn dev

# Build for production
yarn build

# Type check
yarn typecheck

Uso de comandos Just

Si tienes just instalado:

# Show available commands
just

# Fresh install
just fresh

# Run development server
just dev

# Update dictionaries
just dictionaries

Arquitectura

El servidor utiliza:

  • @modelcontextprotocol/sdk: Implementación del protocolo MCP
  • nspell: Corrector ortográfico compatible con Hunspell
  • glob: Coincidencia de patrones de archivos para escaneo de directorios
  • TypeScript: Desarrollo con seguridad de tipos
  • Archivos de diccionario: Del proyecto wooorm/dictionaries

Archivo de configuración

Crea un archivo 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"
    ]
  }
}

Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar una Solicitud de Extracción.

  1. Haz un fork del repositorio
  2. Crea tu rama de características (git checkout -b feature/AmazingFeature)
  3. Confirma tus cambios (git commit -m 'Add some AmazingFeature')
  4. Envía a la rama (git push origin feature/AmazingFeature)
  5. Abre una Solicitud de Extracción

Licencia

Este proyecto está licenciado bajo la Licencia MIT: consulta el archivo LICENSE para más detalles.

Agradecimientos

Solución de problemas

Los diccionarios no se cargan

Si ves el error "No dictionaries loaded":

yarn run postinstall
# or
just dictionaries

El servidor no se inicia

Asegúrate de haber compilado el proyecto:

yarn build

Idioma no disponible

Verifica los idiomas disponibles con la herramienta list_languages o asegúrate de que los archivos de diccionario existan en la carpeta dictionaries/.