К основному содержимому

Руководство по отправке локального MCP Server

Обновлено более 3 нед. назад

Это полное руководство по отправке вашего локального сервера (MCPB) в публичный каталог Anthropic для более широкого распространения и обнаружения.

Предварительные требования

Перед прочтением этого руководства у вас должны быть:

  • Работающий MCPB

  • Портативный код с использованием подстановки переменных

  • Хорошие сообщения об ошибках и пользовательский опыт

  • Чистые, объединённые зависимости

Новичок в разработке MCPB? Сначала см. Building MCPB Extensions. Для технических лучших практик (тестирование, сообщения об ошибках, портативность) см. MCPB Repository.

Примечание: Это руководство охватывает локальные MCP серверы. Для удалённых расширений рабочего стола см. Remote MCP Server Submission Guide.


1. Обзор каталога

Каковы преимущества включения в каталог?

Обнаружение и доверие:

  • Указано в официальном каталоге Anthropic в Claude Desktop

  • Доступно для поиска отдельными пользователями Claude Desktop

  • Видно пользователям Teams/Enterprise при добавлении в список разрешений администраторами

  • Проверка Anthropic повышает доверие пользователей

Пользовательский опыт:

  • Установка в один клик из каталога

  • Интеграция с пользовательским интерфейсом настроек Claude Desktop

  • Стандартизированное представление

Поддержка и авторитет:

  • Проверка Anthropic качества и безопасности

  • Указано рядом с другими проверенными расширениями

  • Видимость сообщества и обратная связь

  • Профессиональный канал распространения


2. Обязательные требования

Все требования в этом разделе являются обязательными для одобрения каталога. Отсутствие любого из них приведёт к отклонению или запросу на доработку.

Примечание: Это требования, специфичные для каталога Anthropic.

Для общих лучших практик разработки MCPB (тестирование, обработка ошибок, портативность) см. MCPB Repository README.


Требуются ли аннотации инструментов?

ДА. Каждый инструмент ДОЛЖЕН иметь и поддерживать точные аннотации безопасности.

Требуется для каждого инструмента:

  • readOnlyHint: true - Для инструментов, которые только читают данные

  • destructiveHint: true - Для инструментов, которые изменяют данные или имеют побочные эффекты

См. MCP Protocol - Tool Annotations для полной схемы и деталей реализации.

Не опционально. Это жёсткое требование, вытекающее из MCP Directory Policy.

Как выбрать аннотацию:

Поведение инструмента

Аннотация

Примеры

Только читает данные

readOnlyHint: true

search, get, list, fetch, read

Записывает/изменяет данные

destructiveHint: true

create, update, delete, send, write

Создаёт временные файлы

destructiveHint: true

Даже временные записи считаются

Отправляет внешние запросы

destructiveHint: true

Письма, уведомления, вебхуки

Кэширует только внутри

readOnlyHint: true

Внутренняя оптимизация OK

Детали реализации: См. MCP Protocol - Tools для:

  • Полная схема инструмента с аннотациями

  • Структура определения инструмента

  • Спецификации схемы входных/выходных данных

  • Дополнительные свойства инструмента (включая опциональное поле title)

Проверка перед отправкой:

# Проверить, что все инструменты имеют аннотации

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

# Убедиться, что каждый инструмент имеет ровно одну аннотацию

Влияние: Первое, что мы проверяем, и наиболее частая причина запроса на доработку.

Дополнительная рекомендуемая аннотация:

  • title - Понятное для человека имя инструмента для отображения в пользовательском интерфейсе (улучшает пользовательский опыт)


Требуются ли политики конфиденциальности?

Да, политики конфиденциальности требуются в двух местах:

Место 1: README.md

Добавьте раздел "Privacy Policy" в ваш README со ссылкой на полную политику конфиденциальности, чтобы пользователи были осведомлены о ваших практиках:

## Privacy Policy

This extension collects [describe data types]. For complete privacy information, see our privacy policy: https://your-domain.com/privacy-policy

