🤖 Criage MCP Server

Документация по MCP серверу для интеграции Criage с AI инструментами через протокол Model Context Protocol.

Обзор

Criage MCP Server предоставляет полный функционал пакетного менеджера через протокол MCP (Model Context Protocol) для интеграции с AI инструментами.

Что такое MCP Server?

MCP Server позволяет AI ассистентам напрямую взаимодействовать с Criage для:

  • 🔍 Поиска и установки пакетов - AI может искать подходящие пакеты и устанавливать их
  • 📦 Управления зависимостями - автоматическое решение конфликтов и обновлений
  • 🆕 Создания новых пакетов - генерация структуры и настройка манифестов
  • 🔨 Сборки и публикации пакетов - автоматизация процесса выпуска
  • 📊 Получения информации - анализ состояния пакетов и репозиториев

Преимущества интеграции с AI

🎯 Интеллектуальный поиск

AI понимает ваши потребности и находит подходящие пакеты даже по неточным описаниям.

⚡ Автоматизация рутины

Автоматическое выполнение типовых операций: установка, обновление, создание проектов.

🔧 Умная настройка

AI помогает с конфигурацией и решением проблем совместимости.

Установка

Требования

  • Go 1.21 или выше
  • Установленный Criage
  • Claude Desktop или другой MCP клиент

Сборка сервера

# Перейти в директорию mcp-server
cd mcp-server

# Установить зависимости
go mod tidy

# Собрать сервер
go build -o criage-mcp-server.exe .
Примечание: На Windows используйте расширение .exe, на Linux/macOS можно без расширения.

Интеграция с Claude Desktop

Настройка конфигурации

Добавьте MCP Server в конфигурацию Claude Desktop:

Windows

Отредактируйте файл %APPDATA%\Claude\config.json:

{
  "mcpServers": {
    "criage": {
      "command": "C:\\путь\\к\\criage-mcp-server.exe",
      "args": [],
      "env": {}
    }
  }
}

Linux/macOS

Отредактируйте файл ~/.config/claude-desktop/config.json:

{
  "mcpServers": {
    "criage": {
      "command": "/path/to/criage-mcp-server",
      "args": [],
      "env": {}
    }
  }
}

Проверка интеграции

  1. Перезапустите Claude Desktop
  2. В новом чате должны появиться инструменты Criage
  3. Попробуйте запрос: "Покажи список доступных инструментов Criage"
Тест: Отправьте сообщение "Покажи все установленные пакеты" в Claude Desktop. AI должен использовать инструмент list_packages и показать результат.

Доступные инструменты

📦 Управление пакетами

  • install_package - Установка пакета из репозитория
  • uninstall_package - Удаление установленного пакета
  • update_package - Обновление пакета до последней версии
  • list_packages - Список всех установленных пакетов

🔍 Поиск и исследование

  • search_packages - Поиск пакетов по ключевым словам
  • package_info - Подробная информация о пакете
  • repository_info - Информация о репозитории

🛠️ Разработка

  • create_package - Создание нового пакета
  • build_package - Сборка пакета
  • publish_package - Публикация пакета в репозиторий

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

Каждый инструмент принимает различные параметры для точной настройки операций:

install_package

{
  "name": "package-name",        // Обязательно: имя пакета
  "version": "1.2.3",           // Необязательно: конкретная версия
  "global": false,              // Необязательно: глобальная установка
  "force": false,               // Необязательно: принудительная переустановка
  "arch": "amd64",             // Необязательно: целевая архитектура
  "os": "windows"              // Необязательно: целевая ОС
}

search_packages

{
  "query": "web framework",     // Обязательно: поисковый запрос
  "limit": 10,                 // Необязательно: максимум результатов
  "category": "web"            // Необязательно: фильтр по категории
}

Примеры использования

Поиск и установка пакета

Запрос пользователя: "Найди пакет для работы с JSON и установи его"

Действия AI:
1. Использует search_packages с запросом "JSON"
2. Анализирует результаты и выбирает подходящий пакет
3. Использует install_package для установки
4. Подтверждает успешную установку

