Skip to main content
Glama
Monyeah777

NinFenz Content Gate

NinFenz · 文档生成工坊(规范驱动)

门禁 ci-verify Glama MCP server Glama quality score

站点(线上):https://ninfenz.dev · 机器入口 llms.txt

NF 终端(TUI)演示 —— 全屏人机入口(纯标准库);菜单与动作是 nf CLI 真命令的受控调用方。 键位按顶尖终端约定:Tab 切面板、↑↓ 在当前面板内移动、/ 过滤、? 看键位。

NF 终端 TUI 演示(框线不依赖读者字体)

┌ NF TUI v1.0.0 · NinFenz 内容契约层 ──────────────────────────────────────────────────────────┐
│仓库 NinFenz · 能力区 9                                           焦点 动作 · 就绪(0 项待办)│
├────────────────────────┬─────────────────────────────────────────────────────────────────────┤
│  能力区 1/9            │▍ 动作 · 环境自检(2)                                               │
│▸ 0 环境自检(2)       │❯ 只读体检   nf doctor                                               │
│  1 一键演示世界(1)   │  体检(机器面)                                                     │
│  2 需求 → 装配计划(2)│                                                                     │
│  3 全链生产(2)       ├─────────────────────────────────────────────────────────────────────┤
│  4 校验与体检(4)     │  输出 · 1-3/3 · 已跟随                                              │
│  5 货架与资产(4)     │❯ nf doctor   (退出码 0 · 0.42s)                                   │
│  6 管线与模块(4)     │环境自检:Python 3.11 · 仓库在场 · 模块 13 · 管线 3                  │
│  7 帮助与命令面(2)   │✔ 只读体检通过:无缺件 / 无越界 / 无非确定性输出                     │
│  8 写盘表单(13)      │                                                                     │
│                        │                                                                     │
│                        │                                                                     │
│                        │                                                                     │
│                        │                                                                     │
│                        │                                                                     │
│                        │                                                                     │
│                        │                                                                     │
│                        │                                                                     │
│                        │                                                                     │
│                        │                                                                     │
├────────────────────────┴─────────────────────────────────────────────────────────────────────┤
│ Tab 切面板 · ↑↓ 移动 · / 过滤 · Enter 运行 · ? 帮助 · q 退出                                 │
└──────────────────────────────────────────────────────────────────────────────────────────────┘

python tui/nf.py 进全屏界面;--selftest 跑安全自检,--demo 打印上面这帧,--exec "nf doctor" 是脚本面 (无 TTY 亦可:--list-actions --json 给 agent 列动作与退出码)。命令在后台线程跑,运行中 Ctrl-C 只取消该命令; 路径参数过仓库包含性判据、写盘需键入 yes 确认、密钥只从环境变量读并遮蔽显示。细节见 tui/README.md。

MIT License · 原创开源 · 衍生/引用请注明来源

NF 是内容契约层——定义“AI 稳定产出长内容”的协议、质量与资产标准;协议本身域中立、模型无关。

别名与检索词:NF · NinFenz · 宁封子 · 内容契约层(content contract layer)· 规范驱动的内容工厂 · 长内容生成协议 · 装配式内容生产 · 模块/管线/资产 · 质量门禁 · 域包 · MCP 接入。

不是什么:不是模型、不是提示词模板集、不是某厂商 SDK——协议本体域中立、模型无关;MCP 只是可对接的连接协议之一。

bash verify.sh(当前基线见下方生成区「质量凭证」行) · python scripts/nf.py --version

⚡ 如果你是 AI / Agent

  • 这是什么:规范驱动的文档工厂,装模块/管线/资产 → 校验 → 输出。

  • 入口链:docs/agent/AGENT_START.md(开工)→ docs/agent/AI_ROUTING.md(选线)→ docs/meta/DEEP_DIVE.md(懂得深)。

  • 机器凭证:bash verify.sh(当前基线见下方生成区的「质量凭证」行,由 nf stats --write 写入);机器入口清单见 llms.txt;语言面见 README.en.md · README.ja.md(三面的机读事实与语言切换行由 check34 的语言面扫描断言一致;注册表 = protocol/locales.json)。

  • 要懂 NF 为什么这样设计:读 docs/meta/DEEP_DIVE.md。

Related MCP server: agentfolio-mcp-server

快速开始

