mcpField
S
skillfed-mcp

skillfed-mcp

本地服务
github.com/skill-federationAI 与智能体188 周前更新

关于 skillfed-mcp

skillfed-mcp 通过注重隐私的能力搜索,帮助 AI Agent 查找经过审核的技能、PyPI 软件包和研究笔记。它只发送抽象能力需求,而非任务细节,并以阅读技能为主,安装为例外。

主要功能

  1. 01搜索经审核的技能目录
  2. 02按能力搜索 PyPI 软件包
  3. 03查找研究笔记
  4. 04发送抽象需求而非任务数据
  5. 05安装技能前须获批准

适用场景

  1. 01规划任务时查找当前实践指南
  2. 02比较多项技能后再参考其建议
  3. 03按能力描述核查 PyPI 软件包
  4. 04为 Agent 任务查找研究证据

MCP 相关

可选 MCP 层提供技能、PyPI 软件包和研究搜索的类型化工具。服务会将抽象能力需求与索引目录进行匹配。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"skill-federation-skillfed": {
"command": "npx",
"args": [
"-y",
"skillfed-mcp"
],
"env": {
"SKILLFED_ENDPOINT": "<SKILLFED_ENDPOINT>"
}
}
}
}
启动命令npx -y skillfed-mcp
需要配置的环境变量
SKILLFED_ENDPOINTHosted federation endpoint URL (defaults to the public demo Space if unset)

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

安装包
npmskillfed-mcp0.1.3

工具

4

收录的工具列表 · 更新于 2 周前

参数类型必填说明
wishlistarray是1–10 项愿望,每项描述任务所需的理想技能

详细介绍

Skill Federation

为 AI Agent 提供免费、私密的技能搜索

Installs Clones Stars SkillsBench

npm PyPI Platform Runtime

License Data sent Agent Skill

运行 /skillfed 为开源开发工具制定发布计划,会返回四个经过审核的技能匹配项——multi-platform-launch、github-presence、community-building、product-analytics——全部作为现场笔记在上下文中阅读,只安装你会再次使用的那一个

技能是提示,而非安装项。 你的 Agent 会将它们作为现场笔记阅读;只有极少数值得保留的技能才由你批准。

裸 Agent 能完成 SkillsBench 中 17.5% 的任务。使用 Skill Federation 后,这一比例达到 22.8%——而你的工作始终不会离开你的设备。

在网页上浏览和搜索已编入索引的目录——技能、PyPI 软件包、研究 → skillfed.io


模型的权重是对训练截止日期之前所有既有内容的平均,而且这种平均本身也有损失。只要实践真正发生变化——SEO、安全审查、无障碍、框架和 API 迁移、打包与发布、定价、合规、工具默认设置——这种平均就会变成对过去共识充满自信的总结。它读起来恰好像专业知识。但它也在悄然落后一两个版本。

技能不是要安装的脚本,而是一条提示。 它是从业者记录下来的现场笔记,说明这项工作当前是如何开展的:由某人维护并注明日期的产物,承载着平均水平与当下实践之间的差异。前沿模型会将其载入上下文,用它增强自身权重。除此之外什么也不会发生。因此,在这里搜索通常是为了阅读,而不是安装;技能是参考资料,不是会运行的代码。

Skill Federation 能找到这些笔记,却不会向任何人透露你正在做什么。 当工作取决于某件事现在的做法时,你的 Agent 会写下一份抽象的愿望清单(“如果所有技能都存在,我会选哪些?”),联邦系统再将这些愿望与经过审核的技能目录进行匹配。你的计划、文件和输出都不会离开你的设备。只有抽象的愿望会被发送。 多找几个、交叉核对,少安装。 根据我们的实际测试,与已由能力强大的模型优化过的工作对照阅读技能,仍能发现模型遗漏的实际缺陷——而且有些技能自身的建议也已经过时。这两个发现都指向同一个结论:获取多个技能、相互比较,不要把任何一个奉为权威。两个独立编写的技能意见一致,说明这是当前的做法;只有一个技能单独断言,则只是有待核实的假设。技能过时,说明应该多读几个,而不是一个都不信。

