Skip to main content
Glama
wolf123450

STE Dictionary MCP Server

by wolf123450

STE Dictionary MCP Server

MCP-сервер, который проверяет текст на соответствие ASD-STE100 Simple Technical English (STE): какие слова одобрены, какие нет и какое слово STE заменяет каждое нарушение. Работает полностью офлайн на основе статического снимка словаря в data/ — без сетевых обращений во время выполнения. Полный дизайн см. в docs/superpowers/specs/2026-08-21-ste-mcp-design.md.

Установка

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

Инструменту check_structure нужны два небольших пакета данных NLTK (токенизатор предложений/слов punkt_tab и теггер частей речи averaged_perceptron_tagger_eng — классические статистические модели, не глубокое обучение). Одноразовый запуск python scripts/download_nltk_data.py после установки зависимостей загружает их и удаляет неанглийские языки токенизатора, которые загрузчик NLTK тянет по умолчанию, сокращая занимаемое место на диске до нескольких МБ вместо ~58МБ. Повторный запуск безопасен. Если пропустить этот шаг, check_structure возбуждает RuntimeError, сообщающий, что нужно его выполнить.

Сервер читает свой снимок словаря из переменной окружения STE_DATA_DIR, по умолчанию — ./data (относительно рабочего каталога, в котором запущен сервер). Снимок в data/ включён в этот репозиторий, так что отдельный шаг загрузки не нужен.

Related MCP server: SpellChecker MCP Server

Запуск автономно

python -m ste_mcp.server

Взаимодействует по MCP через stdio.

Установка в Claude Code

Зарегистрируйте сервер в CLI Claude Code. Используйте абсолютный путь к вашему интерпретатору Python, если python в вашем PATH не содержит пакет mcp.

Локальная область (доступен только при запуске Claude Code из этого репозитория):

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

Пользовательская область (доступна из любого каталога). Так как серверы пользовательской области запускаются без этого репозитория в качестве рабочего каталога, оберните запуск в небольшой скрипт, который сначала делает cd в репозиторий, например ~/.claude/ste-launcher.sh:

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

Затем зарегистрируйте его:

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

Проверьте с помощью claude mcp list или команды /mcp внутри сеанса.

Конфигурация Claude Desktop

Добавьте в 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"
      }
    }
  }
}

Инструменты

Инструмент

Назначение

check_word(word)

Является ли это слово/словосочетание STE и чем оно заменяется?

check_text(text, include_unknown=True)

Поиск по документу не-STE, неоднозначных, неизвестных и технических слов с позициями.

check_structure(text)

Сканирование документа на структурные нарушения STE: слишком длинные предложения, пассивный залог, неизъявительное наклонение, кластеры существительных от 4 элементов, слишком длинные абзацы, герундий вместо существительного.

lookup_technical_term(term)

Поиск одобренного технического термина или сокращения.

dictionary_info()

Источник словаря, свежесть данных и статистика по покрытию.

check_word/check_text основаны на списке слов, а не на грамматическом анализаторе: они проверяют лексику, а не структуру предложения. check_structure добавляет лёгкие структурные проверки (через небольшой статистический теггер частей речи, а не полноценный грамматический движок) для тех правил ASD-STE100, которые список слов не способен уловить — см. docstring в ste_mcp/structure.py с точными правилами и их эвристическими ограничениями. Инструмент лишь диагностический (без предложений по переписыванию); за переписывание отвечает агент, использующий эти инструменты.

Некоторые слова имеют одновременно STE-одобренное значение и значение, не отвечающее STE (например, «long» как просто прилагательное отвечает STE, а «as long as»/«no longer» — нет). Для таких слов check_word возвращает status: "ambiguous" (вместо "non_ste") вместе с note, сообщающим вызывающему коду, что нужно проверить, какой смысл применим в контексте, а check_text сообщает о них в отдельном блоке/счётчике итогов ambiguous, а не в non_ste. status: "non_ste" зарезервировано для слов, у которых каждое подходящее совпадение несёт недопустимость STE.# STE Dictionary MCP Server

MCP-сервер, который проверяет текст на соответствие ASD-STE100 Simple Technical English (STE): какие слова одобрены, какие нет, и какое слово STE заменяет каждое нарушение. Работает полностью автономно на базе статического снимка словаря в data/ — без обращения к сети во время выполнения. Полное описание архитектуры: docs/superpowers/specs/2026-08-21-ste-mcp-design.md.