### Data Collection
- [List what data is collected]
- [How it's used]
- [Whether it's shared with third parties]
- [Retention period]

Место 2: manifest.json

Добавьте массив privacy_policies с общедоступными HTTPS URL:

Полная реализация: См. MCPB Manifest Spec - Privacy Policies для:

  • Структура поля политики конфиденциальности

  • Требования версии манифеста (0.3+)

  • Поддержка нескольких URL политик

  • Требования валидации

Политика конфиденциальности должна охватывать:

  • Какие данные собирает ваш MCPB

  • Как данные используются и хранятся

  • Передаются ли данные третьим лицам

  • Политики хранения данных пользователя

  • Контактная информация для вопросов о конфиденциальности

Требования:

  • Должна быть общедоступным HTTPS URL

  • Должна быть с вашего домена (не размещение третьей стороной)

  • Должна быть актуальной и точной

  • Должна быть в README И manifest.json

  • Должна использовать manifest_version "0.3" или выше

Частые ошибки:

  • Политика конфиденциальности в манифесте, но не в README

  • Политика конфиденциальности в README, но не в манифесте

  • Использование manifest_version "0.2" или старше

  • Недействительные или недоступные URL

  • Политика конфиденциальности размещена на сайте третьей стороны

Влияние: Одна из наиболее частых причин отклонения - просто исправить, но часто упускается.


Сколько примеров требуется?

МИНИМУМ три рабочих примера, демонстрирующих основную функциональность.

Что считается хорошим примером:

  • Показывает реалистичный вариант использования

  • Включает ожидаемый ввод/подсказку пользователя

  • Показывает ожидаемый результат/поведение

  • Демонстрирует фактическое использование инструмента

  • Ясный и понятный рабочий процесс

Формат примера (в README.md):

## Examples

### Example 1: Search for files
**User prompt:** "Find all JavaScript files in my project"

**Expected behavior:**
- Extension searches workspace directory
- Returns list of .js files with paths
- Shows file count in summary

### Example 2: Read file contents
**User prompt:** "Show me the contents of config.json"

**Expected behavior:**
- Extension reads config.json
- Returns formatted JSON content
- Handles file not found gracefully

### Example 3: Create new file
**User prompt:** "Create a new file called notes.txt with 'Hello World'"

**Expected behavior:**
- Extension creates notes.txt
- Writes content to file
- Confirms creation with file path

Что включить:

  • Реалистичные подсказки пользователя (как пользователи будут взаимодействовать)

  • Ожидаемые вызовы инструментов (что происходит за кулисами)

  • Ожидаемые результаты (что увидят пользователи)

  • Примеры обработки ошибок (опционально, но рекомендуется)

Требования:

  • Минимум 3 примера (максимума нет)

  • Охватывают основную функциональность

  • Показывают различные инструменты/возможности

  • Демонстрируют ценностное предложение

  • Включены в README.md

Влияние: Частый источник задержек или отклонений - рецензентам нужна полная документация для надлежащей оценки отправок.


Нужно ли предоставлять учётные данные для тестирования?

Если ваш MCPB требует аутентификации или доступа к внешнему сервису, то ДА.

Требуется когда:

  • Ваш MCPB подключается к внешним API

  • Требуется аутентификация для функциональности

  • Пользователь MCPB должен иметь учётную запись для использования функций

  • Присутствует интеграция с внешним сервисом

Не требуется когда:

  • Чисто локальный MCPB (только операции с файловой системой)

  • Нет внешних подключений

  • Аутентификация не требуется

  • Полностью автономный

Что предоставить:

  • Учётные данные тестовой учётной записи (имя пользователя/пароль или ключи API)

  • Примеры данных в учётной записи (полезно для функционального тестирования)

  • Инструкции по настройке (как настроить и использовать тестовую учётную запись)

  • Ограничения или ограничения доступа (если есть)

  • Дата истечения учётной записи (если временная)

Как предоставить:

  • Включить в форму отправки

  • Отправить безопасным методом, если очень чувствительно

  • Убедиться, что учётная запись остаётся активной в течение периода проверки

  • Предоставить достаточный уровень доступа для полного тестирования

Лучшая практика: Создайте отдельную тестовую учётную запись, отличную от производства, чтобы:

  • Избежать раскрытия производственных данных

  • Контролировать, к чему имеют доступ рецензенты

  • Легко отозвать доступ после одобрения

  • Отслеживать использование тестовой учётной записи

Влияние: Задерживает процесс проверки, если отсутствует при необходимости


Какая документация требуется?

Полная документация в README.md с минимальными требуемыми разделами.

Минимальные требуемые разделы:

  1. Description - Чёткое объяснение того, что делает ваш MCPB

  2. Features - Ключевые возможности и варианты использования

  3. Installation - Как установить (обычно: "Install from Anthropic Directory")

  4. Configuration - Требуемые параметры и шаги настройки

  5. Usage Examples - Минимум 3 примера (см. раздел выше)

  6. Privacy Policy - Ссылка на полную политику конфиденциальности

  7. Support - Как пользователи могут получить помощь или сообщить о проблемах

Пример структуры README.md:

# My MCPB Extension

## Description
Brief description of what this extension does and why it's useful.

## Features
- Feature 1: [description]
- Feature 2: [description]
- Feature 3: [description]

## Installation
Install from the Anthropic Directory in Claude Desktop Settings → Extensions.

## Configuration
1. Open Settings → Extensions → [Extension Name]
2. Add API key (if required)
3. Select workspace directory
4. Configure optional settings

## Examples
[See minimum 3 examples section above]

## Privacy Policy
See our privacy policy: https://your-domain.com/privacy

## Support
For issues or questions: [email protected]
GitHub Issues: https://github.com/your-username/your-extension/issues

Дополнительные рекомендуемые разделы:

  • Troubleshooting - Частые проблемы и решения

  • Version compatibility - Какие версии Claude Desktop поддерживаются

  • Changelog - История версий и изменения

  • Contributing - Как другие могут внести вклад (для открытого исходного кода)

Лучшие практики:

  • Ясное, лаконичное письмо

  • Скриншоты (опционально, но очень полезно)

  • Пошаговые инструкции

  • Ссылки на дополнительные ресурсы


3. Процесс отправки

Как мне отправить в каталог?

Перед отправкой в каталог, выполните этот пошаговый процесс отправки:

1. Контрольный список перед отправкой:

Протестируйте ваш MCPB:

  • Проходит все 4 фазы тестирования (разработка, чистая среда, кроссплатформенность, Claude Desktop)

  • Работает в чистой среде без инструментов разработки

  • Портативен на macOS и Windows

  • Зависимости актуальны и объединены

  • Сообщения об ошибках полезны и действенны

  • Производительность приемлема

Проверьте обязательные требования:

  • Все инструменты имеют аннотации readOnlyHint ИЛИ destructiveHint

  • Политика конфиденциальности присутствует в README.md

  • Политика конфиденциальности присутствует в массиве privacy_policies manifest.json

  • Используйте последнюю версию Manifest для лучшей совместимости

  • Минимум 3 рабочих примера, задокументированных в README

  • Учётные данные для тестирования предоставлены (если применимо)

Подготовьте документацию:

  • README.md полный со всеми требуемыми разделами

  • Включён файл LICENSE

  • Включена иконка (рекомендуется, 512×512px PNG)

  • CHANGELOG.md (опционально, но рекомендуется)

2. Упакуйте финальную версию:

# Clean build
rm -rf node_modules/.cache
npm install --production

# Package
mcpb pack

# Verify package
mcpb info your-extension.mcpb

3. Отправьте через официальную форму:

Форма отправки: https://forms.gle/tyiAZvch1kDADKoP9

Требуемая информация: Детали сервера, ссылки на документацию, учётные данные для тестирования, примеры (минимум 3) и контактная информация. Форма предоставляет полный список.

Хотя мы стремимся проверить каждую отправку как можно быстрее, из-за большого интереса мы не можем гарантировать, что примем вашу отправку или ответим на неё индивидуально.


4. Частые проблемы

Нашли ответ на свой вопрос?