作者/开发者,5 分钟:

  1. bash verify.sh

  2. python scripts/nf.py shell(交互终端:端壳退役后的人机入口,见 docs/terminal.md)

  3. python scripts/nf.py demo

  4. python scripts/nf.py --help

  5. python scripts/nf.py doctor

  6. python scripts/nf.py completion bash

AI 装配:

  1. 读 docs/agent/AGENT_START.md

  2. 读 docs/agent/agent_组装指令包_v0.2.md

  3. 按需取 01/02/06/07 与 community 包

  4. 组装完整版并过 ##7 自检

  5. nf assemble "<需求>" --build --dest <目录>(组装式命令:直接产「完整版」单文件)

  6. nf assemble "<需求>" --check <out.md>

常见问题(FAQ)

  • NF 是什么? 内容契约层:把「AI 稳定产出长内容」定义成协议 + 质量门 + 资产标准,使产出可装载、可质检、可复现。

  • NF 是 MCP 服务器吗? 不是必须。协议与资产都是纯文本,克隆或直链即可装载;nf serve 才额外提供 MCP 接入面。

  • 支持哪些模型? 模型无关:任何能读文本的 AI 都能按协议装配与装载,不绑定某家模型或某个连接协议。

  • 必须联网吗? 不必。仓库本身就是 markdown 源件;bash verify.sh 只读本地,可离线跑。

  • 产出怎么判合格? 判据只来自内部链:verify 门禁(静态可核)+ 五维纵深自评 + 真实战例;外部评价不作为质量背书。

  • 怎么引用? MIT 许可;引用请注明来源,机读元数据见仓库根引用文件(CITATION.cff)。

  • 出口与合规? 密码学只走标准库 + 外部 ssh-keygen(不自制算法);出口管制读法见 docs/EXPORT.md。

能力与资产

官方核心:13 模块 · 3 管线(P00 / P01 / P90) · 核心协议件 01–07 社区规模:111 登记包 · 363 资产档 · 101 概念图 · 100 域包/1200 细分 · 标准目录 370 条(可达 332 / 不可达 38 · 机构 194 · 206 条依赖边) · 标准绑定 1200 条 质量凭证:verify v2.30 · check1-42 · PASS=76(bash verify.sh 单入口;期望基线取自 quality_baseline.EXPECTED_*) · 馆藏 3 件

分层:data 148 · eng 38 · form 29 · gov 71 · iface 84 (按标准目录 layer)

本区由 python scripts/nf.py stats --write 生成,禁止手改;口径与实算真源见 protocol/repo_stats.json。

协议链与文档导航

层

入口

方向

STRATEGY.md

协议

01_核心协议.md · 02_联动注册表.md · 06_Agent执行协议.md · 07_官方核心出厂与社区预设导航.md · protocol/WORLD_MODEL.md

库

03_管线库/ · 04_模块库/ · 05_资产库/

社区

community/README.md · community/模板制作指令包.md

AI

docs/agent/AGENT_START.md · docs/agent/AI_ROUTING.md · docs/meta/DEEP_DIVE.md

工具

docs/mcp.md · docs/terminal.md · docs/layers.md · docs/release.md · scripts/nf.py · tui/nf.py · verify.sh

接入面

integrations/README.md(MCP / LSP / CLI / TUI / 图书馆 / Skill / npm / Rust / .NET / A2A)

馆

library/INDEX.md · docs/agent/ROUTES.md

版本块

版本

状态

v2.12.0

当前(2026-10-05)· 知识层 + 终端线 + 顶尖对标补齐 + 数字资产契约层

v2.11.0

已发布 2026-09-10 · world_model 确定性抽象状态契约 + world_slots

v2.10.0

已发布 2026-09-09 · 45 质量纵深 + 基础层 A 组收口

v2.9.0

已发布 2026-09-08 · STRATEGY + 43/44 随波

v2.8.0

已发布 2026-09-08 · 41/42 波 C 质量收口

详细版本演进见 CHANGELOG.md 与 docs/meta/VERSION-MATRIX.md。

Available Tools

12 tools
asset_listList asset keysA
Read-onlyIdempotent