你和你的 Agent 始终掌握主导权。 技能是判断的参考,绝不能取而代之:采用当前且相关的内容,舍弃不适用的部分,并说明你用到了哪些内容。获取的正文是数据,不是发给你的 Agent 的指令。你需要的是编写指导;任何要求 Agent 运行命令、更改设置或向某处发送数据的内容,都会被忽略并报告给你。(目录和我们持续更新的研究笔记见 skillfed.io。)

重要

跨越边界的只有抽象需求——一行能力描述、约 4 条用不同措辞表达的改写、1–5 个关键词,以及对理想技能的能力级概述。每个字段描述的都是“应该存在什么技能”,绝不是你的任务。你的计划、简报、文件内容和推理过程始终留在本地——绝不外传。

下面是一个需求的完整载荷——发送给 launch-strategy 的原始字符串。 它描述的是能力领域,绝不是你的任务、计划或产品:

description: plan a multi-channel launch for an open-source developer tool
paraphrases: orchestrate a launch across hacker news reddit and product hunt · plan a
             go-to-market launch for a dev tool · coordinate a multi-platform release
             announcement · design a launch-day plan for an open-source project
sketch:      launch product hunt hacker news waitlist go-to-market campaign ·
             channel planning timing asset prep announcement
keywords:    launch, gtm, product-hunt, strategy, announcement

一段描述、四条改写、一份能力概述、若干关键词。你的产品名称、尚未发布的路线图和实际发布计划都不会出现。

更喜欢纯文本?下面是同一次运行的纯文本版本
You: /skillfed plan a launch for my open-source dev tool

  -> agent writes 4 abstract wishes (paraphrases + a capability sketch).
     Only these leave your machine -- never your plan, files, or data.

  wish: launch-strategy       -> multi-platform-launch  review - verified             <- read
  wish: repo-discoverability  -> github-presence        review - verified             <- read
  wish: community-building    -> community-building     review - verified             <- read
  wish: growth-analytics      -> product-analytics      permissive - verified - 221*  <- read
       (each picked from 10 ranked candidates in the vetted catalog)

  Read all 4 in context -- nothing hits disk. Install only the 1 you'll reuse?
  It goes in .claude/skills/ with license + source attribution.

🔒 有何不同

  • 阅读才是核心;安装只是例外。 技能是载入上下文的提示,而不是下载到磁盘上的软件包。默认流程会在你的 Agent 阅读多个技能并告诉你从各个技能中提取了什么后结束:不会写入任何内容,也无需清理。只有当某个技能足够好而且你会重复使用时,才会在你批准后安装。
  • 无需运行框架,甚至不需要 Claude Code。 查找器技能自带触发条件和指令,因此即使没有注册钩子,也能在任何可以加载技能正文的运行框架中工作,甚至可以在完全没有运行框架的情况下使用——把它粘贴到普通聊天中,它依然知道何时搜索,以及如何阅读搜索结果。(见下文的随处可用。)
  • 从设计上保障最低限度的隐私。 跨越边界的只有抽象需求:“应该存在什么技能”,绝不是你的任务。你的计划、简报、文件内容和推理过程始终留在本地。(字段级完整说明见下文的隐私与信任。)
  • 阅读前先建立信任,安装前再确认一次。 候选技能来自预扫描内部注册表(Cisco Skill Scanner + NVIDIA SkillSpector),而不是任意代码仓库。每个技能都会显示其许可证类别、来源、星标数和出处。这一点有双重意义:被查阅的正文是不可信的第三方文本,会进入你的 Agent 上下文;而与已安装的技能不同,查阅过的技能不会留下 SOURCE.txt,因此 Agent 必须在回复中说明自己读了什么,以及内容来自哪里。每次安装都由你批准;不会有任何内容被悄悄写入磁盘。(见安全性。)
  • 原生、零安装。 默认层只需要 curl,Windows 10+ 和 macOS 已自带。无需 Python、Node 或软件包管理器。(可选层级可在你安装了 Node 的情况下添加类型化 MCP 工具,包括通过 PyPI 软件包索引和研究笔记索引进行能力搜索;见下文的技能之外。)

