STE Dictionary MCP Server
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
pytestLa 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.serverHabla 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.serverLuego 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.shVerifique 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 |
| ¿Es esta palabra/frase STE, y qué la reemplaza? |
| Escanea un documento en busca de palabras no STE, ambiguas, desconocidas y técnicas con posiciones. |
| 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. |
| Busca un término técnico o abreviatura aprobado. |
| 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.
This server cannot be deployed
Maintenance
Related MCP Connectors
DraftCheck: flags AI-writing patterns in prose with fix hints. Deterministic linter, not a detector.
English readability scores (Flesch, Flesch-Kincaid, Fog, SMOG) and text stats. Text never stored.
Prose linter + AI-slop detector: weasel words, passive voice, hedging, and research-cited AI tells
Scan manuscript text for AI-slop prose patterns before publishing to Amazon KDP.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides lightweight documentation review tools including issue detection, readability scoring, style checking, and document summarization for integration with MCP-compatible clients.-
- AlicenseNot gradedqualityBmaintenanceProvides text statistics and readability scores (Flesch Reading Ease, Flesch-Kincaid Grade Level) via offline, keyless tools.9 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables 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
- AlicenseAqualityBmaintenanceEnables 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.5304 npmMIT