Skip to main content
Glama

kaggle-mcp

Сервер 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.

Настраивать

  1. Клонируйте репозиторий:
    git clone <repository-url> cd <repository-directory>
  2. Создать виртуальную среду (рекомендуется):
    python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` # Or use uv: uv venv
  3. Установка зависимостей: Используя pip:
    pip install -r requirements.txt
    Или с помощью УФ:
    uv sync
  4. Настройте учетные данные 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.json из своей учетной записи Kaggle.
      • Поместите файл kaggle.json в ожидаемое место (обычно ~/.kaggle/kaggle.json в Linux/macOS или C:\Users\<Your User Name>\.kaggle\kaggle.json в Windows). Библиотека kaggle автоматически обнаружит этот файл, если переменные среды не установлены.

Запуск сервера

  1. Убедитесь, что ваша виртуальная среда активна.
  2. Запустите MCP-сервер:
    uv run kaggle-mcp
    Сервер запустится и зарегистрирует свои ресурсы, инструменты и подсказки. Вы можете взаимодействовать с ним с помощью клиента MCP или совместимых инструментов.

Запуск Docker-контейнера

1. Настройте учетные данные API Kaggle

Для доступа к наборам данных Kaggle этому проекту требуются учетные данные API Kaggle.

  • Перейдите по ссылке https://www.kaggle.com/settings и нажмите «Создать новый токен API», чтобы загрузить файл kaggle.json .
  • Откройте файл kaggle.json и скопируйте свое имя пользователя и ключ в новый файл .env в корне проекта:
KAGGLE_USERNAME=your_username KAGGLE_KEY=your_key

2. Создайте образ Docker

docker build -t kaggle-mcp-test .

3. Запустите контейнер Docker, используя файл .env.

docker run --rm -it --env-file .env kaggle-mcp-test

Это автоматически загрузит ваши учетные данные 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, чтобы включить следующее:

{ "mcpServers": { "kaggle-mcp": { "command": "kaggle-mcp", "cwd": "<path-to-their-cloned-repo>/kaggle-mcp" } } }

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

Агент ИИ или клиент MCP может взаимодействовать с этим сервером следующим образом:

  1. Агент: «Поиск на Kaggle наборов данных о «болезнях сердца»»
    • Сервер выполняет search_kaggle_datasets(query='heart disease')
  2. Агент: «Загрузить набор данных 'user/heart-disease-dataset'»
    • Сервер выполняет download_kaggle_dataset(dataset_ref='user/heart-disease-dataset')
  3. Агент: «Создать запрос блокнота EDA для 'user/heart-disease-dataset'»
    • Сервер выполняет generate_eda_notebook(dataset_ref='user/heart-disease-dataset')
    • Сервер возвращает структурированное сообщение-подсказку.
  4. Агент: (Отправляет запрос в модель генерации кода) -> Получает код EDA Python.
Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

Он взаимодействует с API Kaggle, предоставляя инструменты для поиска и загрузки наборов данных, а также подсказку для создания блокнотов EDA.

  1. Структура проекта
    1. Настраивать
      1. Запуск сервера
        1. Запуск Docker-контейнера
          1. Настройте учетные данные API Kaggle
          2. Создайте образ Docker
          3. Запустите контейнер Docker, используя файл .env.
        2. Возможности сервера
          1. Инструменты
          2. Подсказки
        3. Подключение к Claude Desktop
          1. Пример использования

            Related MCP Servers

            • -
              security
              A
              license
              -
              quality
              Allows you to explore and manipulate kintone data using AI tools such as Claude Desktop!
              Last updated -
              9
              Go
              MIT License
              • Apple
              • Linux
            • A
              security
              A
              license
              A
              quality
              Allows the use of Kagi's API for web searching and content enrichment through methods like fastgpt, enrich/web, and enrich/news.
              Last updated -
              3
              2
              Python
              MIT License
              • Apple
            • A
              security
              A
              license
              A
              quality
              This server facilitates interaction with Keboola's Storage API, enabling users to browse and manage project buckets, tables, and components efficiently through Claude Desktop.
              Last updated -
              7
              67
              Python
              MIT License
              • Apple
            • A
              security
              A
              license
              A
              quality
              Enables integration with Kibela API for searching and retrieving notes, allowing LLMs to interact with Kibela content seamlessly.
              Last updated -
              3
              31
              6
              TypeScript
              MIT License
              • Apple
              • Linux

            View all related MCP servers

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/arrismo/kaggle-mcp'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server