SkillAgentSearch skills...

biz.dfch.AsdSte100Mcp

An MCP Server for the ASD-STE100 Issue 9 standard.

Install / Use

claude mcp add dfch -- npx -y github:dfch/biz.dfch.AsdSte100Mcp

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

76/100

Supported Platforms

Claude Code
Claude Desktop

Our assessment of biz.dfch.AsdSte100Mcp

biz.dfch.AsdSte100Mcp scores 76/100 on our quality scale, 530th of 1,455 Development & Engineering skills we index (top 37%).

Its MCP Server is 13 KB long, well organised into 35 sections with 18 code examples: a thorough specification that gives an agent plenty to work with.

It has 3 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
30/30
Structure
20/20
Description
8/15
Adoption
3/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated about 2 months ago, so biz.dfch.AsdSte100Mcp is actively maintained.
  • It is released under AGPL-3.0, a copyleft license: you can use it, but modified versions you distribute must carry the same license.
  • Its trust signals score 87/100, with 2 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.

Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

biz.dfch.AsdSte100Mcp compared with similar skills

All 4 of these similar skills score higher than biz.dfch.AsdSte100Mcp; compare them before choosing.

SkillScoreStarsUpdatedFormat
biz.dfch.AsdSte100Mcp (this skill)by dfch76353d agoMCP Server
Agent-Reachby Panniantong10085.2k9d agoCLAUDE.md
headroomby headroomlabs-ai10073.7ktodayCLAUDE.md
rufloby ruvnet10073.2ktodayCLAUDE.md
CowAgentby zhayujie10047.1ktodayCLAUDE.md

Frequently asked questions

How do I install biz.dfch.AsdSte100Mcp?
Run claude mcp add dfch -- npx -y github:dfch/biz.dfch.AsdSte100Mcp. The install tabs above show the steps for each supported agent.
Which AI agents does biz.dfch.AsdSte100Mcp work with?
It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
Is biz.dfch.AsdSte100Mcp safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is AGPL-3.0-licensed and scores 87/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is biz.dfch.AsdSte100Mcp still maintained?
The repository was last updated about 2 months ago, so biz.dfch.AsdSte100Mcp is actively maintained.

biz.dfch.AsdSte100Mcp

<!-- mcp-name: io.github.dfch/biz-dfch-asdste100mcp -->

ASD-STE100: Issue 9 License: AGPL v3 Python Lint and Test TestPyPI version PyPI version PyPI downloads MCP Registry Auth: none

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

ASD-STE100: Copyright by (c) ASD.

I am in no way affiliated with ASD. ASD does not endorse my work.

Table of Contents

Authentication

This server exposes only read-only lookup tools and resources over vocabulary and rules data that is bundled with the package; there is nothing to authenticate against. No API keys, tokens, or credentials are required or supported in either stdio or sse transport mode. If you expose the sse transport beyond localhost, secure it at the network layer (e.g. a reverse proxy) rather than expecting the server to authenticate requests itself.

Tools

Vocabulary

| Tool | Description | |---|---| | word_find | 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. | | word_find_many | Search for multiple terms by exact name (case-insensitive) in a single call. Returns one WordFindEntry per input term (term + results), in the same order as the input, each holding 0, 1, or more matching vocabulary entries. | | word_match | 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$). Paginated (max_results/offset); returns a WordResult. | | word_fuzzy | Search for a term with sequence-matching (Python difflib.get_close_matches). Results may not be obvious — use when word_find returns nothing and you want fuzzy suggestions. | | word_list | Return all vocabulary entries. Only use when you need to process the full vocabulary. Use word_count instead if you only need the total. Paginated (max_results/offset); returns a WordResult. | | word_count | Return the total number of entries in the vocabulary. Use instead of word_list when you only need the count. | | word_synonym | Search for vocabulary entries that are WordNet synonyms of a word, via the biz-dfch-asdste100nlp library's Nlp class. Use this to find approved alternatives for a non-STE word. |

Rules

| Tool | Description | |---|---| | rules_find | Search for rules in the ruleset by exact id (case-insensitive), e.g. R1.1 or GR-8. Use this first when you know the exact id. | | rules_match | Search rules using a regular expression matched against the rule name and summary. | | rules_search | Full-text search across every text a rule carries (section, category, name, summary, and all content blocks: text, notes, examples, technical noun/verb lists). Optionally restrict to specific content types. Paginated (max_results/offset); returns a SearchResult. | | rules_by_section | Search for rules by exact section name (case-insensitive), e.g. Words. | | rules_by_category | Search for rules by exact category name (case-insensitive), e.g. Technical nouns. | | rules_examples | Return content items across rules, optionally scoped by id/section/category and filtered by content type. Paginated (max_results/offset); returns a RulesExamplesResult. | | rules_overview | Return a lightweight, per-rule overview (id, type, section, category, name, optional summary, and content counts/flags) without shipping every content item. | | rules_toc | Return the distinct (section, category) pairs as a table-of-contents outline, optionally scoped to one section. |

Resources

Read-only resources let a client browse or attach ruleset data directly (e.g. via an "@mention" or resource picker), without going through a tool call.