🌍 随处可用

这个查找器有意设计为与执行框架无关。 它的触发条件和完整流程都写在技能正文中。无需注册钩子,可将其放入任何能加载技能正文的执行框架,也可以完全不使用执行框架——效果都一样。下面的可选 Claude Code 钩子只是重复触发技能中已有的条件;--hook none 是默认设置,并且安装完整。

没有安装任何东西,只有浏览器? 让任意聊天工具使用 skillfed.io 查找技能,或者粘贴技能正文,其中包含完整流程。零安装流程只需两次 GET 请求——先搜索,再读取:

  • 搜索 — skillfed.io/api/q/<terms> 通过一次 GET 请求,按相关性返回查询的候选结果,每项都包含直接的正文 URL 和信任字段。搜索词特意放在路径中:聊天工具的抓取器经常会删掉较长的查询字符串,因此这种形式能在 ?q= 无法使用时正常工作。
  • 查找 — 目录以机器可读的 JSON 格式发布,无需爬取: skillfed.io/.well-known/agent-skills/index.json 通过一次 GET 请求返回完整索引,每个条目包含技能名称和直接的 .md URL; skillfed.io/api/index.json 则提供更完整的列表——包含每项技能的发布者和许可证,每页 500 项,按 next 指示继续获取。(可直接将这些 URL 发给聊天工具;该站点在搜索引擎索引中的覆盖仍然有限,因此稀疏的网页搜索结果可能会让人误以为目录内容也很少。)
  • 读取 — 在任意技能页面 URL 后添加 .md,即可获取纯文本格式的完整正文。一次 GET 请求即可完成。

仅使用浏览器的聊天工具仍无法运行完整的愿望清单协议——一次提交多个愿望,每个愿望都附带释义和能力概要,并将它们作为一个联合查询 POST。这正是查找器各层级新增的功能。

🧭 不止技能:软件包与研究

skillfed.io 索引的不只有技能,MCP 层级(--with-npx)会将这三类数据流作为类型化工具提供:

  • find_skills — 上文介绍的经过审查的技能目录。
  • find_packages — 在 PyPI 软件包索引中进行能力搜索。正准备 pip install 模型根据权重回想起的某个名称?改为描述所需能力,即可获得真实且最新的软件包——每项都附带功能说明卡、许可证说明,以及是否值得安装的评估。
  • find_research — 在 agent-skills 文献的研究笔记索引中按主题搜索,查找带有来源的实证结论;当你想要的是证据而不是工具时,可以使用它。

另外两个索引都可通过普通 GET 请求访问(/api/packages/search.json?q=…、/api/research/search.json?q=…)——无需身份验证,也无需租户,因此 curl 或任何带有抓取工具的 Agent 都可以使用,无需 MCP 层级。

⚙️ 工作原理