List asset files and the uppercase keys they declare, from community/*/assets and 05_资产库/用户自定义. Use it to discover a key before asset_read; do not use it to fetch asset text (asset_read) or to list modules/patterns (module_read / pattern_list). Optional package is an exact directory name, not a glob, path, or regex, and restricts the scan to community//assets (for example 校园情感领域包); README.md files are skipped. A package with no matching files returns an empty list, not an error.

Keys are sorted and uncapped; each call rescans the local asset files.

ParametersJSON Schema
NameRequiredDescriptionDefault
packageNoOptional community package name; omit to scan all community assets and 05_资产库.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYesAsset files and their declared keys.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, and the description still adds real behavior: README.md files are skipped, a package with no matches returns an empty list rather than an error, keys are sorted and uncapped, and every call rescans local files (i.e., no cached/stale view). These are non-obvious traits an agent cannot infer from the schema or hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and scan scope are front-loaded, followed by routing guidance, then parameter constraints and edge-case behavior. Every sentence carries distinct information; nothing is restated from the name, title, or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and annotations already carry the safety profile. The description still covers scan scope, parameter form, skip rules, empty-result behavior, ordering, and refresh semantics, leaving no gap an agent would need to guess at.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description goes further by ruling out misuse ('exact directory name, not a glob, path, or regex'), stating the resulting scope (community/<package>/assets), and giving a concrete example value (校园情感领域包). It stops short of describing the multi-package precedence between community and 05_资产库 when omitted, but adds clear value over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('List asset files and the uppercase keys they declare') plus the exact scan roots (community/*/assets and 05_资产库/用户自定义), which no sibling shares. It even names the sibling reads it is not (asset_read, module_read, pattern_list), so the agent can distinguish it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use ('discover a key before asset_read') and explicit when-not-to-use with named alternatives ('do not use it to fetch asset text (asset_read) or to list modules/patterns (module_read / pattern_list)'). This is a complete routing rule, not an implication.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

asset_readFetch asset contentA
Read-onlyIdempotent

Read asset files for a key, returning package, path, and text.

Use only a key from asset_list; for enumeration use asset_list, for other resources module_read or pipeline_read.

The key is exact uppercase, never glob, regex, package, path, or prose. The package is an exact directory; it narrows files but never key matching.

Tokens come from each file's name or first 6000 characters; lowercase/partial keys fail. Full text is returned; no truncation.

Without a package, all community assets and 05_资产库 are searched. A package limits the scan to one directory with no fallback. Multiple matches may be returned. No match is an error.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesExact, case-sensitive asset key (for example EMOTION_WHEEL, JOB, or TECH_RULES).
packageNoOptional community package name; omit to search all community assets and 05_资产库.

Output Schema

