Архив рубрики ~Лента новостей~

Как я индексировал экосистему MCP: 9 источников, 80 000 серверов и куча нюансов

Как я индексировал экосистему MCP: 9 источников, 80 000 серверов и куча нюансов
Как я индексировал экосистему MCP: 9 источников, 80 000 серверов и куча нюансов

Полтора года назад MCP‑серверов были десятки, сейчас десятки тысяч. Найти нужный стало отдельной задачей: официальный реестр хранит голые метаданные, awesome‑списки устаревают за неделю, а у большинства каталогов нет главного, установки и проверки безопасности.

Я строю Unyly, агрегатор MCP‑серверов. Сейчас в каталоге больше 80 тысяч записей из девяти источников. Расскажу, как это устроено технически: пайплайн агрегации, дедупликация, резолв установочных команд, security‑сканы, health‑чеки remote‑серверов и шлюз, который отдаёт весь каталог агенту через одно подключение.

Пайплайн агрегации

Каждую ночь запускается ingest из девяти источников: официальный реестр MCP, GitHub, npm, PyPI, crates.io, Docker MCP Catalog, Smithery, Glama и PulseMCP. У каждого источника свой характер.

GitHub Search API отдаёт максимум 1000 результатов на запрос, а по topic:mcp‑server репозиториев больше двадцати тысяч. Решение: нарезка запроса на диапазоны по звёздам, каждый слайс укладывается в свой лимит:

topic:mcp-server stars:>=30 topic:mcp-server stars:10..29 topic:mcp-server stars:4..9 topic:mcp-server stars:2..3 topic:mcp-server stars:1 topic:mcp-server stars:0 674456d1c48a73fa9619e407e5e27480

У PyPI поискового API нет вообще. Есть simple‑индекс: один JSON на 42 мегабайта со списком всех 900 тысяч пакетов. Качаем целиком, фильтруем по вхождению mcp (получается около 19 тысяч кандидатов), затем инкрементально забираем метаданные, по две тысячи новых пакетов за прогон.

PulseMCP оказался самым капризным: их API случайным образом отвечает 410 Gone примерно на половину запросов. Один и тот же URL: 200, 410, 200, 410. Лечится ретраями с бэкоффом.

Docker, наоборот, образцовый источник: курируемый неймспейс mcp/ на Docker Hub, и это единственное место, где установочной команде можно верить сразу.

Дедупликация и мусор

Один и тот же сервер живёт в npm, GitHub и трёх каталогах под разными именами. Поэтому сырые размеры каталогов сравнивать бессмысленно: краулер считает форки и мёртвые пакеты, куратор считает проверенное. Мы дедуплицируем по источнику и слагу, при конфликте приоритет у курируемых записей.

Второе открытие: примерно 30% пакетов со словом mcp в названии вообще не серверы. Это клиенты, SDK, обвязки и учебные демки. Отсеиваем эвристиками по описанию, наличию инструментов и структуре репозитория. То, что просочилось, не попадает в поиск и sitemap: за свалку тонких страниц поисковики наказывают весь домен.

Установочные команды нельзя угадывать

Частая ошибка каталогов: у записи из краула нет опубликованного пакета, но кнопка установки всё равно показывает npx. Получается команда, которая запускает ничего. Наше правило: не знаешь команду, не показывай команду. Отдельный процесс ходит по репозиториям и резолвит реальный способ установки (npm‑пакет, uvx, docker run, clone‑and‑build), до этого страница ведёт на репозиторий.

