Сервер Kujolang.ai MCP
Версия 0.2.0 — это предварительная версия сервера каталога, усиленная с точки зрения безопасности и работающая только в режиме чтения. Исходный релиз и размещённый каталог обновляются независимо друг от друга. Текущую версию каталога можно проверить через /health и сформированные подтверждения происхождения данных. Существующие ограничения эксплуатации и совместимости описаны в документах по ссылкам.
kujolang-mcp — это сервер Model Context Protocol, работающий только в режиме чтения и предназначенный для поиска проектов Kujo, примитивов, инструментов, демонстрационных примеров, навыков агентов, рабочих процессов и проверенных рекомендаций по установке. Среда выполнения и все пользовательские утилиты написаны на Kujo.
Этот репозиторий содержит сервер каталога Kujolang.ai, а не универсальный фреймворк kujolang/mcp. Сервер следует соглашениям этого фреймворка, но при этом может развёртываться независимо и предназначен для конкретного продукта.
Готовность
В репозитории находятся эталонный сервер на родном языке и сгенерированная целевая версия для Cloudflare Worker. Публичный сервис работает в заданных пределах, не хранит состояние, выдаёт детерминированные результаты и доступен только для чтения. Worker генерируется из определений Kujo и проверенного каталога; Cloudflare исполняет сгенерированный артефакт JavaScript, а не исходный код Kujo. Это не означает наличия формальной сертификации для корпоративного использования.
После успешной проверки развёртывания публичный URL будет https://mcp.kujolang.ai/mcp, а адрес проверки работоспособности — https://mcp.kujolang.ai/health. Локальный запуск доступен в любом случае.
Возможности для агентов
-
Получать сведения о Kujo и текущем публичном каталоге.
-
Просматривать и искать проекты, примитивы, инструменты, демонстрационные примеры, навыки и рабочие процессы.
-
Получать точные записи со ссылками на источники, текстом инструкций по установке, версиями и примечаниями об области применения.
-
Получать небольшие детерминированные рекомендации по стеку для конкретных задач.
-
Изучать стандартные, сгруппированные и полные профили установки без их запуска.
-
Находить возможности WebOps, не расходуя лимит результатов на нерелевантные поисковые совпадения.
Все семь инструментов работают только для чтения, выдают детерминированные результаты и идемпотентны. Сервер не предоставляет инструментов для записи, произвольной загрузки данных по URL, ввода путей к файловой системе или команд оболочки, установки пакетов, выполнения развёртывания и чтения секретов.
Быстрый старт
Используйте среду выполнения Kujo с командами run, test и стандартной библиотекой HTTP:
cd /path/to/kujolang-mcp
kujo run server.kujo -- --self-check
kujo run server.kujo
Локальная конечная точка — http://127.0.0.1:8941/mcp; /mcp/v1 служит псевдонимом для совместимости, а /health — конечной точкой проверки работоспособности.
Настройка локального клиента Streamable HTTP:
{
"mcpServers": {
"kujolang": {
"type": "http",
"url": "http://127.0.0.1:8941/mcp"
}
}
}
Сервер объявляет поддержку MCP 2026-07-28 и версии 2025-06-18, использовавшейся во время рукопожатия. В production-конфигурации для запросов 2026 года включена строгая привязка Mcp-Method и Mcp-Name.
Интерфейс MCP
| Инструмент | Назначение |
|---|---|
get_kujo_overview | Описывает Kujo, количество записей в каталоге, порядок поиска и границы доверия |
list_ecosystem | Фильтрует проекты, навыки и рабочие процессы по типу или категории |
search_kujo_catalog | Ищет в метаданных опубликованного публичного каталога |
get_catalog_item | Возвращает одну точную запись и рекомендации, основанные на источниках |
recommend_kujo_stack | Подбирает компактный детерминированный набор решений для задачи |
get_installation | Предоставляет стандартные рекомендации по установке, а также рекомендации для профилей core, AI, quality, showcase, operating или complete |
list_webops_capabilities | Выполняет поиск только в коллекции возможностей WebOps |
Шесть ресурсов предоставляют сведения об обзоре, проектах, навыках, рабочих процессах, установке и безопасности. Три подсказки помогают выбрать стек, спланировать внедрение и найти возможности WebOps.
Структура репозитория
server.kujo Thin stable launcher
src/runtime.kujo Configuration, modes, and HTTP routing
src/http_security.kujo Transport guards and security headers
src/protocol.kujo JSON-RPC and MCP dispatch
src/registry.kujo Tools, resources, and prompts
src/catalog.kujo Catalog validation, indexing, and search
data/catalog.json Reviewed deterministic catalog snapshot
scripts/sync_catalog.kujo Kujo-only catalog synchronization
scripts/generate_worker.kujo Kujo-only Worker generation
dist/worker.js Reviewed generated Cloudflare Worker
wrangler.jsonc Free-tier Worker deployment configuration
benchmarks/search_benchmark.kujo Kujo-only search benchmark
tests/ Kujo test suites and snapshots
Манифесты, политики, конфигурация, лицензия, документация и минимальный файл запуска находятся в корне, поскольку менеджеры пакетов, операторы и хостинги репозиториев ищут их именно там. Реализация приложения расположена в src/.
Целостность каталога и синхронизация
При запуске встроенный каталог проходит проверку схемы, структуры записей, уникальности slug, количества элементов и контрольной суммы содержимого SHA-256. При обработке production-запросов сервер не обращается к соседней копии сайта и не загружает данные с удалённых URL.
Чтобы сформировать или проверить каталог, укажите проверенную копию Kujolang.ai:
kujo run scripts/sync_catalog.kujo -- --site /path/to/kujolang.ai
kujo run scripts/sync_catalog.kujo -- --site /path/to/kujolang.ai --check
Синхронизатор отклоняет повторяющиеся или некорректные slug, а также неожиданные схемы URL источников. Состав профилей установки считывается из общедоступного установщика сайта, а не дублируется вручную. Ревизия каталога учитывает записи и профили установки. Она позволяет обнаружить случайное повреждение снимка, но не заменяет подписанные релизы и проверку человеком.
Текущий снимок содержит 57 проектов, 135 навыков и 45 записей о рабочих процессах — всего 237 записей: 44 комплекта и Publishing House Operator. В источнике нет авторитетного отдельного каталога агентов; связанные с агентами проекты, SDK, навыки и рабочие процессы доступны для поиска под своими фактическими типами источников, а не представлены как вымышленные записи об агентах.
Описание подсказки для автономного агента, который еженедельно проверяет точность данных в источниках, обновляет GitHub, выполняет развёртывание через настроенный рабочий процесс хостинга и проверяет актуальность каталога в production, см. в документе Еженедельное обновление.
Меры безопасности и производительности
-
Длина полей поиска ограничена; перед обработкой каталога нормализованные поисковые термины устраняются от повторов и ограничиваются по количеству.
-
Поисковые поля и поля идентификации индексируются один раз при загрузке каталога.
-
Заголовок Host обязателен и проверяется по списку разрешённых значений; если передан заголовок Origin браузера, его значение должно точно совпадать с разрешённым.
-
Для JSON-запросов требуется тип содержимого
application/json; кроме того, размер тела запроса ограничен настройкой, конверты проверяются, параметры должны быть объектами, а ошибки возвращаются в детерминированном формате. -
Ответы содержат защитные заголовки no-store, no-sniff, frame, referrer, resource и content security.
-
Локальное ограничение частоты запросов использует ограниченное число корзин по IP-адресам узлов и последовательный допуск обработчиков, чтобы избежать гонок при обновлении счётчиков. Проверки работоспособности не расходуют квоту, но подчиняются общему ограничению нагрузки.
-
Запуск не с локального интерфейса завершается ошибкой, если явно не подтверждено наличие ограничений на доверенном входном узле. Публичные слушатели отказываются использовать локальный ограничитель приложения, поскольку публичные квоты и общую нагрузку необходимо контролировать на входном узле.
Kujo 1.9.0 ограничивает буферизацию транспортного уровня 8 MiB; после этого каталог применяет собственный меньший лимит — 128 KiB UTF-8. Публичный входящий трафик на сервере должен ограничиваться меньшим значением до перенаправления запросов. Worker ограничивает объём потоковых данных до их разбора. Актуальные лимиты, изменения совместимости и непроверенные условия развёртывания описаны в документе Усиление защиты в production.
Проверка
kujo run scripts/sync_catalog.kujo -- --site /path/to/kujolang.ai --check
kujo run server.kujo -- --self-check
kujo run tests/run_all.kujo
kujo run benchmarks/search_benchmark.kujo
kujo run scripts/generate_worker.kujo -- --framework /path/to/mcp
node --check dist/worker.js
Требования к развёртыванию в production
Явно выберите production-конфигурацию:
KUJOLANG_MCP_CONFIG=mcp-server.production.example.json \
kujo run server.kujo
Доверенный входной узел должен:
-
Завершать TLS-соединение и быть единственным сетевым узлом, которому разрешён доступ к слушателю Kujo.
-
До перенаправления запросов ограничивать размер тела, время ожидания соединения и чтения, частоту запросов от каждого клиента, а также общую нагрузку.
-
Перезаписывать или отбрасывать подделываемые клиентские заголовки идентификации.
-
Перенаправлять только запросы к
/mcpи/health, используя точное публичное значение Host. -
Обеспечивать сбор метрик доступа и ошибок, оповещения, ограничения ёмкости и маршрутизацию инцидентов.
Для доступа к публичному каталогу намеренно не нужны учётные данные пользователей. Если в систему будут добавлены приватные данные или данные клиентов, удалённая загрузка, запись или выполнение команд, модель полномочий необходимо пересмотреть, а аутентификация станет обязательной.
Полное описание границ безопасности приведено в SECURITY.md, а список дальнейших задач по подготовке к production — в документе NEXT_SESSION_REVIEW.md.
Лицензия
MIT
Актуальность выпусков
Поля version и latest_release_url в каталоге указывают на опубликованный выпуск компонента, если он существует. Поле scope_note описывает изменения в основной ветке, поддержку предварительных версий и требования к оператору. source_version в каталоге — это версия сайта, а не среды выполнения Kujo; актуальная среда выполнения указана в записи kujo. Для частных проектов поля с общедоступными исходными кодами и инструкциями по установке остаются пустыми.
Проверка от 9 сентября охватывает все 86 общедоступных репозиториев организации, 135 записей выпущенных навыков и все 44 рабочих процесса из дистрибутива 0.6.0. Инвентаризация исходных данных находится в evidence/ecosystem-refresh-2026-09-09/.
Для формирования каталога и проверки утверждений используйте Kujo 1.9.0. Node проверяет сгенерированный JavaScript Worker и его соответствие собственной реализации; для размещённого каталога только для чтения Node не требуется. Ни один из серверов не устанавливает и не выполняет команды, возвращаемые в содержимом каталога.
После развёртывания запустите node tests/production_catalog_test.mjs, чтобы сравнить все общедоступные записи каталога и профили установщика с проверенным сгенерированным Worker. Чтобы сохранить JSON-квитанцию, задайте RECEIPT_PATH. Тест отправляет только запросы MCP на чтение и никогда не выполняет команды установки.
В записи среды выполнения Kujo указан опубликованный выпуск 1.9.0 для Linux x64/arm64, macOS x64/arm64 и Windows x64, включая пакеты среды выполнения npm. Wave C beta и Wave D alpha остаются экспериментальными; пакеты SDK для участников остаются частными и неопубликованными. Каталог работает только для чтения и не предоставляет полномочий на повторное воспроизведение.
Обновление от 29 сентября для сопутствующих компонентов включает Workcell, Ability и MCP 1.2.0. Документированные экспериментальные ограничения для сохранения данных, контролируемого выполнения приложений/STDIO и корреляции Git остаются в силе. Публикация Dispatch выполняется отдельно.
Обновление SSG от 29 сентября фиксирует SSG 1.1.0, экспериментальную поддержку WebMCP, включённую по умолчанию, и локальный пакет Ability версии 1.0.0, который версионируется независимо. Также синхронизированы проверенные инструкции по установке Kennel на сайте. Каталог работает только для чтения: он не выполняет сборку SSG и не развёртывает сайты.
Обновление Tribunal от 7 октября фиксирует Tribunal 1.0.2, усиление защиты под контролем локального оператора и точную команду установки для указанного тега. Границы сертификации развёртывания и режим работы каталога только для чтения сохраняются.
Запись Agent City, добавленная 8 октября, содержит Agent City 0.2.0, отдельный установщик, сведения о локальной области применения и ссылки на исходный код. Чтобы получить запись, вызовите get_catalog_item с параметром slug: "agent-city". Каталог не отправляет миссии и не выполняет команду установки. Демонстрационный комплект Howl содержит основанный на исходном коде автономный предварительный просмотр.
Обновление Commerce от 22 октября фиксирует Commerce 0.5.1, дополнительные модули обработки PostgreSQL и оплаты/восстановления Square, а также точную команду установки npm с указанием версии. Для расширенных функций сохраняются критерии приёмки. Каталог MCP предназначен только для поиска: он не выполняет платежи и не устанавливает пакеты.