Создание нового проекта

Запрос пользователя: "Создай новый пакет для REST API клиента"

Действия AI:
1. Использует create_package с подходящими параметрами
2. Настраивает манифест с описанием и зависимостями
3. Предлагает установить необходимые пакеты для разработки
4. Объясняет структуру созданного проекта

Управление зависимостями

Запрос пользователя: "Покажи все устаревшие пакеты и обнови их"

Действия AI:
1. Использует list_packages с фильтром устаревших
2. Для каждого устаревшего пакета использует update_package
3. Показывает результаты обновления
4. Предупреждает о возможных конфликтах

Анализ репозитория

Запрос пользователя: "Покажи статистику репозитория и самые популярные пакеты"

Действия AI:
1. Использует repository_info для получения статистики
2. Анализирует данные о количестве пакетов и авторах
3. Показывает топ популярных пакетов
4. Предоставляет рекомендации по использованию

Конфигурация

Автоматическая конфигурация

MCP Server использует стандартную конфигурацию Criage из ~/.criage/config.json. При первом запуске автоматически создается конфигурация по умолчанию:

{
  "repositories": [
    {
      "name": "default",
      "url": "http://localhost:8080", 
      "priority": 1,
      "enabled": true
    }
  ],
  "global_path": "~/.criage/packages",
  "local_path": "./criage_modules",
  "cache_path": "~/.criage/cache",
  "temp_path": "~/.criage/temp",
  "timeout": 30,
  "max_concurrency": 4,
  "compression_level": 3,
  "force_https": false
}

Переменные окружения

Для настройки поведения сервера можно использовать переменные окружения:

# Включить подробное логирование
set CRIAGE_DEBUG=1

# Переопределить путь к конфигурации
set CRIAGE_CONFIG_PATH=C:\custom\config.json

# Отключить цвета в выводе
set NO_COLOR=1

Настройка репозиториев

Если вы используете собственный репозиторий Criage, обновите конфигурацию:

{
  "repositories": [
    {
      "name": "production",
      "url": "https://packages.mycompany.com",
      "priority": 10,
      "enabled": true,
      "token": "your-access-token"
    },
    {
      "name": "development", 
      "url": "https://dev-packages.mycompany.com",
      "priority": 5,
      "enabled": true
    }
  ]
}

Устранение проблем

Сервер не запускается

Проблема: MCP Server не отвечает на запросы Claude Desktop

Решения:

  1. Убедитесь, что Go установлен корректно: go version
  2. Проверьте права доступа к исполняемому файлу
  3. Убедитесь, что директория ~/.criage доступна для записи
  4. Проверьте правильность пути в конфигурации Claude Desktop

Инструменты не отображаются в Claude

Проблема: Claude Desktop не показывает инструменты Criage

Решения:

  1. Проверьте синтаксис JSON в config.json
  2. Перезапустите Claude Desktop
  3. Убедитесь, что путь к серверу указан правильно
  4. Проверьте логи Claude Desktop на наличие ошибок

Ошибки при работе с пакетами

Проблема: Операции с пакетами завершаются с ошибками

Решения:

  1. Проверьте доступность репозитория Criage
  2. Убедитесь в правильности конфигурации репозитория
  3. Проверьте права доступа к директориям установки
  4. Включите отладочный режим: set CRIAGE_DEBUG=1

Отладка и логирование

Для диагностики проблем включите подробное логирование:

# Windows
set CRIAGE_DEBUG=1
criage-mcp-server.exe

# Linux/macOS  
export CRIAGE_DEBUG=1
./criage-mcp-server

Проверка совместимости

Убедитесь в совместимости версий:

  • Windows 10/11 - полная поддержка
  • Ubuntu 20.04+ - полная поддержка
  • macOS 10.15+ - полная поддержка
  • Claude Desktop - основной клиент
  • ⚠️ Другие MCP клиенты - базовая поддержка
Получение помощи: Если проблема не решается, создайте issue в GitHub репозитории с подробным описанием проблемы и логами отладки.