Когда команда известна, установка работает в один клик: кнопка определяет клиент и отдаёт deep‑link (cursor://, vscode://), готовый конфиг‑блок для Claude Desktop или команду claude mcp add. Для ChatGPT и claude.ai, где серверы подключаются как коннекторы, генерируется пошаговый мастер.

Security‑сканы

Ставить случайный сервер из интернета в свой Claude рискованно: он получает env‑переменные и доступ ко всему, что вы ему выдали. Каждый сервер в каталоге проходит статический скан: какие переменные окружения запрашивает, какие разрешения подразумевает, жив ли репозиторий, когда был последний релиз. Из этого собирается score, он виден на странице сервера до установки.

Health‑чеки remote‑серверов

Remote MCP подключается по URL, и мёртвых эндпоинтов в экосистеме больше, чем хотелось бы. Раз в час мы дёргаем каждый remote‑эндпоинт настоящим JSON‑RPC initialize (не пингом: сервер может отвечать на ping и не быть MCP). Ответ с кодом меньше 500 означает живой, включая 401, это сервер, который просто хочет OAuth. Статус и время проверки видны на странице.

Шлюз: весь каталог через одно подключение

Для тех, кому лень ставить серверы по одному, есть gateway.unyly.org/mcp: один remote‑сервер с OAuth 2.1, который отдаёт агенту три мета‑инструмента: search_mcps (поиск по каталогу), list_mcp_tools (посмотреть инструменты сервера), use_mcp_tool (вызвать). Агент сам находит нужный сервер и работает с ним, ничего не устанавливая. Подключается к Claude, ChatGPT и Cursor одной строкой.

Цифры и карта экосистемы

Живую статистику публикуем открыто: количество серверов по языкам и источникам, динамика по неделям, доля remote, покрытие сканами. Это на unyly.org/stats, можно ссылаться. Там же честная карта всех каталогов экосистемы, включая конкурентов, с реальными размерами: unyly.org/mcp‑directories.

Каталог бесплатный, платных размещений нет. Если у вас свой сервер, добавьте его через unyly.org/submit: попадёт в поиск, сравнения и к AI‑краулерам.

Про отдельное приключение, как заставить Google индексировать 80 тысяч программатик‑страниц (спойлер: fetch README с GitHub на каждый запрос убивает crawl budget), напишу отдельно, если интересно. На вопросы отвечу в комментариях.

Источник: habr.com

Оцените материал:

Поделиться
Понравилась статья? Расскажите другим
ВКонтакте
Читайте также
Архив рубрики ~Коротко из Telegram~ ⭐️В России услуги ЖКХ подорожают на 60% до 2029 года… Архив рубрики ~Коротко из Telegram~ ИИ забрал почти 70% заявок на технологическую премию Москвы и… Архив рубрики ~Коротко из Telegram~ 📦 MWS станет технологическим партнёром СДЭК по облаку и ИИ… Архив рубрики ~Коротко из Telegram~ Новость из Telegram 28.09.2026 12:46 Архив рубрики ~Коротко из Telegram~ Пугающая разница про два захода на YouTube. Неделю назад выложил… Архив рубрики ~Коротко из Telegram~ Ого, Miro покупают на 90% дешевле пика! Только что вышел… Архив рубрики ~Коротко из Telegram~ Представьте, смотрите YouTube (давайте пока без NSFW), останавливаете ролик и… Архив рубрики ~Коротко из Telegram~ Искусственный интеллект все — Трамп приказал переименовать его в «Супер… Архив рубрики ~Коротко из Telegram~ Потестил бесплатный апскейлер для фотографий и видео 🔗 freeupscaler.app/image-upscaler ➕… Архив рубрики ~Коротко из Telegram~ ИИ, который разобрал 724 рекламы за 40 секунд 💪 Появился… Новости робототехники Google DeepMind представила Gemini Robotics 2 — семейство моделей для… Новости робототехники RoboDojo — единый бенчмарк воплощённого искусственного интеллекта в робототехнике Исследовательская… Новости робототехники Дрон вместо патрульного: в Казахстане беспилотник с громкоговорителем напоминает пешеходам… Новости робототехники Росреестр переходит на новые технологии: создавать онлайн-карты будут дроны Росреестр… Архив рубрики ~Коротко из Telegram~ ⭐️В России услуги ЖКХ подорожают на 60% до 2029 года… Архив рубрики ~Коротко из Telegram~ ИИ забрал почти 70% заявок на технологическую премию Москвы и… Архив рубрики ~Коротко из Telegram~ 📦 MWS станет технологическим партнёром СДЭК по облаку и ИИ… Архив рубрики ~Коротко из Telegram~ Новость из Telegram 28.09.2026 12:46 Архив рубрики ~Коротко из Telegram~ Пугающая разница про два захода на YouTube. Неделю назад выложил… Архив рубрики ~Коротко из Telegram~ Ого, Miro покупают на 90% дешевле пика! Только что вышел… Архив рубрики ~Коротко из Telegram~ Представьте, смотрите YouTube (давайте пока без NSFW), останавливаете ролик и… Архив рубрики ~Коротко из Telegram~ Искусственный интеллект все — Трамп приказал переименовать его в «Супер… Архив рубрики ~Коротко из Telegram~ Потестил бесплатный апскейлер для фотографий и видео 🔗 freeupscaler.app/image-upscaler ➕… Архив рубрики ~Коротко из Telegram~ ИИ, который разобрал 724 рекламы за 40 секунд 💪 Появился… Новости робототехники Google DeepMind представила Gemini Robotics 2 — семейство моделей для… Новости робототехники RoboDojo — единый бенчмарк воплощённого искусственного интеллекта в робототехнике Исследовательская… Новости робототехники Дрон вместо патрульного: в Казахстане беспилотник с громкоговорителем напоминает пешеходам… Новости робототехники Росреестр переходит на новые технологии: создавать онлайн-карты будут дроны Росреестр…

Оставить комментарий