Сервер Kaggle MCP (протокол контекста модели)
Этот репозиторий содержит сервер MCP (Model Context Protocol) ( server.py ), созданный с использованием библиотеки fastmcp . Он взаимодействует с API Kaggle для предоставления инструментов для поиска и загрузки наборов данных, а также подсказки для генерации блокнотов EDA.
Структура проекта
server.py: Приложение сервера FastMCP. Оно определяет ресурсы, инструменты и подсказки для взаимодействия с Kaggle..env.example: Пример файла для переменных среды (учетные данные API Kaggle). Переименуйте в.envи заполните свои данные.requirements.txt: список необходимых пакетов Python.pyproject.tomlиuv.lock: метаданные проекта и заблокированные зависимости для менеджера пакетовuv.datasets/: каталог по умолчанию, в котором будут храниться загруженные наборы данных Kaggle.
Related MCP server: Kaggle-MCP
Настраивать
Клонируйте репозиторий:
git clone <repository-url> cd <repository-directory>Создать виртуальную среду (рекомендуется):
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` # Or use uv: uv venvУстановка зависимостей: Используя pip:
pip install -r requirements.txtИли с помощью УФ:
uv syncНастройте учетные данные API Kaggle:
Метод 1 (рекомендуемый): переменные среды
Создать файл
.envОткройте файл
.envи добавьте свое имя пользователя Kaggle и ключ API:KAGGLE_USERNAME=your_kaggle_username KAGGLE_KEY=your_kaggle_api_keyВы можете получить свой ключ API на странице вашего аккаунта Kaggle (
Account>API>Create New API Token). Это загрузит файлkaggle.json, содержащий ваше имя пользователя и ключ.
Метод 2: файл
Загрузите файл
kaggle.jsonиз своей учетной записи Kaggle.Поместите файл
kaggle.jsonв ожидаемое место (обычно~/.kaggle/kaggle.jsonв Linux/macOS илиC:\Users\<Your User Name>\.kaggle\kaggle.jsonв Windows). Библиотекаkaggleавтоматически обнаружит этот файл, если переменные среды не установлены.
Запуск сервера
Убедитесь, что ваша виртуальная среда активна.
Запустите MCP-сервер:
uv run kaggle-mcpСервер запустится и зарегистрирует свои ресурсы, инструменты и подсказки. Вы можете взаимодействовать с ним с помощью клиента MCP или совместимых инструментов.
Запуск Docker-контейнера
1. Настройте учетные данные API Kaggle
Для доступа к наборам данных Kaggle этому проекту требуются учетные данные API Kaggle.
Перейдите по ссылке https://www.kaggle.com/settings и нажмите «Создать новый токен API», чтобы загрузить файл
kaggle.json.Откройте файл
kaggle.jsonи скопируйте свое имя пользователя и ключ в новый файл.envв корне проекта:
2. Создайте образ Docker
3. Запустите контейнер Docker, используя файл .env.
Это автоматически загрузит ваши учетные данные Kaggle в качестве переменных среды внутри контейнера.
Возможности сервера
Сервер предоставляет следующие возможности через протокол контекста модели:
Инструменты
search_kaggle_datasets(query: str):Выполняет поиск наборов данных на Kaggle, соответствующих предоставленной строке запроса.
Возвращает список JSON из 10 лучших соответствующих наборов данных с такими подробностями, как ссылка, название, количество загрузок и дата последнего обновления.
download_kaggle_dataset(dataset_ref: str, download_path: str | None = None):Загружает и распаковывает файлы для определенного набора данных Kaggle.
dataset_ref: идентификатор набора данных в форматеusername/dataset-slug(например,kaggle/titanic).download_path(Необязательно): Указывает, куда загрузить набор данных. Если не указано, по умолчанию используется./datasets/<dataset_slug>/относительно расположения скрипта сервера.
Подсказки
generate_eda_notebook(dataset_ref: str):Генерирует подсказку, подходящую для модели ИИ (например, Gemini), для создания базовой записной книжки разведочного анализа данных (EDA) для указанного эталонного набора данных Kaggle.
В приглашении запрашивается код Python, охватывающий загрузку данных, проверку пропущенных значений, визуализацию и базовую статистику.
Подключение к Claude Desktop
Перейдите в Claude > Настройки > Разработчик > Изменить конфигурацию > claude_desktop_config.json, чтобы включить следующее:
Пример использования
Агент ИИ или клиент MCP может взаимодействовать с этим сервером следующим образом:
Агент: «Поиск на Kaggle наборов данных о «болезнях сердца»»
Сервер выполняет
Агент: «Загрузить набор данных 'user/heart-disease-dataset'»
Сервер выполняет
Агент: «Создать запрос блокнота EDA для 'user/heart-disease-dataset'»
Сервер выполняет
Сервер возвращает структурированное сообщение-подсказку.
Агент: (Отправляет запрос в модель генерации кода) -> Получает код EDA Python.