跳转到主要内容

本地 MCP 服务器提交指南

超过 3 周前更新

这是一份完整指南,用于将您的本地服务器 (MCPB) 提交到 Anthropic 的公共目录,以实现更广泛的分发和可发现性。

前置条件

阅读本指南前,您应该具备:

  • 一个可工作的 MCPB

  • 使用变量替换的可移植代码

  • 良好的错误消息和用户体验

  • 清晰、捆绑的依赖项

初次接触 MCPB 开发?请先查看使用 MCPB 构建桌面扩展。有关技术最佳实践(测试、错误消息、可移植性),请参阅MCPB 存储库

注意:本指南涵盖本地 MCP 服务器。有关远程桌面扩展,请参阅远程 MCP 服务器提交指南


1. 目录概览

目录包含有什么好处?

可发现性和信任:

  • 在 Claude Desktop 内的官方 Anthropic 目录中列出

  • 可由个人 Claude Desktop 用户搜索

  • 当管理员将其添加到允许列表时,对团队/企业用户可见

  • Anthropic 审查建立用户信任

用户体验:

  • 从目录一键安装

  • 与 Claude Desktop 设置 UI 集成

  • 标准化呈现

支持和信誉:

  • Anthropic 对质量和安全性的审查

  • 与其他已审查的扩展一起列出

  • 社区可见性和反馈

  • 专业分发渠道


2. 强制性要求

本部分中的所有要求对于目录批准都是强制性的。缺少其中任何一项将导致拒绝或修订请求。

注意:这些是 Anthropic 目录特定的要求。

有关一般 MCPB 开发最佳实践(测试、错误处理、可移植性),请参阅MCPB 存储库 README


工具注解是否必需?

是的。每个工具都必须具有并维护准确的安全注解。

每个工具上必需的:

  • readOnlyHint: true - 用于仅读取数据的工具

  • destructiveHint: true - 用于修改数据或有副作用的工具

有关完整的架构和实现细节,请参阅MCP 协议 - 工具注解

不可选。这是源自MCP 目录政策的硬性要求。

如何决定使用哪个注解:

工具行为

注解

示例

仅读取数据

readOnlyHint: true

search、get、list、fetch、read

写入/修改数据

destructiveHint: true

create、update、delete、send、write

创建临时文件

destructiveHint: true

即使是临时写入也算

发送外部请求

destructiveHint: true

电子邮件、通知、webhook

仅内部缓存

readOnlyHint: true

内部优化可以

实现细节:有关以下内容,请参阅MCP 协议 - 工具

  • 带注解的完整工具架构

  • 工具定义结构

  • 输入/输出架构规范

  • 其他工具属性(包括可选的 title 字段)

提交前验证:

# 检查所有工具是否有注解

grep -A 5 -B 5 "readOnlyHint\|destructiveHint" server/

# 验证每个工具恰好有一个注解

影响:这是我们检查的第一件事,也是修订请求最常见的原因。

其他推荐的注解:

  • title - 用于 UI 显示的人类可读工具名称(改进用户体验)


隐私政策是否必需?

是的,隐私政策在两个位置都是必需的:

位置 1:README.md

在您的 README 中添加"隐私政策"部分,并链接到您的完整隐私政策,以便用户了解您的做法:

## 隐私政策

此扩展收集 [描述数据类型]。有关完整的隐私信息,请参阅我们的隐私政策:https://your-domain.com/privacy-policy

### 数据收集
- [列出收集的数据]
- [如何使用]
- [是否与第三方共享]
- [保留期]

位置 2:manifest.json

添加 privacy_policies 数组,包含可公开访问的 HTTPS URL:

完整实现:有关以下内容,请参阅MCPB 清单规范 - 隐私政策

  • 隐私政策字段结构

  • 清单版本要求 (0.3+)

  • 多个政策 URL 支持

  • 验证要求

隐私政策必须涵盖:

  • 您的 MCPB 收集的数据

  • 数据如何使用和存储

  • 数据是否与第三方共享

  • 用户数据保留政策

  • 隐私问题的联系信息

要求:

  • 必须是可公开访问的 HTTPS URL

  • 必须来自您的域(不是第三方托管)

  • 必须是当前和准确的

  • 必须在 README manifest.json 中

  • 必须使用清单版本 "0.3" 或更高版本

常见错误:

  • 隐私政策在清单中但不在 README 中

  • 隐私政策在 README 中但不在清单中

  • 使用清单版本 "0.2" 或更旧版本

  • 无效或无法访问的 URL

  • 隐私政策托管在第三方网站上

影响:这是拒绝最常见的原因之一 - 直接修复但经常被忽视。


需要多少个示例?

最少三个演示核心功能的工作示例。

什么是好的示例:

  • 展示现实用例

  • 包括预期的用户输入/提示

  • 显示预期的输出/行为

  • 演示实际工具使用

  • 清晰易懂的工作流

示例格式(在 README.md 中):

## 示例

### 示例 1:搜索文件
**用户提示:** "查找我的项目中的所有 JavaScript 文件"

**预期行为:**
- 扩展搜索工作区目录
- 返回带有路径的 .js 文件列表
- 在摘要中显示文件计数

### 示例 2:读取文件内容
**用户提示:** "显示 config.json 的内容"

**预期行为:**
- 扩展读取 config.json
- 返回格式化的 JSON 内容
- 优雅地处理文件未找到

### 示例 3:创建新文件
**用户提示:** "创建一个名为 notes.txt 的新文件,内容为 'Hello World'"