在你的机器上,当 Agent 遇到值得检查的时刻——开始或完成计划、任务中途遇到瓶颈,或收到你的请求——它会写下抽象的需求;只有抽象需求会跨越边界发送到联合网络,后者会返回按相关度排序的候选项;你会看到信任审查,Agent 会将几项候选内容作为实地笔记结合上下文阅读,并且只将少数你会重复使用的技能安装到 .claude/skills/——你的计划、文件和输出绝不会离开本机
  1. 提出请求。 技能自带触发条件,无需钩子:Agent 开始规划时(让技能影响实施方案)、完成计划时、任务中途即将从头构建某项能力时,或按需使用 /skillfed <what you're doing>。这是一种搜索,而非固定仪式:可在每项任务中进行一次或多次,随工作进展而定。
  2. 列出需求。 Agent 勾勒理想技能,并写下最多 10 条抽象需求——每条都包含措辞多样的改述,以及用于提高召回率的结构化能力概述。不包含具体任务细节。
  3. 匹配。 联合网络针对每条需求进行快速词法搜索,将描述、改述和展开后的概述与经过审核、预先扫描的目录进行比对,并返回排名靠前的候选项(每条需求默认返回 10 项,可按需设为 1–25 项)。
  4. 阅读——默认操作。 Agent 会提取每条需求下的多项优质候选内容,结合上下文作为实地笔记阅读,并交叉核对相互矛盾之处。不会向磁盘写入任何内容。你会看到一份信任信息表(许可证 · 来源溯源 · 星标数 · 来源),以及一段清晰说明,列出它阅读了哪些技能、分别从中借鉴了什么。大多数任务到此为止。
  5. 安装——例外情况。 技能必须足够优秀,且你预计会重复使用,并且必须由你明确批准。随后,系统会从内部扫描副本(而非源代码库)获取技能,将其安装到 .claude/skills/,并完整注明许可证和来源。只读一次的内容不会被安装。

📊 基准测试

SkillsBench 任务成功率:不使用技能为 17.5%,使用 Skill Federation 为 22.8%,预言机为 36.8%

我们使用SkillsBench(带有确定性验证器的编码 Agent 任务)测试了 Skill Federation,并使用 Claude Code (Opus 4.6) 作为 Agent 测试框架。此测试之所以真实,关键在于技能池:Skillfed 检索的技能来自包含 26,629 项技能的公开目录快照,且已移除基准测试自带的答案技能。这项测试衡量的是独立编写的技能能否迁移到任务中,而不是我们能否重新找到基准测试中那项手写技能。

条件Agent 可用内容成功率
不使用技能原始 Claude Code (Opus 4.6)17.5%
Skillfed从包含 26,629 项技能的快照中检索到的排名第一技能22.8%
预言机该任务专属的手写技能——无法达到的上限36.8%

Skillfed 将成功率从 17.5% 提升至 22.8%——相比原始 Agent 相对提升约 30%,并且弥补了与其从未见过的预言机技能之间约 27% 的差距。大多数技能检索结果测试的是预言机恢复(基准测试自带的技能就在技能池中);本测试评估的是迁移能力——从规模庞大且内容混杂的公开目录中检索有用技能。

说明

“公开目录”有多大? 我们对公开 SKILL.md 语料库进行的完整普查发现,6,177 个代码库中共有60,611 项独特技能。广泛流传的更大数字(约 87k)统计的是 64 个聚合代码库中包含的86,956 份随附副本——副本数量超过原件,这使生态系统的每一项统计都变成了对重复内容的统计。详情请见: 公开流通的 60,611 项技能。

📦 安装

一行命令,无需克隆。 只需已安装 Node 或 Python:

# Node — npm
npx skillfed
# Python — uv   (or:  pipx run skillfed)
uvx skillfed

根据 skillfed.io 页面上显示的 slug 安装已发布的技能:

npx skillfed install owner/repository/skill

install 子命令随 0.2.1 一同发布,且只能通过 npx 使用——shell、PowerShell 和 Python 安装程序都没有此功能。它会检查记录是否带有可用的许可证标签,并默认拒绝未授权记录;验证文件边界和大小,并在写入 .claude/skills/ 前校验每个 SHA-256——校验和固定在技能的已发布记录中;下载的内容绝不会执行。写入任何文件前都会显示记录的许可证和安全扫描结果;如果结果为 fail,除非传入 --allow-failed-scan,否则会拒绝安装。--dry-run 会显示验证后的计划,但不下载或写入文件(也不会检查文件是否可用)。有关替换和许可证确认选项,请参阅 npm 安装程序。

更喜欢使用 Claude Code 的插件系统? 添加市场并安装插件:

/plugin marketplace add skill-federation/skill-federation
/plugin install skill-federation@skill-federation