ParametersJSON Schema
NameRequiredDescription
keyYesRequested asset key.
matchesYesMatching files, one entry per declaring asset.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: it discloses the default search scope (all community assets plus 05_资产库), that a package limits the scan to one directory with no fallback, that multiple matches may be returned, that no match is an error, and that full untruncated text is returned. Annotations only cover safety; the description carries the substantive behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then constraints, then scope — good ordering with no filler sentences. The telegraphic style ('Tokens come from each file's name or first 6000 characters') is dense enough that a first-time reader may need a re-read, costing some clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and the description covers everything else an agent needs: valid input form, failure conditions, search scope, and multiplicity of results. Nothing material is missing for a two-parameter read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 100%, the description adds real semantics the schema lacks: keys are exact uppercase and never glob/regex/package/path/prose, lowercase or partial keys fail, and package narrows files but never key matching. It also explains that omitting package searches all community assets and 05_资产库.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — 'Read asset files for a key' — and even names the return shape (package, path, text). It explicitly distinguishes itself from asset_list, module_read, and pipeline_read, so an agent can route without opening sibling schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use ('Use only a key from asset_list') and when-to-use-something-else ('for enumeration use asset_list, for other resources module_read or pipeline_read'). The alternative routing is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

knowledge_order_readResolve knowledge orderA
Read-onlyIdempotent

Return the declared knowledge-source query order and a contract-first flag.

Use it before assembling or citing NF content; do not use it to search documents (use library_search instead) or read module/asset bodies (module_read / asset_read).

Optional clearance is a visibility ceiling: public keeps public sources, internal keeps public and internal, restricted keeps all. Use public before republishing material, or omit it to keep all. Filtered sources are omitted without reordering the rest, and count is post-filter. Reads only the declaration, never source bodies.

ParametersJSON Schema
NameRequiredDescriptionDefault
clearanceNoConsumer clearance; hides sources above this visibility. Omit to keep every source.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYesNumber of sources in query_order.
clearanceYesApplied clearance, or '不裁剪' when omitted.
query_orderYesSources in required consultation order.
contract_firstYesTrue when the first source in the declared order is contract-level.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. Beyond that, the description adds non-obvious behavior: filtered sources are omitted without reordering the remainder, count is post-filter, and it 'reads only the declaration, never source bodies' — meaningful operational context not derivable from annotations or schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the return contract, then usage, then parameter semantics, then a closing read-scope caveat. Three sentences with no filler; every clause either routes the agent, defines the parameter, or discloses filtering behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-shape explanation is not required, and the description correctly focuses on when to call, when not to, and how clearance filtering behaves. For a zero-required-parameter read tool with an output schema, nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the enum values are already documented, so the baseline is 3. The description goes further by explaining the ceiling semantics concretely — 'public keeps public sources, internal keeps public and internal, restricted keeps all' — and clarifying the omit behavior, which adds interpretive value beyond the enum list.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource pair ('Return the declared knowledge-source query order and a contract-first flag'), naming exactly what is produced. It then explicitly distinguishes itself from siblings by naming library_search, module_read, and asset_read as the tools for the jobs this one does not do.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the trigger ('Use it before assembling or citing NF content') and two explicit exclusions with the correct alternatives ('do not use it to search documents (use library_search instead)', 'read module/asset bodies (module_read / asset_read)'). It also advises 'use public before republishing material', a concrete usage condition for the single parameter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

library_readRead library entryA
Read-onlyIdempotent

Read one library catalog entry by ID, returning its frontmatter record and body. Use it after library_search resolves the ID; do not use it to search (library_search) or to read modules, pipelines, or assets (module_read / pipeline_read / asset_read). The ID is the canonical stem without the .md suffix and matching is case-insensitive (for example NF-1); an unknown ID returns an error carrying the requested value and repair guidance. Reads one local file and returns its full text without truncation. Local-only; no auth or rate limits.

ParametersJSON Schema
NameRequiredDescriptionDefault
entry_idYesCatalog ID, case-insensitive (for example NF-1 or nf-worldcampus-monyeah777-1).

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesCanonical catalog ID.
pathYesRepository-relative Markdown path.
textYesFull Markdown body as stored on disk.
bytesYesUTF-8 byte length of text.
foundYesTrue when the entry was located.
statusYesCatalog lifecycle status (for example active).
frontmatterYesParsed YAML frontmatter as JSON; keys vary by entry.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false. The description adds valuable behavioral details beyond those annotations: unknown IDs return an error with the requested value and repair guidance, reads are local-only, the full text is returned without truncation, and there are no auth requirements or rate limits. This is rich transparency for a read-only tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, then immediately covers routing, ID format, error behavior, read characteristics, and environment constraints. Every sentence carries useful information, with no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, the 100% schema description coverage, and the presence of an output schema, the description is fully complete. It covers purpose, sibling differentiation, ID format, error handling, return behavior, and local-only constraints, leaving no critical gap for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the single parameter's case-insensitivity and example are already documented. The description adds additional format semantics not present in the schema: the ID is 'the canonical stem without the .md suffix' and matching is case-insensitive. This meaningfully extends parameter understanding beyond the structured field.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Read one library catalog entry by ID, returning its frontmatter record and body.' It also explicitly distinguishes this tool from siblings, naming library_search, module_read, pipeline_read, and asset_read as alternatives. An agent can select this tool without opening another schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is explicit: 'Use it after library_search resolves the ID; do not use it to search ... or to read modules, pipelines, or assets.' This provides both when-to-use and when-not-to-use guidance, along with named alternatives. Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

module_readFetch module documentA
Read-onlyIdempotent

Read one NF module's full Markdown by ID, including its raw machine-contract block when present.

Use it after registry_search resolves a module, or enumerate module IDs with registry_search and an empty query; do not use it for pipelines or assets (pipeline_read / asset_read).

The ID is the declared machine-contract or heading ID (M90), or a qualified ID (通用:M10, as returned by registry_search), not the filename; matching is case-sensitive. An unknown ID returns an error with the requested value and repair guidance. Returns the full file plus resolved metadata from one local file and does not evaluate the contract. Local-only; no auth, network, rate limits, or writes.

ParametersJSON Schema
NameRequiredDescriptionDefault
module_idYesExact ID (M90) or qualified ID (通用:M10); matching is case-sensitive.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesMachine-contract or heading ID of the module.
pathYesRepository-relative Markdown path.
textYesFull module Markdown as stored on disk.
bytesYesUTF-8 byte length of text.
foundYesTrue when the module was located.
has_machine_contractYesTrue when a machine_contract block was parsed from the file.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent/closed-world annotations, it discloses the error behavior for unknown IDs (returns the requested value plus repair guidance), that metadata is resolved from a single local file, that the contract is not evaluated, and that there is no auth, network, rate limit, or write side effect. This is substantive behavior an agent cannot get from annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then usage, then ID semantics, then behavior; every sentence carries information. Minor overlap between the trailing 'no auth, network, rate limits, or writes' and the existing annotations, but not wasteful enough to penalize more.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be enumerated, and the description still clarifies what comes back (full file plus resolved metadata) and what is deliberately not done (contract evaluation). For a single-required-param read tool, nothing an agent needs is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so baseline is 3, but the description adds real meaning: the ID is a declared machine-contract/heading ID (M90) or a qualified ID (通用:M10) as returned by registry_search, explicitly not the filename, and matching is case-sensitive. It complements rather than repeats the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb (read), a specific resource (one NF module's full Markdown by ID), and the extra artifact returned (raw machine-contract block). It also explicitly distinguishes itself from pipeline_read and asset_read, so an agent can separate it from siblings without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives the positive trigger (after registry_search resolves a module, or enumerate IDs via registry_search with an empty query) and the negative trigger (not for pipelines or assets, with the correct alternatives named). Both when-to-use and when-not-to-use are explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pattern_listList patternsA
Read-onlyIdempotent

List engineering patterns as id/path/title/status metadata from patterns/*/PATTERN.md, sorted by ID. Use it to discover a pattern ID before pattern_read; do not use it to fetch pattern text (use pattern_read instead) or to list modules/assets (module_read / asset_list). Returns metadata only, never the PATTERN.md body, with no pagination; no matches yields an empty list, and each call rescans the local patterns directory.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYesPatterns sorted by ID.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, and the description adds genuinely new behavioral facts: metadata-only returns, no pagination, empty list on no match, and a fresh rescan of the local patterns directory on every call. The last point is a real cost/consistency signal not derivable from the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core purpose and return shape, then routes to alternatives, then the operational caveats. Dense but each clause carries distinct information; slightly long for a zero-parameter list tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, yet the description still summarizes the return shape and edge cases (empty list, no pagination, metadata only). Combined with the strong routing guidance, an agent has everything needed to call and interpret it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4; the description correctly implies no filtering or paging inputs, but with an empty schema there is nothing further to add.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List engineering patterns as id/path/title/status metadata from patterns/*/PATTERN.md, sorted by ID') and explicitly contrasts itself with pattern_read, module_read, and asset_list, so an agent can distinguish it from every sibling without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives both the positive case ('Use it to discover a pattern ID before pattern_read') and the negative case ('do not use it to fetch pattern text ... or to list modules/assets'), naming the correct alternatives for each. Nothing about when to select this tool is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pattern_readRead engineering patternA
Read-onlyIdempotent

Read one engineering pattern's full Markdown from patterns//PATTERN.md, including frontmatter, rules, and a counterexample. Use it for the practice behind an NF rule; do not use it to enumerate patterns (pattern_list) or read domain modules (module_read). pattern_id is the exact, case-sensitive directory name such as fail-closed-verification, not the document title. A missing pattern is an error, not an empty result; reads one local file and returns its full text without truncation. Local-only; no auth or rate limits.

ParametersJSON Schema
NameRequiredDescriptionDefault
pattern_idYesExact pattern directory name (for example fail-closed-verification or single-source-truth).

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesPattern directory name.
pathYesRepository-relative Markdown path.
textYesFull PATTERN.md body as stored on disk.
bytesYesUTF-8 byte length of text.
foundYesTrue when the pattern was located.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent/closed-world annotations, it discloses error semantics ('a missing pattern is an error, not an empty result'), output fidelity ('full text without truncation'), and operational context ('Local-only; no auth or rate limits'). These are non-obvious traits the agent needs and are not in the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose then routes alternatives, parameters, and error behavior. Dense but every clause carries information; slightly packed into long sentences rather than cleanly separated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return format needn't be restated, and the description still notes full untruncated text. For a single-file read tool, an agent has everything needed to call it correctly and interpret errors.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds real meaning: pattern_id is case-sensitive and is the directory name, not the document title (e.g. fail-closed-verification). That disambiguation goes beyond the schema's own wording.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Read one engineering pattern's full Markdown') plus the exact location (patterns/<id>/PATTERN.md) and contents (frontmatter, rules, counterexample). It also names the sibling tools it is not, so an agent can distinguish it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit use case ('for the practice behind an NF rule') and explicit exclusions with named alternatives: pattern_list for enumeration and module_read for domain modules. Nothing is left to inference about when to pick this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pipeline_listList pipelinesA
Read-onlyIdempotent

List NF pipelines as path/title metadata from 03_管线库 and community/*/pipelines. Use it to discover a pipeline ID before pipeline_read; do not use it to fetch pipeline text (use pipeline_read instead), module metadata (registry_search), or protocol packages (spec_list). The optional query is a case-sensitive substring of the repository-relative path or H1 title, not file content; wildcard characters are literal. Omit it to list every pipeline (examples: P04, 技术文档, 校园). Returns metadata only, never pipeline bodies, sorted by repository path; no matches yields an empty list, and each call rescans the repository. Local-only; no auth or rate limits.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoCase-sensitive substring matched against the relative path and H1 title; omit to list every pipeline.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYesPipelines matching query, sorted by repository path.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only/idempotent/non-destructive, but the description adds substantive context beyond them: each call rescans the repository, results are sorted by repository path, no matches yields an empty list, and it is local-only with no auth or rate limits. It also reiterates that bodies are never returned, which is the key behavioral boundary.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The lead sentence front-loads scope, the second routes usage, and the remainder packs only actionable detail with zero filler. Dense but every clause carries information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one optional parameter, full schema coverage, an output schema, and annotations, the description closes the remaining gaps (rescan cost, sort order, empty-result behavior, no auth). Nothing needed to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline would be 3; the description earns extra by clarifying that the query matches the repository-relative path or H1 title and not file content, that wildcard characters are literal, and by giving concrete example values (P04, 技术文档, 校园). It stops short of 5 only because the core matching rule is already in the schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (list NF pipelines), names the exact locations scanned (03_管线库 and community/*/pipelines), and clarifies it returns metadata only. An agent can distinguish it from pipeline_read, registry_search, and spec_list without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly prescribes when to use it (discover a pipeline ID before pipeline_read) and enumerates three do-not-use cases with the correct alternative named for each. No inference required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pipeline_readFetch pipeline documentA
Read-onlyIdempotent

