mcpField
A
ASD-STE100 Simplified Technical English

ASD-STE100 Simplified Technical English

ローカル
github.com/dfch生産性413 週間前に更新

ASD-STE100 Simplified Technical English について

技術文書の執筆者や文書チーム向けに、ASD-STE100 Issue 9の語彙と規則を検索するサーバーです。承認語や例を含む、パッケージ内の読み取り専用データを扱います。

主な機能

  1. 01完全一致・パターン・あいまい語彙検索
  2. 02承認語と不承認語の確認
  3. 03ID・分類・全文による規則検索
  4. 04規則の目次と例の参照
  5. 05同義語と承認された代替語の検索

活用シーン

  1. 01技術文書の用語確認
  2. 02標準外の語に対する承認語の検索
  3. 03執筆テーマに関する規則の特定
  4. 04複数の用語の一括確認

MCP 対応

MCPクライアントに、ASD-STE100 Issue 9の語彙と規則を読み取り専用のツールおよびリソースとして公開します。stdioとSSEに対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"dfch-biz-dfch-asdste100mcp": {
"command": "uvx",
"args": [
"biz-dfch-asdste100mcp"
],
"env": {
"ASDSTE100_MCP_TRANSPORT": "<ASDSTE100_MCP_TRANSPORT>",
"ASDSTE100_MCP_HOST": "<ASDSTE100_MCP_HOST>",
"ASDSTE100_MCP_PORT": "<ASDSTE100_MCP_PORT>",
"ASDSTE100_MCP_FILES": "<ASDSTE100_MCP_FILES>",
"ASDSTE100_MCP_USE_STE100": "<ASDSTE100_MCP_USE_STE100>",
"ASDSTE100_MCP_USE_STE100_TECHNICAL_WORDS": "<ASDSTE100_MCP_USE_STE100_TECHNICAL_WORDS>",
"ASDSTE100_MCP_RULES_FILES": "<ASDSTE100_MCP_RULES_FILES>",
"ASDSTE100_MCP_USE_STE100_RULES": "<ASDSTE100_MCP_USE_STE100_RULES>"
}
}
}
}
起動コマンドuvx biz-dfch-asdste100mcp
設定が必要な環境変数
ASDSTE100_MCP_TRANSPORTTransport mode: stdio or sse
ASDSTE100_MCP_HOSTBind address (SSE transport only)
ASDSTE100_MCP_PORTTCP port (SSE transport only)
ASDSTE100_MCP_FILESColon-separated paths to additional vocabulary .jsonl files
ASDSTE100_MCP_USE_STE100Load the built-in ASD-STE100 Issue 9 vocabulary
ASDSTE100_MCP_USE_STE100_TECHNICAL_WORDSAlso load the technical words vocabulary
ASDSTE100_MCP_RULES_FILESColon-separated paths to additional rules files (JSON array each)
ASDSTE100_MCP_USE_STE100_RULESLoad the built-in ASD-STE100 Issue 9 ruleset

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypibiz-dfch-asdste100mcp3.0.0

ツール

15

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
categorystringはい検索する正確なカテゴリ名。例:'Technical nouns'。

詳細

biz.dfch.AsdSte100Mcp

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

ASD-STE100(簡易テクニカル英語)第9版規格に対応するMCP サーバーです。

ASD-STE100:著作権は (c) ASD に帰属します。

私はASDとは一切関係ありません。ASDは私の取り組みを支持していません。

目次

認証

このサーバーは、パッケージに同梱された語彙データとルールデータを対象とする読み取り専用の検索ツールとリソースのみを公開します。認証先はありません。stdio モードでも sse トランスポートモードでも、APIキー、トークン、認証情報は不要であり、サポートもされていません。sse トランスポートを localhost の外部に公開する場合は、サーバー自身にリクエストを認証させるのではなく、ネットワーク層(リバースプロキシなど)で保護してください。

ツール