Установка

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

Инструменту check_structure нужны два небольших пакета данных NLTK (токенизатор предложений/слов punkt_tab и теггер частей речи averaged_perceptron_tagger_eng — классические статистические модели, не глубокое обучение). Однократный запуск python scripts/download_nltk_data.py после установки зависимостей загружает их и убирает неанглийские языки токенизации, которые загрузчик NLTK по умолчанию тянет вместе с пакетом, — это снижает размер на диске с ~58 МБ до пары мегабайт. Запускать скрипт можно повторно. Если пропустить этот шаг, check_structure вызовет RuntimeError с инструкцией выполнить скрипт.

Сервер читает снимок словаря из переменной окружения STE_DATA_DIR, по умолчанию — ./data (относительно рабочего каталога, из которого запущен сервер). Снимок в data/ закоммичен в репозиторий, так что отдельная загрузка не нужна.

Автономный запуск

python -m ste_mcp.server

Использует MCP через stdio.

Установка в Claude Code

Зарегистрируйте сервер в Claude Code CLI. Если python из вашего PATH не содержит пакет mcp, используйте абсолютный путь к вашему интерпретатору Python.

Локальная область действия (доступен только при запуске Claude Code из этого репозитория):

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

Область действия пользователя (доступен из любого каталога). Поскольку серверы в области действия пользователя запускаются без этого репозитория в качестве рабочего каталога, оберните запуск в небольшой скрипт, который сначала делает cd в репозиторий, например ~/.claude/ste-launcher.sh:

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

Затем зарегистрируйте его:

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

Проверьте через claude mcp list или /mcp в сеансе.

Конфигурация Claude Desktop

Добавьте в 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"
      }
    }
  }
}

Инструменты

Инструмент

Назначение

check_word(word)

Является ли это слово или фраза STE, и какая замена предложена?

check_text(text, include_unknown=True)

Сканирование документа на не-STE, неоднозначные, неизвестные и технические слова с указанием позиций.

check_structure(text)

Сканирование документа на структурные нарушения STE: слишком длинные предложения, пассивный залог, неизъявительное наклонение, группы существительных из более чем 4 слов, слишком длинные абзацы, герундий в роли существительного.

lookup_technical_term(term)

Поиск одобренного технического термина или сокращения.

dictionary_info()

Источник словаря, актуальность данных и статистика покрытия.

check_word/check_text основаны на списках слов, а не на грамматике: они проверяют лексику, а не структуру предложений. check_structure добавляет лёгкие структурные проверки (через небольшой статистический теггер частей речи, а не полный грамматический движок)для правил ASD-STE100, которые не могут быть охвачены списком слов; точные правила и их эвристические ограничения — в docstring в ste_mcp/structure.py. Инструмент носит только диагностический характер (подсказок для замен нет); ответственность за переписывание лежит на агенте, использующем эти инструменты.

Некоторые слова имеют как одобренное STE значение, так и неодобренные значения (например, "long" в роли простого прилагательного — STE, но "as long as"/"no longer" — нет). Для них check_word возвращает status: "ambiguous" (вместо "non_ste"), а с помощью note указывает проверить, какое значение применимо в контексте, а check_text включает их в отдельный блок/сводку ambiguous, а не non_ste. status: "non_ste" зарезервирован для слов, в которых каждая из соответствующих значений является однозначно не STE.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides fast, multilingual spell-checking for text and files, featuring syntax-aware parsing that intelligently checks only comments and strings in code. It supports over 15 languages and enables directory-wide scanning with custom dictionary management.
    7
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Offline spell check and BYOK grammar checking for AI assistants. 100% offline spell check via nspell (zero tokens, zero API calls). BYOK grammar checking with your own Gemini, OpenAI, or Claude API key. Works with Claude Desktop, Cursor, ChatGPT, and any MCP-compatible tool. 8 languages supported.
    MIT

View all related MCP servers

Related MCP Connectors

  • Prose linter + AI-slop detector: weasel words, passive voice, hedging, and research-cited AI tells

  • PDF accessibility checks (veraPDF PDF/UA-1), auto-fix and Markdown conversion. EU-hosted.

  • Screen names against OFAC, EU, UK, UN sanctions lists; resolve entities via GLEIF. Screening aid.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wolf123450/ste-dictionary-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server