Read one NF pipeline's full Markdown by P-number or repository-relative path. Use it after pipeline_list identifies a pipeline; do not use it to list pipelines (use pipeline_list instead) or read modules/assets (module_read / asset_read). pipeline is either a Pxx stem (P01, matched against the filename prefix) or a .md path under 03_管线库/ or a community pipelines/ directory; paths outside those roots and .. escapes are rejected. A missing pipeline is an error, not an empty result; reads one local file and returns its full text without truncation. Local-only; no auth or rate limits.

ParametersJSON Schema
NameRequiredDescriptionDefault
pipelineYesPxx stem (P01) or repository-relative .md path under 03_管线库/ or community/*/pipelines/.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pathYesRepository-relative Markdown path.
textYesFull pipeline Markdown as stored on disk.
bytesYesUTF-8 byte length of text.
foundYesTrue when the pipeline was located.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly/idempotent/non-destructive/closed-world, and the description adds context beyond them: local-only with no auth or rate limits, a missing pipeline is an error rather than an empty result, no truncation, and path-validation rules rejecting roots outside 03_管线库/ and community/*/pipelines/ and '..' escapes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then constraints and error semantics in tight order; content is dense but every sentence carries a distinct fact. Slightly longer than minimal, but no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with an output schema, everything an agent needs is present: usage routing, accepted identifier forms, path restrictions, and error behavior. Return format is correctly left to the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already documents the single 'pipeline' parameter, but the prose adds real meaning beyond it: the Pxx stem is matched against the filename prefix, and the accepted path roots and the '..' escape rejection clarify the accepted syntax.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: 'Read one NF pipeline's full Markdown by P-number or repository-relative path.' It explicitly distinguishes itself from pipeline_list, module_read and asset_read in the same breath, so an agent can select it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use ('after pipeline_list identifies a pipeline') and when-not-to-use with named alternatives for both the listing case (pipeline_list) and the module/asset case (module_read / asset_read). Routing guidance is complete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spec_listList protocol packagesA
Read-onlyIdempotent