**预期行为:**
- 扩展创建 notes.txt
- 将内容写入文件
- 确认创建并显示文件路径

要包括的内容:

  • 现实的用户提示(用户如何交互)

  • 预期的工具调用(幕后发生的事情)

  • 预期的输出(用户将看到的内容)

  • 错误处理示例(可选但推荐)

要求:

  • 最少 3 个示例(无上限)

  • 涵盖核心功能

  • 展示不同的工具/功能

  • 演示价值主张

  • 包括在 README.md 中

影响:延迟或拒绝的常见来源 - 审查者需要完整的文档来正确评估提交。


我需要提供测试凭证吗?

如果您的 MCPB 需要身份验证或外部服务访问,那么是的。

需要的情况:

  • 您的 MCPB 连接到外部 API

  • 功能需要身份验证

  • MCPB 用户必须有帐户才能使用功能

  • 存在外部服务集成

不需要的情况:

  • 纯本地 MCPB(仅文件系统操作)

  • 没有外部连接

  • 不需要身份验证

  • 完全自包含

要提供的内容:

  • 测试帐户凭证(用户名/密码或 API 密钥)

  • 帐户中的示例数据(有助于功能测试)

  • 设置说明(如何配置和使用测试帐户)

  • 访问限制或限制(如果有)

  • 帐户过期日期(如果是临时的)

如何提供:

  • 包括在提交表单中

  • 如果高度敏感,通过安全方法发送

  • 确保帐户在整个审查期间保持活跃

  • 提供足够的访问级别以进行完整测试

最佳实践:创建与生产分开的专用测试帐户,以便:

  • 避免暴露生产数据

  • 控制审查者可以访问的内容

  • 在批准后轻松撤销访问

  • 跟踪测试帐户使用情况

影响:如果需要时缺少,会延迟审查过程


需要什么文档?

README.md 中包含最少必需部分的全面文档。

最少必需的部分:

  1. 描述 - 清楚地解释您的 MCPB 的功能

  2. 功能 - 关键功能和用例

  3. 安装 - 如何安装(通常:从 Anthropic 目录安装)

  4. 配置 - 必需的设置和设置步骤

  5. 使用示例 - 最少 3 个示例(见上面的部分)

  6. 隐私政策 - 链接到完整隐私政策

  7. 支持 - 用户如何获得帮助或报告问题

示例 README.md 结构:

# 我的 MCPB 扩展

## 描述
此扩展的功能及其有用原因的简要描述。

## 功能
- 功能 1:[描述]
- 功能 2:[描述]
- 功能 3:[描述]

## 安装
从 Claude Desktop 设置 → 扩展中的 Anthropic 目录安装。

## 配置
1. 打开设置 → 扩展 → [扩展名]
2. 添加 API 密钥(如果需要)
3. 选择工作区目录
4. 配置可选设置

## 示例
[见上面的最少 3 个示例部分]

## 隐私政策
请参阅我们的隐私政策:https://your-domain.com/privacy

## 支持
如有问题或疑问:[email protected]
GitHub 问题:https://github.com/your-username/your-extension/issues

其他推荐的部分:

  • 故障排除 - 常见问题和解决方案

  • 版本兼容性 - 支持的 Claude Desktop 版本

  • 更新日志 - 版本历史和更改

  • 贡献 - 其他人如何贡献(用于开源)

最佳实践:

  • 清晰、简洁的写作

  • 屏幕截图(可选但非常有帮助)

  • 分步说明

  • 链接到其他资源


3. 提交流程

我如何提交到目录?

在提交到目录之前,请完成此分步提交流程:

1. 提交前检查清单:

测试您的 MCPB:

  • 通过所有 4 个测试阶段(开发、清洁环境、跨平台、Claude Desktop)

  • 在没有开发工具的清洁环境中工作

  • 可在 macOS 和 Windows 上移植

  • 依赖项当前且已捆绑

  • 错误消息有帮助且可操作

  • 性能可接受

验证强制性要求:

  • 所有工具都有 readOnlyHint 或 destructiveHint 注解

  • 隐私政策存在于 README.md 中

  • 隐私政策存在于 manifest.json privacy_policies 数组中

  • 使用最新清单版本以获得最佳兼容性

  • README 中记录了最少 3 个工作示例

  • 提供了测试凭证(如适用)

准备文档:

  • README.md 完整,包含所有必需部分

  • 包含 LICENSE 文件

  • 包含图标(推荐,512×512px PNG)

  • CHANGELOG.md(可选但推荐)

2. 打包最终版本:

# 清洁构建
rm -rf node_modules/.cache
npm install --production

# 打包
mcpb pack

# 验证包
mcpb info your-extension.mcpb

3. 通过官方表单提交:

必需信息:服务器详情、文档链接、测试凭证、示例(最少 3 个)和联系信息。表单提供了完整列表。

虽然我们努力尽快审查每份提交,但由于兴趣量很大,我们无法承诺接受您的提交或单独回复。


4. 常见问题

修订请求最常见的原因是什么?

这些是基于提交数据的主要问题:

1. 缺少工具注解

  • 问题:工具缺少必需的 readOnlyHint 或 destructiveHint 注解

  • 修复:在服务器实现中的所有工具中添加注解

  • 影响:立即拒绝,需要代码更改

  • 预防:在提交前运行验证命令

2. 可移植性问题

  • 问题:在开发者环境中工作,但对最终用户失败

  • 常见原因:硬编码路径、缺少依赖项、平台假设

  • 修复:在清洁环境中测试、使

这是否解答了您的问题?