Skip to main content
Glama
dfch

io.github.dfch/biz-dfch-asdste100mcp

Official
by dfch

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ASDSTE100_MCP_HOSTNoBind address (SSE only)localhost
ASDSTE100_MCP_PORTNoTCP port (SSE only)8000
ASDSTE100_MCP_FILESNoColon-separated paths to additional vocabulary files
ASDSTE100_MCP_TRANSPORTNoTransport mode: stdio or ssestdio
ASDSTE100_MCP_USE_STE100NoLoad the built-in ASD-STE100 Issue 9 vocabularytrue
ASDSTE100_MCP_RULES_FILESNoColon-separated paths to additional rules files (each a single JSON array)
ASDSTE100_MCP_USE_STE100_RULESNoLoad the built-in ASD-STE100 Issue 9 rulesettrue
ASDSTE100_MCP_USE_STE100_TECHNICAL_WORDSNoAlso load the technical words vocabularyfalse

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
rules_by_categoryA

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.

rules_by_sectionA

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.

rules_examplesA

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.

rules_findA

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.

rules_matchA

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.

rules_overviewA

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).

rules_searchA

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".

rules_tocA

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.

word_countA

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.

word_findA

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.

word_find_manyA

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.

word_fuzzyA

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.

word_listA

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.

word_matchA

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.

word_synonymA

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.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
rules_tocThe distinct (section, category) pairs of the ASD-STE100 Issue 9 ruleset, in first-seen document order, each with the ids of every rule/recommendation/information item it contains. Lets a client browse the ruleset's structure (e.g. in a tree view) without a tool round-trip. Mirrors the `rules_toc` tool with no `section` filter.
versionInstalled version numbers of the ASD-STE100 MCP server itself and its three data-backing libraries: biz-dfch-asdste100vocab (vocabulary), biz-dfch-asdste100rules (ruleset), and biz-dfch-asdste100nlp (synonyms). Lets a client check compatibility without a tool round-trip.

TDQS

A4.5/5.0

Scored across 15 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: word_* tools cover exact, batch, regex, fuzzy, synonym lookup, count, and list; rules_* tools cover id, section, category, full-text, overview, examples, and TOC. The few adjacent tools (word_find vs word_find_many, rules_match vs rules_search) are explicitly differentiated in their descriptions.

Naming Consistency5/5

All 15 tools follow a consistent snake_case verb_noun pattern with clear word_ and rules_ prefixes. The domain of each tool is immediately obvious from its name.

Tool Count5/5

15 tools is well within the ideal range for a reference server covering both a vocabulary and a ruleset. Each tool serves a distinct lookup or navigation purpose, so none feel redundant.

Completeness5/5

The tool surface provides comprehensive read-only coverage: vocabulary count, list, exact/batch/fuzzy/regex/synonym search, and rules TOC, overview, find by id/category/section, match, full-text search, and examples. There are no obvious dead ends or missing operations for the stated purpose.

Maintenance

ActivityStale
ResponsivenessUnresponsive