Skip to main content
Glama
wolf123450

STE Dictionary MCP Server

by wolf123450

Servidor MCP STE Dictionary

Un servidor MCP que verifica texto contra el inglés técnico simple ASD-STE100 (STE): qué palabras están aprobadas, cuáles no, y qué palabra STE reemplaza cada infracción. Funciona completamente sin conexión a partir de una instantánea de diccionario estático en data/ — sin acceso a la red en tiempo de ejecución. Consulte docs/superpowers/specs/2026-08-21-ste-mcp-design.md para el diseño completo.

Configuración

pip install -r requirements.txt
python scripts/download_nltk_data.py
pytest

La herramienta check_structure necesita dos paquetes de datos pequeños de NLTK (el tokenizador de oraciones/palabras punkt_tab y el etiquetador de partes de la oración averaged_perceptron_tagger_eng — modelos estadísticos clásicos, no aprendizaje profundo). Ejecutar python scripts/download_nltk_data.py una vez después de instalar las dependencias los descarga y recorta los idiomas de tokenización no ingleses que el descargador de NLTK trae por defecto, manteniendo la huella en disco en unos pocos MB en lugar de ~58MB. Es seguro volver a ejecutarlo. Si omite este paso, check_structure lanza un RuntimeError que le indica que lo ejecute.

El servidor lee su instantánea de diccionario de la variable de entorno STE_DATA_DIR, que por defecto es ./data (relativa al directorio de trabajo desde el que se lanza el servidor). La instantánea en data/ está confirmada en este repositorio, por lo que no se necesita ningún paso de descarga adicional.

Related MCP server: mcp-textstats

Ejecución independiente

python -m ste_mcp.server

Habla MCP sobre stdio.

Instalación en Claude Code

Registre el servidor con la CLI de Claude Code. Use una ruta absoluta a su intérprete de Python si python en su PATH no tiene el paquete mcp instalado.

Ámbito local (disponible solo cuando Claude Code se ejecuta desde este repositorio):

cd /absolute/path/to/ste-dictionary-mcp
claude mcp add --transport stdio --env STE_DATA_DIR=/absolute/path/to/ste-dictionary-mcp/data ste-dictionary -- python -m ste_mcp.server

Ámbito de usuario (disponible desde cualquier directorio). Debido a que los servidores de ámbito de usuario no se ejecutan con este repositorio como directorio de trabajo, envuelva el lanzamiento en un pequeño script que haga cd al repositorio primero, por ejemplo ~/.claude/ste-launcher.sh:

#!/bin/sh
cd /absolute/path/to/ste-dictionary-mcp
exec python -m ste_mcp.server

Luego regístrelo:

chmod +x ~/.claude/ste-launcher.sh
claude mcp add --transport stdio --scope user --env STE_DATA_DIR=/absolute/path/to/ste-dictionary-mcp/data ste-dictionary -- ~/.claude/ste-launcher.sh

Verifique con claude mcp list, o /mcp dentro de una sesión.

Configuración de Claude Desktop

Añada a claude_desktop_config.json:

{
  "mcpServers": {
    "ste-dictionary": {
      "command": "python",
      "args": ["-m", "ste_mcp.server"],
      "cwd": "/absolute/path/to/ste-dictionary-mcp",
      "env": {
        "STE_DATA_DIR": "/absolute/path/to/ste-dictionary-mcp/data"
      }
    }
  }
}

Herramientas

Herramienta

Propósito

check_word(word)

¿Es esta palabra/frase STE, y qué la reemplaza?

check_text(text, include_unknown=True)

Escanea un documento en busca de palabras no STE, ambiguas, desconocidas y técnicas con posiciones.

check_structure(text)

Escanea un documento en busca de violaciones estructurales de STE: oraciones demasiado largas, voz pasiva, modo no imperativo, grupos de sustantivos de 4 o más, párrafos demasiado largos, gerundio como sustantivo.

lookup_technical_term(term)

Busca un término técnico o abreviatura aprobado.

dictionary_info()

Fuente del diccionario, actualización y estadísticas de cobertura.

check_word/check_text se basan en listas de palabras, no son un corrector gramatical: comprueban vocabulario, no estructura de oraciones. check_structure añade comprobaciones estructurales ligeras (a través de un pequeño etiquetador de partes de la oración estadístico, no un motor gramatical completo) para las reglas ASD-STE100 que una lista de palabras no puede detectar — consulte su docstring en ste_mcp/structure.py para las reglas exactas y sus limitaciones heurísticas. Es solo de diagnóstico (sin sugerencias de reescritura); el agente que usa estas herramientas es responsable de reescribir.

Algunas palabras tienen tanto un sentido aprobado por STE como un sentido no STE (por ejemplo, "long" como adjetivo simple es STE, pero "as long as"/"no longer" no lo es). Para esas, check_word devuelve status: "ambiguous" (en lugar de "non_ste") junto con una note que indica al llamante que verifique qué sentido se aplica en el contexto, y check_text las informa en un grupo/recuento de resumen ambiguous separado en lugar de non_ste. status: "non_ste" se reserva para palabras donde cada sentido coincidente es no STE.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides lightweight documentation review tools including issue detection, readability scoring, style checking, and document summarization for integration with MCP-compatible clients.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides text statistics and readability scores (Flesch Reading Ease, Flesch-Kincaid Grade Level) via offline, keyless tools.
    9 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables automated agents and writers to check Norwegian and English prose before sending, returning concrete style findings, revision hints, and verdicts instead of authorship claims, with a no-judgment band, positive quality checks, a private local mode, and phrase-bank memory.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables deterministic, LLM-free checking of text against a prose editorial standard, returning violations with rule IDs, locations, severity, confidence, and suggested fixes, while also supporting safe fixes and writing measurements.
    5
    304 npm
    MIT