List protocol packages from desktop/src/core/registry.json with each package's id, version, module count, and categories. Use it for the authoritative protocol package catalog; do not use it to search modules (registry_search) or pipelines (pipeline_list), and do not treat protocol hits from registry_search as a substitute for this list. Takes no arguments; an empty list means the registry declares no protocols. Reads one local file deterministically; a missing or malformed registry is an error. Packages appear in registry order.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYesRegistered protocol packages in registry order.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), yet the description still adds genuine behavioral context: reads one local file deterministically, missing/malformed registry is an error, empty list means no protocols, and results follow registry order. That is meaningful disclosure beyond structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and scope are front-loaded in the first sentence, and most sentences earn their place. The closing warning about registry_search protocol hits restates the earlier exclusion and costs some density, keeping it just short of ideal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, but the description still covers the edge cases an agent needs: no-arg invocation, empty-result meaning, error on missing/malformed registry, and deterministic ordering. Complete for a zero-param read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so the baseline is 4; the description confirms 'Takes no arguments', consistent with the empty schema. Nothing further is needed since there is no parameter surface to clarify.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource ('List protocol packages') and even names the source of truth (desktop/src/core/registry.json) plus the exact fields returned (id, version, module count, categories). It explicitly contrasts itself with registry_search and pipeline_list, so an agent can distinguish it from all listed siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use ('authoritative protocol package catalog') and when-not-to-use, naming both alternatives (registry_search for modules, pipeline_list for pipelines). It even preempts a likely mistake by warning that protocol hits from registry_search are not a substitute.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 12 tool updatesv2.11.3
    • Addedasset_list
    • Removedasset_ls
    • Removedknowledge_order
    • Addedknowledge_order_read
    • Addedpattern_list
    • Removedpattern_ls
    • Addedpipeline_list
    • Removedpipeline_ls
    • Removedregistry_query
    • Addedregistry_search
    • Addedspec_list
    • Removedspec_ls
  2. 1 tool updatev2.11.2
    • Changedasset_read2 fields changed
      • removedOutput schema / properties / found
        Removed value: -{
        -  "description": "True when at least one asset file matched.",
        -  "type": "boolean"
        -}
      • changedOutput schema / required
        Previous value: -[
        -  "found",
        -  "key",
        -  "matches"
        -]New value: +[
        +  "key",
        +  "matches"
        +]
  3. 4 tool updates
    • Removedasset_get
    • Addedasset_ls
    • Addedasset_read
    • Addedpattern_ls
  4. 10 tool updatesv1.0.1
    • First observedasset_get
    • First observedknowledge_order
    • First observedlibrary_read
    • First observedlibrary_search
    • First observedmodule_read
    • First observedpattern_read
    • First observedpipeline_ls
    • First observedpipeline_read
    • First observedregistry_query
    • First observedspec_ls

