mcpField
S
S1000D Reader (S1000D Stack)

S1000D Reader (S1000D Stack)

本地服务
shuji-bonji.github.io生产力0今天更新

关于 S1000D Reader (S1000D Stack)

S1000D Reader 是将 S1000D 数据模块和出版物模块以结构化内容而非原始 XML 呈现的 MCP 服务。它保留文档元素、评估产品适用性并报告验证状态,供技术文档团队使用。

主要功能

  1. 01读取文档层级和结构化内容
  2. 02保留步骤、警告、表格和插图
  3. 03评估内容块对产品的适用性
  4. 04读取出版物目录并解析引用
  5. 05报告 Schema 和 BREX 验证状态

适用场景

  1. 01检查特定产品适用的操作步骤和警告
  2. 02浏览出版物目录及引用模块
  3. 03查看文档适用性和验证结果

MCP 相关

该 MCP 服务提供列出和读取数据模块及出版物模块、解析引用、检查适用性和读取 ICN 元数据的工具。响应包含适用性和验证信息。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"shuji-bonji-s1000d-reader": {
"command": "npx",
"args": [
"-y",
"@shuji-bonji/s1000d-reader-mcp"
]
}
}
}
启动命令npx -y @shuji-bonji/s1000d-reader-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@shuji-bonji/s1000d-reader-mcp0.7.1

工具

6

收录的工具列表 · 更新于 今天

参数类型必填说明
limitnumber否每次调用返回的对象数(默认 100,最大 1000)。
filterobject否
filter.textstring否在 techName 或 infoName 中查找的不区分大小写的文本。
filter.infoCodestring否例如 "040"(描述)、"520"(步骤)、"022"(BREX)、"00W"(ACT)
filter.schemaNamestring否descript / proced / process / fault / pm / brex / …
filter.systemCodestring否
filter.modelIdentCodestring否
offsetnumber否第一个对象的索引(默认 0)。
includearray否要列出的对象类型(默认:dm)。
csdbDirsarray否要搜索的其他 CSDB 文件夹(除 S1000D_CSDB_DIR 外),用于按 DMC 查找数据模块、被引用对象、ACT/CCT/PCT 和 BREX。

详细介绍

@shuji-bonji/s1000d-reader-mcp

英语 | 日语

一个 MCP 服务,让大模型能够以结构化形式而非 XML 读取 S1000D® 数据模块和出版物模块。它会完整返回标题层级、编号步骤、警告、注意事项和注释、插图(ICN)、表格以及引用目标的标题;服务还会评估内容适用于哪个产品(适用性),并仅传递评估结果。每个响应都会包含文档的验证进度(verification)。

重要

这是一个个人项目,与 ASD(欧洲航空航天、安全与国防工业协会)无关。S1000D® 是 ASD 的注册商标。 S1000D 规范、XML 架构、默认 BREX 和官方示例均未包含在任何软件包或代码仓库中,因为其使用条款不允许再分发。请从 s1000d.org 获取,并将 S1000D_SPEC_DIR 环境变量指向解压后的文件夹。

功能

工具说明
list_data_modules列出 CSDB 中的数据模块(并可按需列出 PM、DML、DDN、IMF 和 UPF),包括其 DMC、标题、版本、语言、架构名称和适用性显示文本。可按型号识别码、系统代码、信息代码、架构名称和标题文本筛选
read_data_module以结构化形式读取单个数据模块:标识和状态部分、正文树(章节、段落、列表、表格、插图、警告、编号步骤和要求、流程分支、故障隔离问答)、引用(含标题)以及验证状态。传入 product,即可标记每个块为 applicable / notApplicable / undetermined
read_publication_module以目录形式读取出版物模块:pmEntry 树以及每个 dmRef / pmRef 已解析的目标(文件、标题、版本)
resolve_reference将 DMC、PMC 或 ICN 解析为 CSDB 中的文件。对于 ICN,还会返回引用该 ICN 的 DM 的 DOCTYPE 声明(文件名和 NOTATION)
describe_applicability返回适用性词汇:ACT 中的产品属性(id、名称、枚举值、标识符)、CCT 中的条件、PCT 中的产品(可原样传给 product 的值)、DM 的 applic 语句(id 和显示文本),以及 PCT 未赋值的属性。不执行任何评估
read_icn_metadata读取 ICN 元数据文件(IMF):ICN、版本、标题、关键词、安全分类以及状态部分中各项的列表
了解适用性
状态含义
applicable适用于你传入的产品
notApplicable不适用。omitNotApplicable: true 会将其从正文中省略
undetermined无法评估。reason 会说明原因(产品缺少的属性名称、未提供 product、适用性存储库中缺少 applicIdentValue)。这并不表示“不适用”

