Сервер 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.
Настраивать
Клонируйте репозиторий:
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.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Он взаимодействует с API Kaggle, предоставляя инструменты для поиска и загрузки наборов данных, а также подсказку для создания блокнотов EDA.
Related MCP Servers
- AsecurityAlicenseAqualityAllows the use of Kagi's API for web searching and content enrichment through methods like fastgpt, enrich/web, and enrich/news.Last updated -2MIT License
- -securityAlicense-qualityConnects Claude AI to the Kaggle API through the Model Context Protocol, enabling competition, dataset, and kernel operations through the AI interface.Last updated -16MIT License
Dumpling AI MCP Serverofficial
AsecurityAlicenseAqualityIntegrates with Dumpling AI to provide data scraping, content processing, knowledge management, and code execution capabilities through tools for web interactions, document handling, and AI services.Last updated -271727MIT License- AsecurityAlicenseAqualityProvides tools to interact with the Dash documentation browser API, allowing users to list installed docsets, search across documentation, and enable full-text search.Last updated -346MIT License