Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
KAGGLE_KEYYesYour Kaggle API key (40-character hex string)
KAGGLE_USERNAMEYesYour Kaggle username (legacy auth scheme)
KAGGLE_MCP_ENABLE_PUBLISHNoSet to '1' to allow creating public datasets0
KAGGLE_MCP_SUBMISSION_CAPNoPer-competition daily submission budget5
KAGGLE_MCP_ENABLE_DESTRUCTIVENoSet to '1' to enable destructive operations (delete dataset/model)0

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
kaggle_whoamiA

Return the authenticated Kaggle username and credential source.

Does not transmit or echo the API key. Use to confirm the server resolved credentials for the expected account.

kaggle_statusA

Health check: credential validity, current per-competition submission budgets for this session, enabled safety switches, and the work-dir root.

kaggle_audit_logA

Return the session's append-only ledger of mutating actions (submit / create / version / delete) with timestamps and the submission budget at the time — every field redacted. Makes the safety machinery inspectable, which no other Kaggle MCP can offer (none track tokens or budgets).

kaggle_list_competitionsA

List/triage competitions as a compact ranked table (title, slug, prize, deadline, evaluation metric, category). Paginated. Read-only.

kaggle_competition_landscapeA

Pre-digested triage report of competitions: for each, the slug, prize, evaluation metric, deadline, and days_left — sorted by soonest deadline so you can decide what to enter at a glance. A single decision-ready artifact rather than raw endpoint output (which is what other Kaggle MCPs return).

kaggle_get_competitionA

Fetch one competition's details and a truncated, untrusted-wrapped rules digest. competition is the BARE slug (e.g. 'titanic'). Read-only.

kaggle_competition_leaderboardA

Public leaderboard capped to top-N (default 20) to protect context.

kaggle_leaderboard_trackA

Snapshot the public top-N and diff it against the LAST snapshot you took: per-team rank deltas, new entrants, biggest climbers, and (if your_team is given) your movement + who passed you. Kaggle has no historical-leaderboard endpoint, so this stateful local tracking is unique. PUBLIC leaderboard only; deltas are vs your previous snapshot, not an absolute time series.

kaggle_download_competition_filesA

Download competition data into an isolated work dir (zip auto-extracted with a zip-slip guard). Returns local paths + metadata, NOT file contents. Requires the competition's rules accepted (403 otherwise).

kaggle_eda_competitionA

Download a competition's data and return a pre-first-submission view: a compact pandas digest per CSV (shape/dtypes/missingness/correlations) PLUS a train-vs-test column diff that auto-infers the target — the orientation no other Kaggle MCP ships. Requires the competition rules accepted (403 else).

kaggle_competition_kickoffA

One-call competition kickoff: fetch the metric/deadline/rules, download the data if rules are accepted (otherwise tell you to accept first), run a train/test EDA with target auto-detection, and return a baseline plan plus your remaining submission budget. Collapses the manual setup ritual into a single decision-ready bundle — no other Kaggle MCP does this.

kaggle_submission_best_scoreA

Reduce raw submission history to the decision signal: best public score (respecting metric direction), first/best/latest trend, today's submission count, and any failure reasons — the 'is it worth iterating?' answer other servers leave as a raw list. Public scores only (private score is hidden until the deadline).

kaggle_accept_competition_rulesA

There is NO API to accept competition rules (it is a legal agreement). This returns the rules URL and instructs the user to accept it manually in the browser. It NEVER auto-accepts.

kaggle_preview_submissionA

Dry-run a submission: validate the file exists/size, report the budget impact, and return a single-use confirm_token required by kaggle_submit_to_competition. No side effects.

kaggle_submit_to_competitionA

Submit a predictions file. GATED: requires a valid confirm_token from kaggle_preview_submission AND available submission budget (~5/day/team). Consumes a daily slot — hard to undo. Returns submission status + remaining budget.

kaggle_list_submissionsB

List submission history with status and scores. Read-only.

kaggle_get_submission_scoreA

Poll the newest submission until scoring completes (bounded polling with backoff — NOT a hot loop) and return its public score. Closes the submit loop.

kaggle_search_datasetsB

Search datasets; return top ~10 as a compact ranked table (ref, title, downloads, updated, usability) — not raw JSON. Paginated.

kaggle_get_dataset_metadataA

Fetch a dataset's metadata + file listing. dataset is 'owner/slug'. Description text is untrusted-wrapped and truncated. Read-only.

kaggle_download_datasetA