服务不会返回 assert / evaluate 表达式。使用 describe_applicability 查找所需的属性和值,并按 { "attributes": { "model": "…" }, "conditions": { … } } 的形式传给 product。

验证状态(verification)

默认情况下,服务仅运行 XSD 验证(verify: "schema")。verify: "full" 还会根据 BREX(业务规则交换)链进行检查并解析引用;verify: "none" 则会跳过这些检查。跳过的步骤会标记为 not-run,缺少 XSD 时会标记为 schema-not-found;这两种状态都不是 valid。如果文档违反 XSD,元素的位置可能与规范不同,因此也应谨慎对待正文的读取结果。

不执行的操作

警告

  • 不会总结或翻译。 它的任务是返回总结所需的材料(标题、步骤编号、警告类型、引用目标),且不遗漏任何内容。
  • 不会判断是否符合 S1000D。 使用 s1000d-verify-mcp 查看 XSD 和 BREX 违规的详细信息,并使用 s1000d-brex-mcp 查看 BREX 规则说明。
  • 正文仅针对 5 种类型进行结构化:descript / proced / process / fault / pm。其他类型会返回 content.structured: false,且仅包含标识和状态部分。未知元素会保留为 kind: "unknown",仅包含其文本,并计入 content.unknownElements。

配置

环境变量说明
S1000D_SPEC_DIR解压所获取的 S1000D 发行包的文件夹。服务会在其中查找 XSD(xml_schema_flat/)和默认 BREX。不会使用数据字典中的 XSD 副本
S1000D_CSDB_DIR存放项目数据模块的文件夹。可以提供多个文件夹,以 : 分隔(Windows 上使用 ;)。系统会在此处查找按 DMC 读取的内容、引用目标、ACT、CCT 和 PCT,以及适用性存储库

也可以使用工具参数 csdbDirs 添加文件夹。

Claude Desktop / Claude Code 配置示例
{
  "mcpServers": {
    "s1000d-reader": {
      "command": "npx",
      "args": ["-y", "@shuji-bonji/s1000d-reader-mcp"],
      "env": {
        "S1000D_SPEC_DIR": "/path/to/s1000d/issue-7",
        "S1000D_CSDB_DIR": "/path/to/your/csdb"
      }
    }
  }
}

工作原理

所有读取、评估和验证代码都位于共享库 @shuji-bonji/s1000d-core 中;此服务仅负责解析参数并定义响应结构。验证状态使用与 s1000d-verify-mcp 相同的函数生成,因此两个服务的结果一致。

开发

npm install
npm test            # runs on self-made test data only
npm run test:spec   # uses the distribution you obtained (location given by S1000D_SPEC_DIR; default ../../specs/s1000d/issue-7)
npm run build && S1000D_SPEC_DIR=/path/to/issue-7 S1000D_CSDB_DIR=/path/to/csdb npm start   # start over stdio

许可证

MIT。S1000D® 是 ASD 的注册商标。本软件与 ASD 无关,也不包含规范、架构或官方示例。

评论

支持 Markdown

第一次接触 MCP?

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

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