如果你的团队开发了多个 Claude Code 插件(Skills、Hooks、MCP 服务器等),想要统一分发给团队成员或社区,官方提供的 **Plugin Marketplace(插件市场)**机制能实现集中发现、版本追踪和自动更新。本文基于官方文档梳理完整搭建步骤。
什么是 Plugin Marketplace
A plugin marketplace is a catalog that lets you distribute plugins to others. Marketplaces provide centralized discovery, version tracking, automatic updates, and support for multiple source types, including git repositories and local paths.
简单说,Plugin Marketplace 就是一个插件目录清单,可以是一个 Git 仓库,里面登记了若干插件的名称、来源和版本信息。团队成员添加你的 Marketplace 后,就能像逛应用商店一样浏览和安装你发布的插件。
搭建流程总览
1. 创建插件(Skills / Agents / Hooks / MCP servers / LSP servers)
2. 创建 marketplace.json 清单文件,登记插件列表和来源
3. 托管到 GitHub / GitLab 等 Git 平台
4. 分享给用户:用户执行 /plugin marketplace add 添加你的市场
更新时,只需推送新内容到仓库,用户执行 /plugin marketplace update 刷新本地副本即可。
第一步:创建插件(前提)
本教程假设你已经有想要分发的插件(一个 Skill、一组 Hooks 或一个 MCP 服务器)。如果还没有,需要先参考 Claude Code 插件开发文档创建插件本体。
第二步:创建 marketplace.json 清单
在仓库根目录创建 .claude-plugin/marketplace.json:
{
"name": "company-tools",
"owner": {
"name": "DevTools Team",
"email": "devtools@example.com"
},
"plugins": [
{
"name": "code-formatter",
"source": "./plugins/formatter",
"description": "Automatic code formatting on save",
"version": "2.1.0",
"author": {
"name": "DevTools Team"
}
},
{
"name": "deployment-tools",
"source": {
"source": "github",
"repo": "company/deploy-plugin"
},
"description": "Deployment automation tools"
}
]
}关键字段说明
必填字段:
| 字段 | 类型 | 说明 |
|---|---|---|
name | string | 市场标识符(kebab-case,无空格)。这是面向公开的——用户安装插件时会看到它(例如 /plugin install my-tool@your-marketplace)。每个用户每个名字只能注册一个市场,添加同名的第二个市场会替换第一个 |
owner | object | 市场维护者信息 |
plugins | array | 可用插件列表 |
Owner 字段:name(必填,维护者或团队名称)、email(可选,联系邮箱)。
可选字段中值得关注的几个:
metadata.pluginRoot:为相对路径插件来源指定的基础目录(比如设为"./plugins"后,插件的source就可以简写为"formatter"而不用写完整的"./plugins/formatter")allowCrossMarketplaceDependenciesOn:允许本市场插件依赖的其他市场列表。未列出的市场的依赖会在安装时被阻止——这是一项安全设计,防止插件静默依赖未经审查的第三方市场renames:把旧插件名映射到新名字(或映射为null表示已移除),让已安装旧名字插件的用户能够平滑过渡
第三步:托管市场
把仓库推送到 GitHub、GitLab 或其他 Git 托管平台即可——Marketplace 本身就是一个普通的 Git 仓库,没有额外的服务器要求。
第四步:分享给用户
# 用户添加你的市场
> /plugin marketplace add your-org/company-tools
# 用户浏览并安装其中的插件
> /plugin install code-formatter@company-tools
# 市场更新后,用户刷新本地副本
> /plugin marketplace update安全设计:跨市场依赖默认阻止
值得特别强调的是 allowCrossMarketplaceDependenciesOn 这项设计——默认情况下,你的插件不能依赖来自其他未声明市场的插件。这避免了一种潜在的供应链风险:如果没有这层限制,一个插件可以在用户不知情的情况下静默拉取并信任一个完全没有审查过的第三方市场内容。
// 显式声明允许依赖的其他市场
{
"name": "company-tools",
"allowCrossMarketplaceDependenciesOn": ["trusted-partner-marketplace"],
...
}适用场景
- 企业内部工具统一分发:把团队自研的代码规范检查、部署脚本、内部 API 集成打包成插件,通过内部 Git 仓库分发给所有开发者
- 开源社区插件生态:像 npm 包一样维护一个公开的插件目录,让社区成员发现和安装
- 多插件版本管理:通过
version字段和自动更新机制,统一管理插件版本迭代,避免团队成员使用不一致的插件版本
总结
Plugin Marketplace 本质上是把「Git 仓库 + 一个 JSON 清单」变成了一套完整的插件分发基础设施——不需要额外的服务器,托管在你已经在用的 Git 平台上即可。对于希望统一团队工具链、减少「每个人本地配置不一致」问题的团队,这是一个值得投入搭建的基础设施。
来源:Create and distribute a plugin marketplace — Claude Code 官方文档,Anthropic