Fabric Spec Mcp

io.github.mrfentmen由 GitHub 账号 mrfentmen 发布v1.0.0更新于 Nov 13, 2026

Fabric MCP: parse fabric specs, validate composition, weight, width and shrinkage.

发布方自己的服务:Fabric

概览

AI 生成的概览

本地 MCP 服务器,让助手查找、解析、校验、搜索、比对并写入 Fabric Spec(.csv)文档。

可以做什么
  • 在目录树中查找、读取和写入 Fabric Spec .csv 文件,写入默认不覆盖已有文件
  • 将文档解析为记录、字段和元数据,并把全部记录导出为 JSON
  • 按结构规则校验并给出行号级问题,汇总元数据与各类别数量
  • 列出记录 id 与类别,按 id 取单条记录,按纯文本或正则搜索记录
  • 统计各字段的数值指标,并比对两份文档的新增、删除和变更记录
  • 返回精简的格式参考和一份合法的小样例文档
适用场景
适合在本地项目中维护 Fabric Spec 文档时使用:让助手检查结构错误、查询或搜索记录、比较不同版本,或起草新的规范文件而不必手工编辑 CSV。
运行要求
以本地 stdio 进程运行,从 npm 包 @mrfentmen/fabric-spec-mcp 安装;需要 Node.js,并能访问存放规范文件的目录。未声明任何认证、环境变量或请求头。
安装前请注意
写入工具会在磁盘上创建文件,当 overwrite 设为 true 时会覆盖已有文件,请确认目标目录并检查写入结果。文件内容会被助手读取,避免让含密钥的规范文件暴露给助手。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Fabric Spec Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

awesome-servers

One repo for three families of servers, each subtree keeping its own layout and tooling so it can still be built, run and published on its own.

SubtreeWhat it holdsRun one
mcp/338 TypeScript MCP servers, plus 1107 published packages in published/cd mcp/servers/<slug> && npm install && npm run build
acp/79 Python ACP agentspython3 acp/agents/<name>/agent.py
a2a/37 Python A2A servers plus the shared a2a_kitpython3 a2a/servers/<name>/server.py
watchd/a threshold watcher that runs the feeds between editor sessionspython3 watchd/watchd.py --config conditions.json --loop
site/the published site: registry with search, the public-feed atlas, watchd planshttps://mrfentmen.github.io/awesome-servers/

Most servers read public data with no key of their own; the ones wrapping a vendor API take that vendor's key. Nothing in this repo asks a caller to pay. On 2026-10-17 the licence machinery was removed for good: the per-tool src/license.ts gates are gone from the MCP servers, and the A2A and ACP trees no longer carry the hosted licence-gateway half — the skills that used it now answer with an explicit not-implemented stub. Nothing here asks a caller to pay, and nothing they run is refused with a buy link.

Nothing here is generated: each subtree's README says what its servers read, and every server has its own unit tests (mcp/servers/<slug>/tests, acp/agents/<name>/tests, a2a/servers/<name>/tests) plus a live smoke check (tools/smoke*.py, a2a/tools/smoke_all.py).

Novel and original