TDQS

A4.9/5.0

Scored across 12 tools

Disambiguation5/5

Each tool targets a distinct resource type and action (list/read/search), and descriptions explicitly state what each tool should not be used for, preventing misselection. The only minor overlap is between registry_search and spec_list for protocols, but the descriptions clearly delineate authoritative catalog vs search.

Naming Consistency5/5

All 12 tools follow a consistent snake_case noun_verb pattern (e.g., pattern_read, pipeline_list, asset_read), with no mixing of conventions. The outlier knowledge_order_read still follows the same pattern.

Tool Count5/5

12 tools is well-scoped for a content access server covering multiple resource types (patterns, pipelines, assets, modules, library, registry, specs). Each tool earns its place as a list/read/search operation for a distinct resource.

Completeness4/5

The read-only surface covers list/read for patterns, pipelines, assets, modules (via registry_search empty query), library entries, and knowledge order. Minor gaps exist: no spec_read for protocol package bodies, and library_search can surface document titles without a corresponding generic document read tool.

Maintenance

ActivityActive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Provides complete access to Model Context Protocol documentation through an MCP server, allowing LLMs to query specific sections like 'Tools', 'Resources', and 'Authorization' to retrieve comprehensive protocol specifications.
    1
    9 npm
    9
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    这是一个面向中文圈的MCP服务器,将中国互联网常用能力(如地图、快递、RSS、B站等)封装为标准MCP工具,方便AI Agent安全调用。
    13
    2
    MIT