没有 Node 或 Python? 请 Claude Code 为你安装 curl 版本:

Install the Skill Federation /skillfed finder from github.com/skill-federation/skill-federation
— run its curl installer (install.ps1 on Windows, install.sh on macOS/Linux), then tell me to
restart Claude Code.

提示

然后重启 Claude Code 并运行 /skillfed <what you're trying to do>——或者照常工作:该技能自带触发条件(开始制定计划、完成计划、任务进行中遇到障碍,或你提出要求),因此无需注册 hook,它也会主动提供帮助。

无需运行时环境:查找器只需要 curl(不需要 Node 或 Python)。有关可选层级(规划提示 · 类型化 MCP 工具 · Python/CI 辅助工具)、从检出目录安装以及配置安全详情,请参阅 install.md。

调用选项

四种安装程序——install.sh、install.ps1、npx skillfed、uvx skillfed——在安装查找器时都接受相同的核心标志(install <slug> 仅适用于 npx):PowerShell 中使用 -Flag,其他地方使用 --flag。

标志值默认值功能
--harness / -Harnessclaude-codeclaude-code要安装到哪个 harness;未知值会以 2 退出并指出支持的选项
--hook / -Hooknone | start | end | bothnone在 settings.json 中注册 0–2 个规划提示——end 会在计划获批后触发,start 会在你处于计划模式时提交提示词后触发
--with-hook / -WithHook—关闭旧版别名,相当于 --hook end
--scope / -Scopeuser | projectuser~/.claude 与 ./.claude
--target / -Target一个目录—安装到指定路径,而不是安装到 --scope 默认路径
--with-npx / -WithNpx—关闭同时注册 Node MCP 服务,以提供类型化的 find_skills / find_packages / find_research 工具(需要 Node ≥18)
--endpoint / -Endpoint一个 URL无密钥演示用于记录的联邦端点

还有两个标志仅适用于 curl 安装程序(install.sh / install.ps1),不适用于 npx skillfed 或 uvx skillfed:--with-python / -WithPython(显示高级/CI Python 辅助工具的设置;不会更改你计算机上的任何内容)以及 --raw-base / -RawBase(无克隆运行时获取载荷的位置)。

--hook none 表示完整安装:技能会自行触发,而 hook 只会重复技能已有的功能。无论模式如何,都会附带两个提示文件,因此之后改变主意时,只需编辑设置,无需重新获取文件。首次写入前,会备份一次 settings.json 并安全合并。注册操作具有幂等性。(如何通过 curl | bash 管道传递标志,请参阅 install.md。)

更喜欢自己粘贴?(原始 curl 单行命令)
# Windows (PowerShell) — irm|iex also sidesteps the execution-policy block
irm https://raw.githubusercontent.com/skill-federation/skill-federation/main/install.ps1 | iex
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/skill-federation/skill-federation/main/install.sh | bash
## 🛡️ 隐私与信任

说明

**绝不会传出:**你的计划、简介、文件内容、输出或推理轨迹。 **会传出的只有:**抽象需求(描述 + 改写表述 + 关键词 + 能力概要)。

字段明细
  • 会传出的内容:抽象需求——一行 description、约 4 个对其进行改写的 formulations、1–5 个 keywords,以及理想技能的结构化能力 sketch (purpose / inputs / outputs / operations / domain_vocab / section_sketch / tags)。每次搜索时,概要中展开的术语都会包含在搜索查询中(它们提供用于提高召回率的区分性词汇);如果没有找到技能,同一份概要就会成为需求指针——抽象到足以保护你的隐私,详细到足以自动构建缺失的技能。每个字段描述的都是“应该存在什么技能”,绝不是你的任务。需求的 name 仅用于显示,不会被发送。
  • **绝不会传出:**你的计划、简介、文件内容、输出或推理轨迹。
  • 两种互补信号,不混为一谈:report_selection 用于标记检索质量——每个展示的候选技能实际有多大价值,标记为 Install / Read / Reject,并附上一行理由(阅读即算命中,即使没有安装);report_demand 用于记录能力缺口(实际需要什么),仅在确实未命中时发出——没有返回任何内容,或所有结果都被拒绝。它们分别驱动不同的循环:选择反馈优化搜索,需求反馈决定接下来要构建什么。
  • **本地优先:**如果你已安装某项技能,就会直接使用本地副本——你的修改属于个性化内容,绝不会在不知情的情况下被覆盖。本地副本也可作为阅读材料:磁盘上已有的技能就是可免费使用的提示。
