MCP Registry
modelcontextprotocol/registryУправляемый сообществом реестр MCP-серверов: позволяет клиентам находить и подключать серверы, публиковать собственные решения через CLI и интегрироваться через стабильный REST API. Полезен разработчикам MCP-инструментов и интеграторам.
Подключение
git clone https://github.com/modelcontextprotocol/registry.gitREADME
MCP Registry
MCP Registry предоставляет MCP-клиентам список MCP-серверов — как магазин приложений для MCP-серверов.
📤 Опубликовать мой MCP-сервер | ⚡️ Документация живого API | 👀 Видение экосистемы | 📖 Полная документация
Статус разработки
Обновление 2025-10-24: API реестра перешёл в режим заморозки API (v0.1) 🎉. В течение следующего месяца и более API останется стабильным без ломающих изменений, что позволит интеграторам уверенно реализовывать поддержку. Заморозка распространяется на v0.1, пока разработка v0 продолжается. Этот период будет использован для валидации API в реальных интеграциях и сбора обратной связи для формирования v1 для общей доступности. Спасибо всем за вклад и терпение — ваше участие стало ключевым!
Обновление 2025-09-08: Реестр запущен в режиме предварительного просмотра 🎉 (анонс в блоге). Система стала более стабильной, однако это по-прежнему предварительный релиз — возможны ломающие изменения или сброс данных. Позднее последует релиз общей доступности (GA). Будем рады вашей обратной связи в GitHub Discussions или в канале #registry-dev в Discord (подробности о вступлении).
Текущие ключевые мейнтейнеры:
- Adam Jones (Anthropic) @domdomegg
- Tadas Antanavicius (PulseMCP) @tadasant
- Toby Padilla (GitHub) @toby
- Radoslav (Rado) Dimitrov (Stacklok) @rdimitrov
Участие в разработке
Мы используем несколько каналов для совместной работы — см. modelcontextprotocol.io/community/communication.
Как правило (но не всегда) идеи проходят через следующий путь:
- Discord — обсуждения сообщества в реальном времени
- Discussions — предложение и обсуждение продуктовых/технических требований
- Issues — отслеживание чётко сформулированных технических задач
- Pull Requests — вклад в решение задач
Быстрый старт
Предварительные требования
- Docker
- Go 1.24.x
- ko — сборщик образов контейнеров для Go (инструкции по установке)
- golangci-lint v2.4.0
Запуск сервера
# Запустить полное окружение разработки
make dev-composeЭто запускает реестр по адресу localhost:8080 с PostgreSQL. База данных использует временное хранилище и сбрасывается при каждом перезапуске контейнеров, обеспечивая чистое состояние для разработки и тестирования.
Примечание: Реестр использует ko для сборки образов контейнеров. Команда make dev-compose автоматически собирает образ реестра с помощью ko и загружает его в локальный Docker daemon перед запуском сервисов.
По умолчанию реестр наполняется данными из production API с отфильтрованным подмножеством серверов (для ускорения запуска). Это гарантирует, что локальное окружение отражает поведение production и все seed-данные проходят валидацию. Для разработки без сети можно наполнять данными из файла без валидации: MCP_REGISTRY_SEED_FROM=data/seed.json MCP_REGISTRY_ENABLE_REGISTRY_VALIDATION=false make dev-compose.
Настройка выполняется через переменные окружения в docker-compose.yml — см. .env.example для справки.
Готовые Docker-образы автоматически публикуются в GitHub Container Registry:
# Запустить последний стабильный релиз
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:latest
# Запустить последнюю сборку из ветки main (непрерывное развёртывание)
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main
# Запустить конкретную версию релиза
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:v1.0.0
# Запустить сборку разработки из ветки main
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main-20250906-abc123dДоступные теги:
- Релизы:
latest,v1.0.0,v1.1.0и т.д. - Непрерывные:
main(последняя сборка из ветки main) - Разработка:
main-<date>-<sha>(сборки конкретных коммитов)
Публикация сервера
Для публикации сервера мы разработали простой CLI. Использование:
# Собрать последний CLI
make publisher
# Использовать!
./bin/mcp-publisher --helpПодробнее см. руководство по публикации.
Другие команды
# Запустить линтер, юнит-тесты и интеграционные тесты
make checkДля разработки доступны и другие полезные команды. Запустите make help для получения информации или изучите Makefile.
Архитектура
Структура проекта
├── cmd/ # Точки входа приложения
│ └── publisher/ # Инструмент публикации серверов
├── data/ # Seed-данные
├── deploy/ # Конфигурация развёртывания (Pulumi)
├── docs/ # Документация
├── internal/ # Приватный код приложения
│ ├── api/ # HTTP-обработчики и маршрутизация
│ ├── auth/ # Аутентификация (GitHub OAuth, JWT, блокировка пространств имён)
│ ├── config/ # Управление конфигурацией
│ ├── database/ # Персистентность данных (PostgreSQL)
│ ├── service/ # Бизнес-логика
│ ├── telemetry/ # Метрики и трассировка