語彙
ツール説明
word_findASD-STE100 Issue 9 の語彙から、完全一致する用語を検索します(大文字と小文字は区別しません)。承認/非承認のステータス、品詞、STE の例、承認済みの代替語を返します。用語が正確にわかっている場合は、まずこれを使用してください。このツールで結果が見つからない場合は、ワイルドカードを使って word_match を使用してください。
word_find_many1 回の呼び出しで、完全一致する複数の用語を検索します(大文字と小文字は区別しません)。入力と同じ順序で、入力用語ごとに 1 つの WordFindEntry(term + results)を返します。各項目には、該当する語彙エントリが 0 件、1 件、または複数件含まれます。
word_match正規表現パターンを使用して語彙を検索します。一致する用語のエントリをすべて返します。共通の接頭辞やパターン(例:^de または .*tion$)を持つ単語を検索する場合に使用してください。ページ分割に対応しています(max_results/offset)。WordResult を返します。
word_fuzzyシーケンスマッチング(Python の difflib.get_close_matches)を使用して用語を検索します。結果が明確でない場合があります。word_find で何も見つからず、あいまい検索による候補が必要な場合に使用してください。
word_listすべての語彙エントリを返します。語彙全体を処理する必要がある場合にのみ使用してください。合計数だけが必要な場合は、代わりに word_count を使用してください。ページ分割に対応しています(max_results/offset)。WordResult を返します。
word_count語彙エントリの合計数を返します。件数だけが必要な場合は、word_list の代わりに使用してください。
word_synonymbiz-dfch-asdste100nlp ライブラリの Nlp クラスを介して、ある単語の WordNet 同義語である語彙エントリを検索します。STE 非準拠の単語に対する承認済みの代替語を見つける場合に使用してください。
ルール
ツール説明
rules_findルールセットから、完全一致する ID でルールを検索します(大文字と小文字は区別しません)。例:R1.1 や GR-8。ID が正確にわかっている場合は、まずこれを使用してください。
rules_matchルールの name と summary に対して正規表現を照合し、ルールを検索します。
rules_searchルールが持つすべてのテキスト(セクション、カテゴリ、名前、概要、およびテキスト、注記、例、技術名詞/動詞の一覧を含むすべてのコンテンツブロック)を対象に、全文検索を行います。必要に応じて、特定のコンテンツタイプに絞り込めます。ページ分割に対応しています(max_results/offset)。SearchResult を返します。
rules_by_section完全一致するセクション名でルールを検索します(大文字と小文字は区別しません)。例:Words。
rules_by_category完全一致するカテゴリ名でルールを検索します(大文字と小文字は区別しません)。例:Technical nouns。
rules_examplesルール全体からコンテンツ項目を返します。必要に応じて ID/セクション/カテゴリで範囲を指定し、コンテンツタイプで絞り込めます。ページ分割に対応しています(max_results/offset)。RulesExamplesResult を返します。
rules_overviewルールごとの簡潔な概要(ID、タイプ、セクション、カテゴリ、名前、任意の概要、コンテンツの件数/フラグ)を返します。すべてのコンテンツ項目を含めずに取得できます。
rules_toc目次のアウトラインとして、セクションとカテゴリの異なる組み合わせを返します。必要に応じて、1 つのセクションに絞り込めます。

リソース

読み取り専用リソースを使用すると、ツール呼び出しを介さずに(「@メンション」やリソースピッカーなどを使って)、クライアントがルールセットのデータを直接参照したり、添付したりできます。

リソース URI説明
asdste100://rules/tocルールセットの目次のアウトラインです。セクションとカテゴリの異なる組み合わせ、およびそれぞれに含まれる ID を示します。section フィルターを指定しない rules_toc ツールと同じ内容です。
asdste100://rules/rule/{id_}完全一致する ID のルール/推奨事項/情報項目を 1 件返します(大文字と小文字は区別しません)。例:asdste100://rules/rule/R1.1。不明な ID の場合は、エラーではなく空のリストが返されます。rules_find ツールと同じ内容です。
asdste100://versionMCP サーバー本体と、データを提供する 3 つのライブラリ(biz-dfch-asdste100vocab、biz-dfch-asdste100rules、biz-dfch-asdste100nlp)のインストール済みバージョン番号です。

インストール

pip install biz-dfch-asdste100mcp

または、uv を使用します。

uv add biz-dfch-asdste100mcp

使用方法

MCP Inspector

OpenCode のようなツールを使わずに MCP サーバーをテストする場合は、MCP Inspector を使用できます。

MCP Inspector は mcp[cli] パッケージの一部です。このプロジェクトを --extra dev を指定してインストールすると、MCP Inspector を使用できます。

注:以下の例では、MCP Inspector の起動に npx ではなく bunx を使用しています。npx はテストされていません。

stdio(Claude Desktop、OpenCode、その他の MCP ホスト)
asdste100-mcp

サーバーに対して stdio 経由で MCP Inspector を実行します。

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

stdio を使用した MCP Inspector

注:MCP Inspector が stdio 経由で MCP サーバーに接続できない場合があります。その場合は、代わりに sse オプション(以下を参照)を使用してください。

SSE/ネットワーク
asdste100-mcp --transport sse --host localhost --port 8000

注:MCP サーバーにオプション --port を指定する必要はありません。port のデフォルト値は 8000 です。

サーバーを起動してから、MCP Inspector を接続します。これらは別々のコマンドで、2 つの異なるターミナルで実行します。

# 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

uvx で MCP サーバーを起動してから、bunx で MCP Inspector を起動

sse を使用した MCP Inspector

