Skip to main content
Glama
wolf123450

STE Dictionary MCP Server

by wolf123450

STE Dictionary MCP Server

Ein MCP-Server, der Text gegen ASD-STE100 Simple Technical English (STE) prüft: welche Wörter zugelassen sind, welche nicht, und welches STE-Wort jede Verletzung ersetzt. Funktioniert vollständig offline anhand eines statischen Wörterbuch-Snapshots in data/ — kein Netzwerkzugriff zur Laufzeit. Siehe docs/superpowers/specs/2026-08-21-ste-mcp-design.md für das vollständige Design.

Einrichtung

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

Das check_structure-Tool benötigt zwei kleine NLTK-Datenpakete (den punkt_tab-Satz-/Wort-Tokenizer und den averaged_perceptron_tagger_eng-POS-Tagger -- klassische statistische Modelle, kein Deep Learning). Wenn Sie python scripts/download_nltk_data.py einmal nach der Installation der Abhängigkeiten ausführen, werden diese heruntergeladen und die nicht-englischen Tokenizer-Sprachen entfernt, die NLTKs Downloader standardmäßig lädt, sodass der Speicherplatzbedarf auf wenige MB statt ~58MB gehalten wird. Es kann bedenkenlos erneut ausgeführt werden. Wenn Sie diesen Schritt überspringen, löst check_structure einen RuntimeError aus, der Sie auffordert, ihn auszuführen.

Der Server liest seinen Wörterbuch-Snapshot aus der Umgebungsvariablen STE_DATA_DIR, standardmäßig ./data (relativ zum Arbeitsverzeichnis, aus dem der Server gestartet wird). Der Snapshot in data/ ist in diesem Repository eingecheckt, daher ist kein separater Download-Schritt erforderlich.

Related MCP server: mcp-textstats

Eigenständig ausführen

python -m ste_mcp.server

Spricht MCP über stdio.

Installation in Claude Code

Registrieren Sie den Server mit der Claude Code CLI. Verwenden Sie einen absoluten Pfad zu Ihrem Python-Interpreter, wenn python in Ihrem PATH das Paket mcp nicht installiert hat.

Lokaler Geltungsbereich (nur verfügbar, wenn Claude Code aus diesem Repository ausgeführt wird):

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

Benutzer-Geltungsbereich (aus jedem Verzeichnis verfügbar). Da Server im Benutzer-Geltungsbereich nicht mit diesem Repository als Arbeitsverzeichnis ausgeführt werden, umgeben Sie den Start mit einem kleinen Skript, das zuerst in das Repository cd wechselt, z. B. ~/.claude/ste-launcher.sh:

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

Dann registrieren Sie es:

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

Überprüfen Sie mit claude mcp list oder /mcp in einer Sitzung.

Claude Desktop-Konfiguration

Fügen Sie zu claude_desktop_config.json hinzu:

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

Werkzeuge

Werkzeug

Zweck

check_word(word)

Ist dieses Wort/diese Phrase STE, und was ersetzt es?

check_text(text, include_unknown=True)

Scannt ein Dokument nach Nicht-STE-, mehrdeutigen, unbekannten und technischen Wörtern mit Positionen.

check_structure(text)

Scannt ein Dokument auf strukturelle STE-Verstöße: überlange Sätze, Passiv, nicht-imperativischer Modus, Nominalcluster aus 4+ Wörtern, überlange Absätze, Gerundium als Nomen.

lookup_technical_term(term)

Schlägt einen zugelassenen technischen Begriff oder eine Abkürzung nach.

dictionary_info()

Wörterbuchquelle, Aktualität und Abdeckungsstatistiken.

check_word/check_text basieren auf Wortlisten, nicht auf einer Grammatikprüfung: sie prüfen den Wortschatz, nicht die Satzstruktur. check_structure fügt leichte strukturelle Prüfungen hinzu (über einen kleinen statistischen POS-Tagger, nicht über eine vollständige Grammatik-Engine) für die ASD-STE100-Regeln, die eine Wortliste nicht erfassen kann -- siehe den Docstring in ste_mcp/structure.py für die genauen Regeln und ihre heuristischen Einschränkungen. Es ist nur diagnostisch (keine Umformulierungsvorschläge); der Agent, der diese Werkzeuge verwendet, ist für die Umformulierung verantwortlich.

Manche Wörter haben sowohl eine STE-zugelassene Bedeutung als auch eine Nicht-STE-Bedeutung (z. B. ist "long" als einfaches Adjektiv STE, aber "as long as"/"no longer" nicht). Für diese gibt check_word status: "ambiguous" zurück (statt "non_ste") zusammen mit einem note, der den Aufrufer auffordert zu prüfen, welche Bedeutung im Kontext zutrifft, und check_text meldet sie in einem separaten ambiguous-Bucket/Summenzähler statt non_ste. status: "non_ste" ist für Wörter reserviert, bei denen jede übereinstimmende Bedeutung Nicht-STE ist.

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