Nearly all of this is first-of-its-kind work, not a port of an existing catalogue. Before each server or agent was built, it was checked against the official tool lists (the MCP registries, agentclientprotocol.com's agent list and registry) and a live GitHub search for the same domain, and the research logs record what was found and why it still counted as missing — see mcp/MISSING.md, acp/MISSING.md and a2a/docs/. Highlights:

  • The MCP side holds TypeScript servers, one npm package each, and 1039 published packages under published/; mcp/MISSING.md documents the check that preceded every build: what was searched, what was skipped and why the domain still counted as uncovered.
  • On the ACP side there were zero domain agents before this repo — every agent on the official list was a coding agent. These 79 Python agents are the first non-coding ACP agents, and several use protocol surfaces no other agent uses in production (session/request_permission for dataset reads, fs/write_text_file for a briefing file, session/cancel for a conditional watch, image content blocks, a live SSE push feed), each proved-unused in the wild by search at build time. Two more firsts carry their own proof: the orchestrator is an agent whose feeds are agents — it spawns sibling repo agents as real ACP child processes and merges their answers — and the nyc pack is the first multi-agency city surface.
  • acp/MISSING.md doubles as the public-feed atlas: every keyless feed probed live, with its date, what it answered and whether it still works. The published site renders that table at https://mrfentmen.github.io/awesome-servers/atlas.html.
  • The pattern across all three subtrees is the same thesis: wrap one real, keyless public dataset, answer honestly about what the feed did and did not say, and keep the whole thing small, tested and self-contained.

Publishing

  • MCP servers publish from mcp/servers/<slug> (its own package.json, version and README).
  • ACP and A2A servers are repo-run today (Python, no packaging step).

Built on top of it

Creatures that use this corpus as their world live in the sibling repo mrfentmen/superagents (public, with its own claim-check in MISSING.md):

  • polymath — routes your question to the most fitting agents of this repo, spawns each as a real ACP child process, and merges the answers into one brief with per-row citations; a sibling that fails appears as a named row, never silence. Its registry is a data file and its ranking is deterministic word-scoring, not a model opinion.
  • sentry — one plain sentence ("watch air quality in Denver over 150") becomes a tracked watch: a permission-asked protocol write produces the conditions file this repo's watchd/ obeys unchanged, plus the activation lines. Checks it can author today: air thresholds, quake magnitudes within a radius, river gauges at flood stage.
  • fedora hat guy — the persona agent in his own repo mrfentmen/fedora-hat: says "never miss" and means it — one sentence installs the full crown of watches (air + quakes, gauge-named flood) in one permissioned write, and your other questions are forwarded to the siblings above with every row cited.
  • instink — the instinct agent in his own repo mrfentmen/instink: compiles a skill into a reflex — a matcher plus the answer it fires, with hit/miss counters and honest promotion/demotion. The skill doc stays one step away, never deleted.
  • contextink — the context agent in his own repo mrfentmen/contextink: you say "do this" and it acquires the context from the repo, git, and recent files so you don't have to explain it; asks only the minimal high-information-gain questions when acquisition fails.
  • rewind — the replay agent in his own repo mrfentmen/rewind: replays agent runs and mutates one variable to see what would have happened. Replay + mutate + diff for agent traces.
  • scopink — the scope agent in his own repo mrfentmen/scopink: checks if an action is within the scope of what was asked. Detects scope creep in agent plans.
  • curious — the curiosity agent in his own repo mrfentmen/curious: proactively seeks information it doesn't have. Scans for knowledge gaps, seeks answers, learns facts.
  • bored — the idle agent in his own repo mrfentmen/bored: uses idle time productively. Consolidates memories, explores areas, prepares for tasks.

Point the polymath at a checkout of this repo with AWESOME_SERVERS_HOME=$PWD/awesome-servers and it federates across the two repos live.

Published snapshot (published/)

published/ holds one directory per npm package, byte-for-byte what the registry serves: 1039 packages, every version matching npm latest.

  • published/INDEX.md is generated from the tree by python3 scripts/index-published.py.
  • scripts/sync-published-snapshot.py re-downloads every package from npm; run it only when every local fix has been published, because it overwrites dist/ from the tarballs.
  • One package carries a licence gate (MCP_LICENSE_KEY): @mrfentmen/vg-resource-mcp. Another 495 still ship tools that answer Not yet implemented; published/INDEX.md lists every one of them.
  • Every package links to this repo (mrfentmen/awesome-servers) as its source.

servers/ holds the older per-server source that predates the snapshot. Where the two disagree, published/ is what users actually install.

来源:README.md,提交 4c6c31d

工具

14

detect_files

Find Fabric Spec files (.csv) in a directory tree.

输入参数pathmaxDepth

read_file

Read a Fabric Spec file, optionally a line range.

输入参数cwdpath必填endLinestartLine

write_file

Write a Fabric Spec file. Refuses to overwrite unless overwrite is true.

输入参数cwdpath必填content必填overwrite

parse

Parse Fabric Spec into records, fields and document metadata.

输入参数cwdpathcontent

validate

Validate Fabric Spec against its structural rules and report every issue with a line number.

输入参数cwdpathcontent

summarize

Summarize a Fabric Spec document: metadata, record counts and per-kind totals.

输入参数cwdpathcontent

list_records

List Fabric Spec record ids and kinds, with a limit.

输入参数cwdpathlimitcontent

get_record

Return one Fabric Spec record by id, with all parsed fields.

输入参数id必填cwdpathcontent

stats

Numeric statistics for Fabric Spec fields across all records.

输入参数cwdpathfieldcontent

to_json

Export every parsed Fabric Spec record as JSON.

输入参数cwdpathcontent

diff

Compare two Fabric Spec documents: added, removed and changed records.

输入参数cwdleftPathrightPathleftContentrightContent

format_reference

Return a compact Fabric Spec reference: structure, required fields and common pitfalls.

无需输入参数。

sample

Return a small but valid Fabric Spec example document.

无需输入参数。

版本历史

1
  1. v1.0.0最新Nov 13, 2026

评分

已满足适用检查项的 80%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。

其他 Fabric 集成