STE Dictionary MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@STE Dictionary MCP ServerCheck this text for STE violations: 'The device was activated by the user.'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
STE Dictionary MCP Server
An MCP server that checks text against ASD-STE100 Simple Technical English
(STE): which words are approved, which aren't, and what STE word replaces
each violation. Works entirely offline from a static dictionary snapshot in
data/ — no network access at runtime. See
docs/superpowers/specs/2026-08-21-ste-mcp-design.md for the full design.
Setup
pip install -r requirements.txt
python scripts/download_nltk_data.py
pytestThe check_structure tool needs two small NLTK data packages (the
punkt_tab sentence/word tokenizer and the averaged_perceptron_tagger_eng
POS tagger -- classic statistical models, not deep learning). Running
python scripts/download_nltk_data.py once after installing dependencies
downloads them and trims out the non-English tokenizer languages NLTK's
downloader pulls by default, keeping the on-disk footprint to a few MB
instead of ~58MB. It's safe to re-run. If you skip this step, check_structure
raises a RuntimeError telling you to run it.
The server reads its dictionary snapshot from the STE_DATA_DIR environment
variable, defaulting to ./data (relative to the working directory the
server is launched from). The snapshot in data/ is committed to this repo,
so no separate download step is needed.
Related MCP server: SpellChecker MCP Server
Running standalone
python -m ste_mcp.serverSpeaks MCP over stdio.
Installing into Claude Code
Register the server with the Claude Code CLI. Use an absolute path to your
Python interpreter if python on your PATH doesn't have the mcp package
installed.
Local scope (available only when Claude Code is run from this repo):
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.serverUser scope (available from any directory). Because user-scope servers
don't run with this repo as their working directory, wrap the launch in a
small script that cds into the repo first, e.g. ~/.claude/ste-launcher.sh:
#!/bin/sh
cd /absolute/path/to/ste-dictionary-mcp
exec python -m ste_mcp.serverThen register it:
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.shVerify with claude mcp list, or /mcp inside a session.
Claude Desktop configuration
Add to 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"
}
}
}
}Tools
Tool | Purpose |
| Is this word/phrase STE, and what replaces it? |
| Scan a document for non-STE, ambiguous, unknown, and technical words with positions. |
| Scan a document for structural STE violations: overlong sentences, passive voice, non-imperative mood, noun clusters of 4+, overlong paragraphs, gerund-as-noun. |
| Look up an approved technical term or abbreviation. |
| Dictionary source, freshness, and coverage stats. |
check_word/check_text are word-list-based, not a grammar checker: they
check vocabulary, not sentence structure. check_structure adds lightweight
structural checks (via a small statistical POS tagger, not a full grammar
engine) for the ASD-STE100 rules a word list can't catch -- see its
docstring in ste_mcp/structure.py for the exact rules and their heuristic
limitations. It is diagnostic only (no rewrite suggestions); the agent using
these tools is responsible for rewriting.
Some words have both an STE-approved sense and a non-STE sense (e.g. "long"
as a plain adjective is STE, but "as long as"/"no longer" is not). For those,
check_word returns status: "ambiguous" (instead of "non_ste") along
with a note telling the caller to verify which sense applies in context,
and check_text reports them in a separate ambiguous bucket/summary count
rather than non_ste. status: "non_ste" is reserved for words where every
matched sense is non-STE.
This server cannot be installed
Maintenance
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
- AlicenseBqualityFmaintenanceProvides intelligent manuscript analysis and writing assistance for markdown projects, including semantic search, quality checks, terminology consistency, link validation, progress tracking, and comprehensive writing statistics.3513113MIT
- AlicenseAqualityDmaintenanceProvides 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.71MIT
- AlicenseNot gradedqualityCmaintenanceOffline 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
- FlicenseAqualityCmaintenanceL1-aware grammar, style, translation & tone tools with 70 local rules. Zero API keys needed.4
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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