Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

ASD-STE100 Simplified Technical English

PYPI · BIZ-DFCH-ASDSTE100MCP · SCANNED SEP 20

An MCP server for the ASD-STE100 (Simplified Technical English) Issue 9 standard.

−1 this week 81 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security99
  • No malware found by supply-chain analysis.Pass
  • A known CVE affects nltk, but no fixed version has been published, so there is nothing to upgrade to. View diagnostics → Partial
  • Runs setuptools.build_meta at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
  • 6 of 50 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency35
Schema Quality & AI Usability83
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3113 tokens (~183/item across 17 items; 15 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
  • Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 15 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 17 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

How do I install the ASD-STE100 Simplified Technical English MCP server?

ASD-STE100 Simplified Technical English runs locally as a PyPI package, launched with uvx biz-dfch-asdste100mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · biz-dfch-asdste100mcp

# add to Claude Code
claude mcp add dfch-biz-dfch-asdste100mcp -- uvx biz-dfch-asdste100mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "dfch-biz-dfch-asdste100mcp": {
      "command": "uvx",
      "args": [
        "biz-dfch-asdste100mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "dfch-biz-dfch-asdste100mcp": {
      "command": "uvx",
      "args": [
        "biz-dfch-asdste100mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add dfch-biz-dfch-asdste100mcp -- uvx biz-dfch-asdste100mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dfch-biz-dfch-asdste100mcp": {
      "type": "local",
      "command": [
        "uvx",
        "biz-dfch-asdste100mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add dfch-biz-dfch-asdste100mcp --command uvx --arg biz-dfch-asdste100mcp
# ~/.hermes/config.yaml
mcp_servers:
  dfch-biz-dfch-asdste100mcp:
    command: "uvx"
    args: ["biz-dfch-asdste100mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "dfch-biz-dfch-asdste100mcp": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "biz-dfch-asdste100mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add dfch-biz-dfch-asdste100mcp -t stdio -c uvx -a biz-dfch-asdste100mcp
// mcp.json
{
  "mcpServers": {
    "dfch-biz-dfch-asdste100mcp": {
      "command": "uvx",
      "args": [
        "biz-dfch-asdste100mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 19 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 −4
    • Stability: pass → 0.77 functional
  • 17 Sept 26 +1
    • Stability: 0.97 → pass security
  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Sept 26 −3
    • Stability: pass → 0.83 functional
  • 11 Sept 26 +1
    • Stability: 0.97 → pass security
  • 9 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed pypi/biz-dfch-asdste100mcp@3.0.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted setuptools.build_meta

Background: Why install scripts are a supply-chain risk →

Vulnerabilities 1 finding
ID CVE Severity Vector Fix available
GHSA-8mgp-746c-j5xp CVE-2026-81726 high CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:L no

Background: What a vulnerability scan can and cannot prove →

Dependencies 50 packages
Packages resolved 50
Stale 5
No linked repository 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 15 exposed · ~2,932 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
rules_by_category ~104

Search for rules in the ruleset by exact category name (case-insensitive). Use `rules_toc` first if you do not know the exact category names. Parameters ---------- category: The category name to search for, e.g. ``"Technical nouns"``. Returns ------- list[Rule] A (possibly empty) list of matching rules.

NameTypeReqDescription
categorystringyesThe exact category name to search for, e.g. 'Technical nouns'.
NameTypeReqDescription
resultarrayyes

No examples provided.

rules_by_section ~102

Search for rules in the ruleset by exact section name (case-insensitive). Use `rules_toc` first if you do not know the exact section names. Parameters ---------- section: The section name to search for, e.g. ``"Words"``. Returns ------- list[Rule] A (possibly empty) list of matching rules.

NameTypeReqDescription
sectionstringyesThe exact section name to search for, e.g. 'Words'.
NameTypeReqDescription
resultarrayyes

No examples provided.

rules_examples ~369

Return content items across rules, optionally scoped and filtered. Parameters ---------- id_: When given, only consider the rule with this exact id (case-insensitive). section: When given, only consider rules in this exact section (case-insensitive). category: When given, only consider rules in this exact category (case-insensitive). kind: When given, only return content items of this type (e.g. ``"ste_example"``). max_results: The maximum number of matching content items to return (default 25). offset: The number of matching content items to skip before returning results, for pagination (default 0). Returns ------- RulesExamplesResult ``results`` holds the (possibly empty) page of matching content items, in document order, after applying ``offset`` and ``max_results``. ``total`` is the full match count before pagination, and ``truncated`` tells the caller whether more content items exist beyond this page. Unfiltered, the ruleset can hold well over a thousand content items, so pagination matters here even though the ruleset itself only has a few dozen rules.

NameTypeReqDescription
categoryOnly consider rules in this exact category (case-insensitive).
id_Only consider the rule with this exact id (case-insensitive).
kindOnly return content items of this exact type, e.g. 'ste_example'.
max_resultsintegerThe maximum number of matching entries to return.
offsetintegerThe number of matching entries to skip before returning results, for pagination.
sectionOnly consider rules in this exact section (case-insensitive).
NameTypeReqDescription
max_resultsintegeryes
offsetintegeryes
resultsarray
totalintegeryes
truncatedbooleanyes

No examples provided.

rules_find ~154

Search for rules in the ruleset by exact id. Use this first when you know the exact rule/recommendation id. Use `rules_match` or `rules_search` if this tool returns no items. Parameters ---------- id_: The rule/recommendation id to search for (e.g. ``"R1.1"`` or ``"GR-8"``), matched case-insensitively. Returns ------- list[Rule] A (possibly empty) list of matching rules.

NameTypeReqDescription
id_stringyesThe exact rule/recommendation id to search for, e.g. 'R1.1' or 'GR-8' (case-insensitive).
NameTypeReqDescription
resultarrayyes

No examples provided.

rules_match ~133

Search for rules in the ruleset using a regular expression. The pattern is matched (case-insensitively) against both the ``name`` and the ``summary`` of each rule. Use `rules_search` instead if you need to search the full content of every rule (notes, examples, technical noun/verb lists, ...). Parameters ---------- pattern: The regular expression pattern to search for. Returns ------- list[Rule] A (possibly empty) list of matching rules.

NameTypeReqDescription
patternstringyesA regular-expression pattern matched against the rule name and summary (case-insensitive).
NameTypeReqDescription
resultarrayyes

No examples provided.

rules_overview ~310

Return a lightweight, per-rule overview of the ruleset. Use this for a cheap, low-token summary of what rules exist before drilling into `rules_find` or `rules_examples` for a specific rule; each result carries only the rule's id, type, section, category, name, and (optionally) summary, plus counts/flags about its content items rather than the content items themselves. Parameters ---------- section: When given, only consider rules in this exact section (case-insensitive). category: When given, only consider rules in this exact category (case-insensitive). type_: When given, only consider rules of this exact type (e.g. ``"rule"``, to exclude recommendations and informational blocks). brief: When ``True`` (default), omit the summary to keep the payload small. When ``False``, include the full summary. Returns ------- list[RuleOverview] One overview per matching rule, in the ruleset's current order (natural id order by default).

NameTypeReqDescription
briefbooleanWhen true (default), omit the summary to keep the payload small.
categoryOnly consider rules in this exact category (case-insensitive).
sectionOnly consider rules in this exact section (case-insensitive).
type_Only consider entries of this exact type, e.g. 'rule' (excludes recommendations and information blocks).
NameTypeReqDescription
resultarrayyes

No examples provided.

rules_search ~476

Full-text search for rules using a regular expression. Unlike `rules_match`, which only looks at ``name`` and ``summary``, this searches every text a rule carries: ``section``, ``category``, ``name``, ``summary``, and the ``data`` of every content item -- i.e. explanatory text, notes, STE/non-STE examples, technical noun/verb lists, and so on. Useful for finding "what rule governs passive voice" or "where does STE100 mention abbreviations", without knowing the section/category/id upfront. Parameters ---------- pattern: The regular expression pattern to search for (case-insensitive). content_types: When given, only the ``data`` of content items whose type is in this list is searched (``section``, ``category``, ``name``, and ``summary`` are always searched regardless). Use this to narrow the search to, e.g., only ``note`` or ``ste_example`` content. max_results: The maximum number of matching rules to return (default 25). offset: The number of matching rules to skip before returning results, for pagination (default 0). Returns ------- SearchResult ``results`` holds the (possibly empty) page of matching rules, in document order, after applying ``offset`` and ``max_results``. ``total`` is the full match count before pagination, and ``truncated`` tells the caller whether more matches exist beyond this page -- i.e. whether a reached ``max_results`` means "that's all of them" or "call again with a higher ``offset``".

NameTypeReqDescription
content_typesOnly search the content of these types, e.g. ['note', 'ste_example']. The rule section/category/name/summary are always searched regardless of this option.
max_resultsintegerThe maximum number of matching entries to return.
offsetintegerThe number of matching entries to skip before returning results, for pagination.
patternstringyesA regular-expression pattern (case-insensitive) matched against the rule section, category, name, summary, and every content block (text, notes, examples, technical noun/verb lists, ...).
NameTypeReqDescription
max_resultsintegeryes
offsetintegeryes
resultsarray
totalintegeryes
truncatedbooleanyes

No examples provided.

rules_toc ~179

Return the distinct (section, category) pairs, in first-seen order. Gives a table-of-contents style outline of the ruleset's structure, without any per-rule detail; useful to see which sections and categories exist before drilling into `rules_overview`, `rules_by_section`, or `rules_by_category` for a specific one. Parameters ---------- section: When given, only consider rules in this exact section (case-insensitive). Returns ------- list[TocEntry] One entry per distinct (section, category) pair, in first-seen document order, where ``ids`` lists the ids of every rule/recommendation/information item in that (section, category), in document order.

NameTypeReqDescription
sectionOnly consider rules in this exact section (case-insensitive).
NameTypeReqDescription
resultarrayyes

No examples provided.

word_count ~47

Return the total number of entries in the vocabulary. Use instead of `word_list` when you only need the count. Returns ------- int The number of entries in the vocabulary.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultintegeryes

No examples provided.

word_find ~123

Search for a term by exact name (case-insensitive) in the ASD-STE100 Issue 9 vocabulary. Return approved/rejected status, part of speech, STE examples, and approved alternatives. Use this first when you know the exact word. Use `word_match` with a wildcard if this tool returns no items. Parameters ---------- term: The word or phrase to look up exactly. Returns ------- list[Word] A (possibly empty) list of matching vocabulary entries.

NameTypeReqDescription
termstringyesThe term to look up.
NameTypeReqDescription
resultarrayyes

No examples provided.

word_find_many ~186

Search for multiple terms by exact name (case-insensitive) in the ASD-STE100 Issue 9 vocabulary in a single call. Equivalent to calling `word_find` once per term, but avoids one tool round-trip per term. Each input term gets its own entry in the result, holding 0, 1, or more matching vocabulary entries — an unknown or misspelled term simply yields an empty `results` list for that entry rather than shrinking the overall result. Parameters ---------- terms: The words or phrases to look up exactly. Returns ------- list[WordFindEntry] One entry per input term, in the same order as `terms`, each holding the term and its (possibly empty) list of matching vocabulary entries.

NameTypeReqDescription
termsarrayyesThe list of terms to look up exactly.
NameTypeReqDescription
resultarrayyes

No examples provided.

word_fuzzy ~91

Search for a term with sequence-matching (Python difflib.get_close_matches). Results may not be obvious — use when find returns nothing and you want suggestions. Parameters ---------- term: The word or phrase to search for approximately. Returns ------- list[Word] A (possibly empty) list of similar vocabulary entries.

NameTypeReqDescription
termstringyesThe term to look up.
NameTypeReqDescription
resultarrayyes

No examples provided.

word_list ~199

Return all vocabulary entries. Only use when you need to process the full vocabulary. Use word_count instead if you only need the total. This operation is expensive and returns a large number of entries -- the vocabulary holds thousands of them. Parameters ---------- max_results: The maximum number of vocabulary entries to return (default 25). offset: The number of vocabulary entries to skip before returning results, for pagination (default 0). Returns ------- WordResult ``results`` holds the (possibly empty) page of vocabulary entries after applying ``offset`` and ``max_results``. ``total`` is the full entry count before pagination, and ``truncated`` tells the caller whether more entries exist beyond this page.

NameTypeReqDescription
max_resultsintegerThe maximum number of matching entries to return.
offsetintegerThe number of matching entries to skip before returning results, for pagination.
NameTypeReqDescription
max_resultsintegeryes
offsetintegeryes
resultsarray
totalintegeryes
truncatedbooleanyes

No examples provided.

word_match ~247

Search the vocabulary using a regular expression pattern. Return all entries whose term matches. Use it to find all words with a common prefix or pattern (e.g. ^de or .*tion$). A broad pattern can match a large part of the vocabulary, so results are paginated. Parameters ---------- term: A regular-expression pattern (e.g. ``"util.*"``). max_results: The maximum number of matching vocabulary entries to return (default 25). offset: The number of matching vocabulary entries to skip before returning results, for pagination (default 0). Returns ------- WordResult ``results`` holds the (possibly empty) page of matching vocabulary entries after applying ``offset`` and ``max_results``. ``total`` is the full match count before pagination, and ``truncated`` tells the caller whether more matches exist beyond this page.

NameTypeReqDescription
max_resultsintegerThe maximum number of matching entries to return.
offsetintegerThe number of matching entries to skip before returning results, for pagination.
termstringyesThe term to look up.
NameTypeReqDescription
max_resultsintegeryes
offsetintegeryes
resultsarray
totalintegeryes
truncatedbooleanyes

No examples provided.

word_synonym ~212

Search for vocabulary entries that are WordNet synonyms of a word (via the `biz-dfch-asdste100nlp` library's `Nlp` class). Every WordNet synset for `term` is collected and its lemma names are cross-referenced, case-insensitively, against the vocabulary's entries by name — the same scope as `word_find`/`word_match`/`word_fuzzy` (approved and rejected entries both included). `term` itself is excluded from the result. Use this to find approved alternatives for a non-STE word. Parameters ---------- term: The word to search synonyms for. Returns ------- list[Word] A deduplicated, alphabetically sorted list of matching vocabulary entries. Empty if `term` has no WordNet synsets (out-of- vocabulary) or none of its synonyms are present in the vocabulary.

NameTypeReqDescription
termstringyesThe term to look up.
NameTypeReqDescription
resultarrayyes

No examples provided.

Common questions

What is the ASD-STE100 Simplified Technical English MCP server?

ASD-STE100 Simplified Technical English is an MCP server listed in the public MCP registry as io.github.dfch/biz-dfch-asdste100mcp. An MCP server for the ASD-STE100 (Simplified Technical English) Issue 9 standard. This page covers its PyPI package (biz-dfch-asdste100mcp).

Is the ASD-STE100 Simplified Technical English MCP server safe to use?

ASD-STE100 Simplified Technical English scores 81 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the ASD-STE100 Simplified Technical English MCP server expose?

ASD-STE100 Simplified Technical English exposes 15 tools: rules_by_category, rules_by_section, rules_examples, rules_find, rules_match, and 10 more. Their descriptions and schemas cost roughly 2,932 tokens of context every time the server is loaded.

Is the ASD-STE100 Simplified Technical English MCP server still maintained?

ASD-STE100 Simplified Technical English is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.