# kernel_push

Push a new version of a kernel or create a new kernel.

Agent View of the PolicyLayer registry record for `kernel_push`. HTML page: https://policylayer.com/tools/54yyyu-kaggle-mcp/kernel-push

## Facts

- Tool: `kernel_push`
- Server: Kaggle-MCP (`54yyyu/kaggle-mcp`) — https://policylayer.com/tools/54yyyu-kaggle-mcp.md
- Homepage: https://github.com/54yyyu/kaggle-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "kernel_push",
    "arguments": {}
  }
}
```

## Why kernel_push is rated Medium

This tool creates or modifies kernel code/metadata on the Kaggle platform. It is reversible (kernels can be deleted, versions can be superseded, and edits can be undone). The impact is confined to the user's own kernel workspace. While it enables code execution in the Kaggle environment, the tool itself does not directly execute arbitrary code—it stages/pushes kernel definitions.

From the tool's own definition: "Tool description states 'Push a new version of a kernel or create a new kernel.' The verbs 'push' and 'create' indicate data modification operations that create or update kernel artifacts on Kaggle."

## Use case

AI agents use kernel_push to create or update resources in Kaggle-MCP, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Kaggle-MCP environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Kaggle-MCP:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "kernel_push": {
      "limits": [
        {
          "counter": "kernel_push_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Kaggle-MCP (43)

- `config_unset` — Destructive — https://policylayer.com/tools/54yyyu-kaggle-mcp/config-unset.md
- `model_delete` — Destructive — https://policylayer.com/tools/54yyyu-kaggle-mcp/model-delete.md
- `model_instance_delete` — Destructive — https://policylayer.com/tools/54yyyu-kaggle-mcp/model-instance-delete.md
- `model_instance_version_delete` — Destructive — https://policylayer.com/tools/54yyyu-kaggle-mcp/model-instance-version-delete.md
- `authenticate` — Other — https://policylayer.com/tools/54yyyu-kaggle-mcp/authenticate.md
- `competition_details` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/competition-details.md
- `competition_download_files` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/competition-download-files.md
- `competition_leaderboard` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/competition-leaderboard.md
- `competition_list_files` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/competition-list-files.md
- `competition_submissions` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/competition-submissions.md
- `competitions_list` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/competitions-list.md
- `config_view` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/config-view.md
- `dataset_download_files` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/dataset-download-files.md
- `dataset_list_files` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/dataset-list-files.md
- `dataset_metadata` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/dataset-metadata.md
- `dataset_status` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/dataset-status.md
- `datasets_list` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/datasets-list.md
- `kernel_list_files` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/kernel-list-files.md
- `kernel_output` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/kernel-output.md
- `kernel_pull` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/kernel-pull.md
- `kernel_status` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/kernel-status.md
- `kernels_list` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/kernels-list.md
- `model_get` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/model-get.md
- `model_instance_get` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/model-instance-get.md
- `model_instance_list_files` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/model-instance-list-files.md
- `model_instance_version_download` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/model-instance-version-download.md
- `model_instance_version_list_files` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/model-instance-version-list-files.md
- `models_list` — Read — https://policylayer.com/tools/54yyyu-kaggle-mcp/models-list.md
- `competition_submit` — Write — https://policylayer.com/tools/54yyyu-kaggle-mcp/competition-submit.md
- `config_path` — Write — https://policylayer.com/tools/54yyyu-kaggle-mcp/config-path.md
- …and 13 more: https://policylayer.com/tools/54yyyu-kaggle-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=54yyyu-kaggle-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/54yyyu-kaggle-mcp