Download a dataset (or single file) into an isolated work dir; zip auto-extracted with a zip-slip guard. Returns local paths + metadata.

kaggle_eda_datasetA

Download a dataset and return a COMPACT exploratory summary — shape, dtypes, missingness, target distribution, and top numeric correlations — computed locally with pandas. Never streams raw rows into context. This is the 'find data -> understand it' primitive that most Kaggle MCP servers lack (they dump raw files or just emit a prompt). dataset is 'owner/slug'.

kaggle_dataset_previewA

Safe first-N-rows preview of a dataset CSV — headers, dtypes, and up to n (<=50) width-capped rows, wrapped as untrusted content. 'What does the data look like?' without dumping the whole file or unbounded rows.

kaggle_create_datasetA

Create a NEW dataset from a local folder. PRIVATE by default. Making it public requires KAGGLE_MCP_ENABLE_PUBLISH=1 AND a confirm_token from a preview. Async — returns 'queued'; poll kaggle_dataset_status. The folder must contain a valid dataset-metadata.json (id, title, licenses).

kaggle_preview_publish_datasetB

Issue a confirm_token to publish a dataset publicly. Surfaces that the data WILL become world-visible. No side effects.

kaggle_version_datasetA

Push a new version/revision of an existing dataset from a local folder (persists engineered features across runs). Async; non-destructive (adds a version).

kaggle_dataset_statusB

Poll the processing status of a dataset create/version op. Read-only.

kaggle_delete_datasetA

Delete a dataset and ALL its versions — IRREVERSIBLE. Disabled unless the server was started with KAGGLE_MCP_ENABLE_DESTRUCTIVE=1, AND requires a confirm_token. Never defaults to yes.

kaggle_preview_delete_datasetA

Issue a confirm_token for an irreversible dataset delete. No side effects.

kaggle_search_discussionsA

Search/list Kaggle discussion topics. Returns a compact table (title, author, votes, comments, forum, url). READ-ONLY — there is intentionally no post/reply/vote tool (the API has none). Titles are external untrusted text; drill into a thread with kaggle_get_discussion(topic_id).

kaggle_search_writeupsA

Search competition SOLUTION write-ups — the post-competition explanations of what actually won. The highest-signal source for strategy research; pairs with the /kaggle-solution-research prompt. Read-only and untrusted-fenced; drill into one with kaggle_get_discussion(topic_id). Powered by the Kaggle 'competition_write_ups' discussion category.

kaggle_get_discussionA

Read a discussion topic's messages. Each message body is fenced as and truncated. READ-ONLY — no reply/comment/vote.

kaggle_list_kernelsA

List/search notebooks (kernels) as a compact table. Paginated. Read-only.

kaggle_pull_kernelA

Pull a kernel's source (and optionally metadata) into a local work dir. Source code is untrusted-wrapped and truncated. kernel is 'owner/slug'.

kaggle_push_kernelA

Push (create/update AND queue-run) a notebook from a local folder, using Kaggle's free GPU/TPU. Requires a valid kernel-metadata.json. PRIVATE by default (set is_private:true in metadata). Async — poll kaggle_kernel_status.

kaggle_kernel_statusB

Poll a kernel run's status (running|complete|error|cancelAcknowledged).

kaggle_kernel_outputC

Download a completed kernel's output files and logs into a local work dir. Log tail is untrusted-wrapped and truncated. Read-only fetch.

kaggle_list_modelsA

List/search published models as a compact table. Paginated. Read-only.

kaggle_get_modelA

Fetch a model's metadata and instances/variations. model is 'owner/slug'. Description is untrusted-wrapped. Read-only.

kaggle_download_modelA

Download a specific model instance version's artifacts into a work dir. model_version is 'owner/model/framework/variation/version'. Returns paths.

kaggle_delete_modelA

Delete a model — IRREVERSIBLE. Disabled unless KAGGLE_MCP_ENABLE_DESTRUCTIVE=1, and requires a confirm_token from kaggle_preview_delete_model.

kaggle_preview_delete_modelB

Issue a confirm_token for an irreversible model delete. No side effects.

Prompts

Interactive templates invoked by user choice

NameDescription
kaggle_edaTemplated exploratory-data-analysis workflow for a dataset.
kaggle_submit_checklistGuided, safe pre-submission workflow.
kaggle_landscapeGenerate a pre-digested competition landscape/triage report.
kaggle_solution_researchResearch prior techniques/solutions for a competition.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/parkseokjune/kaggle-mcp'

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