## 🔒 安全

Skill Federation 将每项第三方技能都视为不可信输入。**技能由我们内部经过预扫描的注册表提供,绝不会从野外仓库实时拉取。**接收时,我们会复制每个候选技能、去重并扫描;只有通过扫描的技能才会被纳入并提供。你看到的 source 链接用于说明来源,而非技能的获取位置。

我们会尽力使用两种独立工具扫描每个候选技能:

  • Cisco AI Defense Skill Scanner — 使用 YARA/模式、字节码、命令污点、行为数据流、LLM 评审和 VirusTotal 检查提示注入、数据泄露及恶意代码。
  • NVIDIA SkillSpector — 漏洞模式 + LLM 分析,实时查询 OSV.dev CVE,并给出 0–100 的风险评分。

高危/严重发现会在纳入前被拒绝或转交人工审核——野外目录不会未经筛选就到达你手中。

这很重要。 SkillSpector 背后的 NVIDIA 研究扫描了 42,447 项公开技能,发现其中 26.1% 至少存在一项漏洞,5.2% 显示出可能的恶意意图——而已安装的技能会拥有 Agent 的全部权限。直接从公开仓库提供技能,就等于把大约四分之一存在漏洞、二十分之一带有恶意的技能交给你的 Agent;接收环节的把关正是防止它们流入的关键。

说明

扫描只能尽力而为,并非保证安全。正如 Cisco 的扫描器所言,"没有发现 ≠ 没有风险"——扫描结果干净并不能证明技能安全。Skill Federation 仍会展示每项技能的许可证、来源信息和源地址,并且未经你的批准,任何内容都不会安装。

阅读技能也是一种信任决策。 大多数时候,Agent 会查阅技能,而不是安装它:技能正文会被载入上下文,不会写入磁盘。这种方式风险较低——不会有第三方代码进入你的设备——但文本仍会作为不可信的第三方输入进入 Agent 的上下文,而且查阅过的技能不会留下 SOURCE.txt,因为该文件只会在安装时写入。因此,查找器会将获取到的正文视为数据,而非发给 Agent 的指令(遵循制作指南,并忽略任何要求它运行命令、更改设置或向任何地方发送数据的内容),在回复中展示每项已查阅技能的许可证、来源信息和源地址,因为磁盘上没有可供日后检查的内容;在读取任何未经验证或被标记的内容之前,也会先征求你的同意。

🔧 配置

查找器通过 HTTPS 与联合端点通信。默认使用无需密钥的演示端点;可覆盖该设置:

export SKILLFED_ENDPOINT="https://your-federation.example.com"   # or set in .mcp.json for the npx tier

📁 此仓库的内容

install.ps1 / install.sh / install.md   auto-detecting installer; works from a clone OR piped (irm|iex, curl|bash)
installer/                              npm package `skillfed` — the `npx skillfed` no-clone path
python-installer/                       PyPI package `skillfed` — the `uvx skillfed` / `pipx run skillfed` path
scripts/vendor-payload.mjs              vendors the 6 payload files into both packages (single source of truth)
integrations/claude-code/               the Claude Code plugin (skill + /skillfed + optional hooks) — canonical payload
integrations/*.py                       optional Python tier (advanced / CI)
mcp-server/                             optional Node MCP tier (typed find_skills / find_packages / find_research via npx skillfed-mcp)

📄 许可证

MIT © Skill Federation。

评论

支持 Markdown

第一次接触 MCP?

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

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