オプション
オプション環境変数デフォルト説明
--transportASDSTE100_MCP_TRANSPORTstdioトランスポートモード:stdio または sse
--hostASDSTE100_MCP_HOSTlocalhostバインドアドレス(SSE のみ)
--portASDSTE100_MCP_PORT8000TCP ポート(SSE のみ)
--env—自動検出.env ファイルへのパス
--file / -fASDSTE100_MCP_FILES(空)語彙ファイル(*.jsonl)へのパス。複数回指定できます
--rules-file / -rASDSTE100_MCP_RULES_FILES(空)ルールファイル(単一の JSON 配列)へのパス。複数回指定できます
語彙の設定
環境変数デフォルト説明
ASDSTE100_MCP_FILES(空)追加の語彙ファイルへのパス(コロン区切り)
ASDSTE100_MCP_USE_STE100true組み込みの ASD-STE100 Issue 9 語彙を読み込みます
ASDSTE100_MCP_USE_STE100_TECHNICAL_WORDSfalse技術用語の語彙も読み込みます
ルールの設定
環境変数デフォルト説明
ASDSTE100_MCP_RULES_FILES(空)追加のルールファイルへのパス(コロン区切り。各ファイルは単一の JSON 配列)
ASDSTE100_MCP_USE_STE100_RULEStrue組み込みの ASD-STE100 Issue 9 ルールセットを読み込みます

OpenCode に追加する

ASD-STE100(簡易テクニカル英語)の MCP サーバーを OpenCode の設定に追加します。

  1. OpenCode の設定ファイルを開きます(通常は ~/.config/opencode/opencode.json または ~/.config/opencode/opencode.jsonc)。

  2. mcp セクションに以下の設定を追加します(stdio 経由で使用します)。

"asdste100": {
  "type": "local",
  "enabled": true,
  "command": ["uvx", "--from", "biz-dfch-asdste100mcp", "asdste100-mcp"]
}
  1. ファイルを保存し、OpenCode を再起動します。

これにより、OpenCode から ASD-STE100 の語彙やルールを検索し、テクニカルライティングやドキュメントの準拠確認に利用できるようになります。

開発

開発用の依存関係をインストールする
uv sync --all-extras
リンターを実行する
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"

関連プロジェクト

このサーバーは ASD-STE100 ツール群の一部です。

リリースを作成する

1. すべてのテストが成功することを確認する

リリース前に、dev ブランチの CI パイプラインが成功していることを確認します。

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. バージョンを上げる

pyproject.toml のバージョンを更新します。

version = "x.y.z"
3. dev にコミットしてプッシュする
git add pyproject.toml CHANGELOG.md
git commit -m "chore: bump version to vx.y.z"
git push origin dev
4. dev を main にマージする
git checkout main
git merge dev
git push origin main
5. バージョンタグを作成してプッシュする
export VERSION=x.y.z
git tag v${VERSION}
git push origin v${VERSION}

タグをプッシュすると publish.yml ワークフローが実行され、次の処理が行われます。

  1. sdist と wheel をビルドします。
  2. TestPyPI に公開します(環境 testpypi)。
  3. PyPI に公開します(環境 pypi)。TestPyPI への公開が成功した場合のみ実行されます。
  4. MCP Registry に公開します(publish-to-mcp-registry ジョブ)。先に新しいバージョンが PyPI で公開されている必要があります。
  5. 自動生成されたリリースノートと配布成果物を添付して、GitHub Release を作成します。

その後、作業を続けるため dev に戻ります。

git checkout dev
Trusted Publishing を設定する

このワークフローでは OIDC Trusted Publishing を使用するため、API トークンやシークレットは不要です。

GitHub:環境を作成する

リポジトリの Settings → Environments に移動し、次の2つの環境を作成します。

環境推奨される保護設定
testpypi必須の設定はありません
pypi意図しない本番リリースを防ぐため、必須レビュアーを追加します
TestPyPI

test.pypi.org にログインし、Your account → Publishing → Add a new pending publisher に移動します。

フィールド値
PyPI project namebiz-dfch-asdste100mcp
Ownerdfch
Repositorybiz.dfch.AsdSte100Mcp
Workflow namepublish.yml
Environmenttestpypi
PyPI

pypi.org にログインし、Your account → Publishing → Add a new pending publisher に移動します。

フィールド値
PyPI project namebiz-dfch-asdste100mcp
Ownerdfch
Repositorybiz.dfch.AsdSte100Mcp
Workflow namepublish.yml
Environmentpypi
MCP Registry への公開

publish-to-mcp-registry ジョブは GitHub OIDC 認証を使用するため、追加の設定は不要です。パッケージが PyPI で公開されると、公式 MCP Registry に自動的に公開されます。

サーバーが登録されていることを確認します。

curl "https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.dfch/biz-dfch-asdste100mcp"

ライセンス

AGPL-3.0-or-later

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。