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. 03按编号、类别或全文搜索规则
  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 许可证:AGPL v3 Python Lint and Test TestPyPI version PyPI version PyPI downloads MCP 注册表 身份验证:无

一个用于 ASD-STE100(简化技术英语)Issue 9 标准的 MCP 服务。

ASD-STE100:版权归 (c) ASD 所有。

我与 ASD 毫无关联。ASD 不为我的作品背书。

目录

身份验证

此服务仅通过词汇和规则数据提供只读查询工具和资源;这些数据随软件包一同提供,因此无需进行身份验证。无论使用 stdio 还是 sse 传输模式,均无需也不支持 API 密钥、令牌或凭据。如果将 sse 传输暴露到 localhost 之外,请在网络层(例如,通过反向代理)进行保护,而不要指望服务自行验证请求。

工具

词汇
工具描述
word_find在 ASD-STE100 Issue 9 词汇表中按确切名称(不区分大小写)搜索术语。返回批准/拒绝状态、词性、STE 示例和批准的替代词。已知确切词语时,请先使用此工具。如果此工具没有返回条目,请使用带通配符的 word_match。
word_find_many在一次调用中按确切名称(不区分大小写)搜索多个术语。每个输入术语返回一个 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_synonym通过 biz-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以目录大纲的形式返回不同的(章节、类别)组合,可选择限定在某个章节内。

资源

只读资源让客户端可以直接浏览或附加规则集数据(例如通过 “@提及”或资源选择器),而无需调用工具。

资源 URI描述
asdste100://rules/toc规则集的目录大纲:不同的(章节、类别)组合及其包含的 ID。对应于未设置 section 筛选条件的 rules_toc 工具。
asdste100://rules/rule/{id_}按确切 ID(不区分大小写)返回一条规则/建议/信息项,例如 asdste100://rules/rule/R1.1。对应于 rules_find 工具;未知 ID 会解析为空列表,而不是报错。
asdste100://versionMCP 服务本身及其三个数据后端库的已安装版本号: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。

注意:以下示例使用 bunx 而不是 npx 启动 MCP Inspector;npx 尚未经过测试。

stdio(Claude Desktop、OpenCode 和其他 MCP 宿主)
asdste100-mcp

通过 stdio 对 MCP 服务运行 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 连接到该服务——这是两条独立的命令,需在两个单独的终端中运行:

# 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
配置可信发布

该工作流使用 OIDC 可信发布——无需 API 令牌或密钥。

GitHub:创建环境

前往仓库 → Settings → Environments,并创建两个环境:

环境推荐的保护措施
testpypi无需配置
pypi添加必需的审核者,以防意外发布到生产环境
TestPyPI

登录 test.pypi.org → Your account → Publishing → Add a new pending publisher:

字段值
PyPI 项目名称biz-dfch-asdste100mcp
所有者dfch
仓库biz.dfch.AsdSte100Mcp
工作流名称publish.yml
环境testpypi
PyPI

登录 pypi.org → Your account → Publishing → Add a new pending publisher:

字段值
PyPI 项目名称biz-dfch-asdste100mcp
所有者dfch
仓库biz.dfch.AsdSte100Mcp
工作流名称publish.yml
环境pypi
发布到 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。