| Resource URI | Description | |---|---| | asdste100://rules/toc | Table-of-contents outline of the ruleset: the distinct (section, category) pairs, each with the ids they contain. Mirrors the rules_toc tool with no section filter. | | asdste100://rules/rule/{id_} | A single rule/recommendation/information item by exact id (case-insensitive), e.g. asdste100://rules/rule/R1.1. Mirrors the rules_find tool; an unknown id resolves to an empty list rather than an error. | | asdste100://version | Installed version numbers of the MCP server itself and its three data-backing libraries: biz-dfch-asdste100vocab, biz-dfch-asdste100rules, and biz-dfch-asdste100nlp. |

Installation

pip install biz-dfch-asdste100mcp

Or with uv:

uv add biz-dfch-asdste100mcp

Usage

MCP Inspector

If you want to test the MCP server without a tool like OpenCode, you can do this with MCP Inspector.

MCP Inspector is part of the mcp[cli] package. When you install this project with --extra dev you can use MCP Inspector.

NOTE: The examples below use bunx instead of npx to launch MCP Inspector; npx has not been tested.

stdio (Claude Desktop, OpenCode, and other MCP hosts)

asdste100-mcp

Run MCP Inspector against the server over stdio:

bunx @modelcontextprotocol/inspector uv run --frozen --directory . asdste100-mcp

MCP Inspector with stdio

NOTE: Sometimes, the MCP Inspector cannot connect to the MCP server via stdio. Use the sse option (see below) instead.

SSE / network

asdste100-mcp --transport sse --host localhost --port 8000

NOTE: You do not have to supply the option --port to the MCP server. The default value of port is 8000.

Start the server, then connect MCP Inspector to it — these are two separate commands, run in two separate terminals:

# terminal 1: start the server
uvx --from . asdste100-mcp -t sse
# terminal 2: launch the inspector and connect it to the running server
bunx @modelcontextprotocol/inspector

Start the MCP server with uvx and then start the MCP Inspector with bunx

MCP Inspector with sse

Options

| Option | Env var | Default | Description | |---|---|---|---| | --transport | ASDSTE100_MCP_TRANSPORT | stdio | Transport mode: stdio or sse | | --host | ASDSTE100_MCP_HOST | localhost | Bind address (SSE only) | | --port | ASDSTE100_MCP_PORT | 8000 | TCP port (SSE only) | | --env | — | auto-discovered | Path to a .env file | | --file / -f | ASDSTE100_MCP_FILES | (empty) | Path to a vocabulary file (*.jsonl); repeatable | | --rules-file / -r | ASDSTE100_MCP_RULES_FILES | (empty) | Path to a rules file (a single JSON array); repeatable |

Vocabulary configuration

| Env var | Default | Description | |---|---|---| | ASDSTE100_MCP_FILES | (empty) | Colon-separated paths to additional vocabulary files | | ASDSTE100_MCP_USE_STE100 | true | Load the built-in ASD-STE100 Issue 9 vocabulary | | ASDSTE100_MCP_USE_STE100_TECHNICAL_WORDS | false | Also load the technical words vocabulary |

Rules configuration

| Env var | Default | Description | |---|---|---| | ASDSTE100_MCP_RULES_FILES | (empty) | Colon-separated paths to additional rules files (each a single JSON array) | | ASDSTE100_MCP_USE_STE100_RULES | true | Load the built-in ASD-STE100 Issue 9 ruleset |

Add to OpenCode

To add the ASD-STE100 (Simplified Technical English) MCP server to your OpenCode configuration:

  1. Open your OpenCode config file (typically ~/.config/opencode/opencode.json or ~/.config/opencode/opencode.jsonc)

  2. Add the following configuration to the mcp section (and use it via stdio):

"asdste100": {
  "type": "local",
  "enabled": true,
  "command": ["uvx", "--from", "biz-dfch-asdste100mcp", "asdste100-mcp"]
}
  1. Save the file and restart OpenCode

This enables OpenCode to access ASD-STE100 vocabulary and rules lookups for technical writing and documentation compliance.

Development

Install dev dependencies

uv sync --all-extras

Run linters

uv run --frozen ruff format --check
uv run --frozen ruff check
uv run --frozen pylint $(git ls-files '*.py')

Run tests

uv run --frozen python -m unittest discover -v -s tests -t . -p "test_*.py"

Related Projects

This server is part of the ASD-STE100 tooling family:

Make a Release

1. Make sure all tests pass

Before releasing, make sure the CI pipeline is green on the dev branch:

uv run --frozen ruff format --check
uv run --frozen ruff check
uv run --frozen pylint $(git ls-files '*.py')
uv run --frozen python -m unittest discover -v -s tests -t . -p "test_*.py"

2. Increase the version

Update the version in pyproject.toml:

version = "x.y.z"

3. Commit and push to dev

git add pyproject.toml CHANGELOG.md
git commit -m "chore: bump version to vx.y.z"
git push origin dev

4. Merge dev into main

git checkout main
git merge dev
git push origin main

5. Create and push a version tag

export VERSION=x.y.z
git tag v${VERSION}
git push origin v${VERSION}

Pushing the tag triggers the publish.yml workflow, which will:

  1. Build the sdist and wheel.
  2. Publish to TestPyPI (environment testpypi).
  3. Publish to PyPI (environment pypi), only if TestPyPI succeeded.
  4. Publish to the MCP Registry (publish-to-mcp-registry job) — requires the new version to be live on PyPI first.
  5. Create a **

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars3
CategoryDevelopment
Updated1mo ago
Forks0

Languages

Python

Trust signals

87/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

2 low