← WebMCP Directory

Tool tree

victorious-sea-029fc1400.6.azurestaticapps.net

Developer ToolsTools verified
Website
A Jupyter-inspired Python notebook rebuilt with Microsoft Fluent UI.
Explore capabilities
    get_notebook_stateAnswer

    Read the visible notebook cells (source, outputs, table and chart summaries, status), Python kernel status, selected cell, and current theme.

    View tool JSON
    {
      "name": "get_notebook_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the visible notebook cells (source, outputs, table and chart summaries, status), Python kernel status, selected cell, and current theme.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    add_python_cellAction

    Append a new editable Python code cell to the notebook. This does not execute the code. Cells accept Jupyter-style %pip install and !pip install lines; do not use micropip directly.

    View tool JSON
    {
      "name": "add_python_cell",
      "kind": "act",
      "impl": "imperative",
      "description": "Append a new editable Python code cell to the notebook. This does not execute the code. Cells accept Jupyter-style %pip install and !pip install lines; do not use micropip directly.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Python source code for the new cell.",
            "maxLength": 12000
          }
        },
        "required": [
          "code"
        ],
        "additionalProperties": false
      }
    }
    add_markdown_cellAction

    Append a Markdown cell for headings, explanations, notes, or conclusions.

    View tool JSON
    {
      "name": "add_markdown_cell",
      "kind": "act",
      "impl": "imperative",
      "description": "Append a Markdown cell for headings, explanations, notes, or conclusions.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "markdown": {
            "type": "string",
            "description": "Markdown content for the new cell.",
            "maxLength": 12000
          }
        },
        "required": [
          "markdown"
        ],
        "additionalProperties": false
      }
    }
    insert_cellAction

    Insert a new code or Markdown cell directly above or below an existing cell, so content can be placed in the middle of the notebook.

    View tool JSON
    {
      "name": "insert_cell",
      "kind": "act",
      "impl": "imperative",
      "description": "Insert a new code or Markdown cell directly above or below an existing cell, so content can be placed in the middle of the notebook.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cellId": {
            "type": "integer",
            "minimum": 1,
            "description": "Existing cell used as the anchor."
          },
          "position": {
            "type": "string",
            "enum": [
              "above",
              "below"
            ],
            "description": "Where to insert relative to the anchor cell (default below)."
          },
          "kind": {
            "type": "string",
            "enum": [
              "code",
              "markdown"
            ]
          },
          "source": {
            "type": "string",
            "maxLength": 12000
          }
        },
        "required": [
          "cellId"
        ],
        "additionalProperties": false
      }
    }
    update_cell_sourceAction

    Replace the source of an existing code or Markdown cell after reviewing or debugging it. This does not execute the cell. Cells accept Jupyter-style %pip install and !pip install lines; do not use micropip directly.

    View tool JSON
    {
      "name": "update_cell_source",
      "kind": "act",
      "impl": "imperative",
      "description": "Replace the source of an existing code or Markdown cell after reviewing or debugging it. This does not execute the cell. Cells accept Jupyter-style %pip install and !pip install lines; do not use micropip directly.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cellId": {
            "type": "integer",
            "minimum": 1,
            "description": "Cell to update."
          },
          "source": {
            "type": "string",
            "maxLength": 12000
          },
          "explanation": {
            "type": "string",
            "maxLength": 500
          }
        },
        "required": [
          "cellId",
          "source"
        ],
        "additionalProperties": false
      }
    }
    delete_cellSensitive Action

    Remove a cell from the notebook. The user can undo the deletion from the notebook.

    View tool JSON
    {
      "name": "delete_cell",
      "kind": "transact",
      "impl": "imperative",
      "description": "Remove a cell from the notebook. The user can undo the deletion from the notebook.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cellId": {
            "type": "integer",
            "minimum": 1,
            "description": "Cell to delete."
          }
        },
        "required": [
          "cellId"
        ],
        "additionalProperties": false
      }
    }
    move_cellAction

    Move a cell one position up or down in the notebook.

    View tool JSON
    {
      "name": "move_cell",
      "kind": "act",
      "impl": "imperative",
      "description": "Move a cell one position up or down in the notebook.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cellId": {
            "type": "integer",
            "minimum": 1,
            "description": "Cell to move."
          },
          "direction": {
            "type": "string",
            "enum": [
              "up",
              "down"
            ]
          }
        },
        "required": [
          "cellId",
          "direction"
        ],
        "additionalProperties": false
      }
    }
    run_python_cellAction

    Execute one existing Python cell in the in-browser kernel and return its text output, table summary, or error.

    View tool JSON
    {
      "name": "run_python_cell",
      "kind": "act",
      "impl": "imperative",
      "description": "Execute one existing Python cell in the in-browser kernel and return its text output, table summary, or error.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cellId": {
            "type": "integer",
            "minimum": 1,
            "description": "The numeric ID of the code cell to run."
          }
        },
        "required": [
          "cellId"
        ],
        "additionalProperties": false
      }
    }
    run_all_cellsAction

    Execute every Python code cell of the open notebook from top to bottom in the shared in-browser kernel, exactly like the Run all toolbar button: execution continues after a failing cell so one error does not hide the rest. Use it after adding or editing several cells, or after restart_kernel, instead of calling run_python_cell in a loop. Returns how many cells ran, every failure with its cell id and traceback tail, and the total duration.

    View tool JSON
    {
      "name": "run_all_cells",
      "kind": "act",
      "impl": "imperative",
      "description": "Execute every Python code cell of the open notebook from top to bottom in the shared in-browser kernel, exactly like the Run all toolbar button: execution continues after a failing cell so one error does not hide the rest. Use it after adding or editing several cells, or after restart_kernel, instead of calling run_python_cell in a loop. Returns how many cells ran, every failure with its cell id and traceback tail, and the total duration.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    comment_on_cellAction

    Attach a visible review, explanation, or debugging comment to an existing notebook cell.

    View tool JSON
    {
      "name": "comment_on_cell",
      "kind": "act",
      "impl": "imperative",
      "description": "Attach a visible review, explanation, or debugging comment to an existing notebook cell.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cellId": {
            "type": "integer",
            "minimum": 1,
            "description": "Cell to annotate."
          },
          "comment": {
            "type": "string",
            "maxLength": 2000
          }
        },
        "required": [
          "cellId",
          "comment"
        ],
        "additionalProperties": false
      }
    }
    read_cells_for_summaryAnswer

    When the user asks for a summary of each cell: read every cell (source, kind, status, output preview), write a one- or two-line summary per cell in your own words, then submit them with set_cell_summaries so they appear under the cells.

    View tool JSON
    {
      "name": "read_cells_for_summary",
      "kind": "answer",
      "impl": "imperative",
      "description": "When the user asks for a summary of each cell: read every cell (source, kind, status, output preview), write a one- or two-line summary per cell in your own words, then submit them with set_cell_summaries so they appear under the cells.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cellIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1
            },
            "maxItems": 200,
            "description": "Limit to specific cells; omit for every cell."
          }
        },
        "additionalProperties": false
      }
    }
    set_cell_summariesAction

    Display the summaries you wrote under the matching notebook cells (1-2 lines each). Pass an empty summary to clear one. Summaries also appear in the Outline panel.

    View tool JSON
    {
      "name": "set_cell_summaries",
      "kind": "act",
      "impl": "imperative",
      "description": "Display the summaries you wrote under the matching notebook cells (1-2 lines each). Pass an empty summary to clear one. Summaries also appear in the Outline panel.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "summaries": {
            "type": "array",
            "minItems": 1,
            "maxItems": 200,
            "items": {
              "type": "object",
              "properties": {
                "cellId": {
                  "type": "integer",
                  "minimum": 1
                },
                "summary": {
                  "type": "string",
                  "maxLength": 300
                }
              },
              "required": [
                "cellId",
                "summary"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "summaries"
        ],
        "additionalProperties": false
      }
    }
    summarize_notebookAnswer

    Return a concise structural summary of the notebook, including sections, code imports, execution state, and outputs.

    View tool JSON
    {
      "name": "summarize_notebook",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return a concise structural summary of the notebook, including sections, code imports, execution state, and outputs.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    suggest_python_completionAction

    Return context-aware Python code completions for the cursor in a notebook cell, including notebook symbols and pandas, NumPy, matplotlib, and DataFrame members.

    View tool JSON
    {
      "name": "suggest_python_completion",
      "kind": "act",
      "impl": "imperative",
      "description": "Return context-aware Python code completions for the cursor in a notebook cell, including notebook symbols and pandas, NumPy, matplotlib, and DataFrame members.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cellId": {
            "type": "integer",
            "minimum": 1,
            "description": "Cell to complete in."
          },
          "cursor": {
            "type": "integer",
            "minimum": 0
          }
        },
        "required": [
          "cellId"
        ],
        "additionalProperties": false
      }
    }
    find_file_bugsAnswer

    Statically analyze any project file and list problems with line numbers: Python syntax errors, undefined names, unused imports, unreachable code, risky patterns (pyflakes-powered), CSV column mismatches, invalid JSON, Markdown and requirements issues. Notebooks are checked cell by cell. Results also appear in the Problems panel.

    View tool JSON
    {
      "name": "find_file_bugs",
      "kind": "answer",
      "impl": "imperative",
      "description": "Statically analyze any project file and list problems with line numbers: Python syntax errors, undefined names, unused imports, unreachable code, risky patterns (pyflakes-powered), CSV column mismatches, invalid JSON, Markdown and requirements issues. Notebooks are checked cell by cell. Results also appear in the Problems panel.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string",
            "maxLength": 300,
            "description": "File name or path from Explorer; omit for the open file."
          }
        },
        "additionalProperties": false
      }
    }
    get_problemsAnswer

    List the problems currently shown in the Problems panel, including runtime errors captured from executed cells and files.

    View tool JSON
    {
      "name": "get_problems",
      "kind": "answer",
      "impl": "imperative",
      "description": "List the problems currently shown in the Problems panel, including runtime errors captured from executed cells and files.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    find_cell_errorsAnswer

    List every notebook cell whose latest execution failed, including its source and captured traceback.

    View tool JSON
    {
      "name": "find_cell_errors",
      "kind": "answer",
      "impl": "imperative",
      "description": "List every notebook cell whose latest execution failed, including its source and captured traceback.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    diagnose_cell_errorAction

    Inspect a failed cell and return a focused debugging suggestion based on its latest traceback.

    View tool JSON
    {
      "name": "diagnose_cell_error",
      "kind": "act",
      "impl": "imperative",
      "description": "Inspect a failed cell and return a focused debugging suggestion based on its latest traceback.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cellId": {
            "type": "integer",
            "minimum": 1,
            "description": "Failed cell."
          }
        },
        "required": [
          "cellId"
        ],
        "additionalProperties": false
      }
    }
    list_kernel_variablesAnswer

    List the variables defined in the Python kernel with their type, shape or length, and a short preview.

    View tool JSON
    {
      "name": "list_kernel_variables",
      "kind": "answer",
      "impl": "imperative",
      "description": "List the variables defined in the Python kernel with their type, shape or length, and a short preview.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    modify_chartAction

    Change an existing chart type, title, color, axes, labels, or data values in a notebook cell.

    View tool JSON
    {
      "name": "modify_chart",
      "kind": "act",
      "impl": "imperative",
      "description": "Change an existing chart type, title, color, axes, labels, or data values in a notebook cell.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cellId": {
            "type": "integer",
            "minimum": 1,
            "description": "Cell with an interactive chart."
          },
          "type": {
            "type": "string",
            "enum": [
              "bar",
              "line",
              "scatter"
            ]
          },
          "title": {
            "type": "string",
            "maxLength": 200
          },
          "color": {
            "type": "string",
            "pattern": "^#[0-9a-fA-F]{6}$"
          },
          "x": {
            "type": "string",
            "maxLength": 100
          },
          "y": {
            "type": "string",
            "maxLength": 100
          },
          "xLabel": {
            "type": "string",
            "maxLength": 120
          },
          "yLabel": {
            "type": "string",
            "maxLength": 120
          },
          "data": {
            "type": "array",
            "maxItems": 1000,
            "items": {
              "type": "object",
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  }
                ]
              }
            }
          }
        },
        "required": [
          "cellId"
        ],
        "additionalProperties": false
      }
    }
    explain_chartAction

    Explain the variables, range, average, extrema, and trend in an interactive notebook chart.

    View tool JSON
    {
      "name": "explain_chart",
      "kind": "act",
      "impl": "imperative",
      "description": "Explain the variables, range, average, extrema, and trend in an interactive notebook chart.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cellId": {
            "type": "integer",
            "minimum": 1,
            "description": "Cell with an interactive chart."
          }
        },
        "required": [
          "cellId"
        ],
        "additionalProperties": false
      }
    }
    list_project_filesAnswer

    List the Explorer folders, their colors, and files with their paths.

    View tool JSON
    {
      "name": "list_project_files",
      "kind": "answer",
      "impl": "imperative",
      "description": "List the Explorer folders, their colors, and files with their paths.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    read_project_fileAnswer

    Return the full text of any project file (Python, Markdown, CSV, text, JSON) or the cells of a notebook.

    View tool JSON
    {
      "name": "read_project_file",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the full text of any project file (Python, Markdown, CSV, text, JSON) or the cells of a notebook.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string",
            "maxLength": 300,
            "description": "File name or path such as data/iris.csv."
          }
        },
        "required": [
          "fileName"
        ],
        "additionalProperties": false
      }
    }
    edit_project_fileAction

    Edit any non-notebook project file: replace its whole content, or find and replace an exact snippet (optionally every occurrence). The file opens in the editor so the user can review the change.

    View tool JSON
    {
      "name": "edit_project_file",
      "kind": "act",
      "impl": "imperative",
      "description": "Edit any non-notebook project file: replace its whole content, or find and replace an exact snippet (optionally every occurrence). The file opens in the editor so the user can review the change.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string",
            "maxLength": 300
          },
          "content": {
            "type": "string",
            "maxLength": 200000,
            "description": "New full content of the file."
          },
          "find": {
            "type": "string",
            "maxLength": 20000,
            "description": "Exact text to replace."
          },
          "replace": {
            "type": "string",
            "maxLength": 20000
          },
          "replaceAll": {
            "type": "boolean"
          }
        },
        "required": [
          "fileName"
        ],
        "additionalProperties": false
      }
    }
    preview_project_fileAction

    Open a project file in the editor. Supports notebooks, CSV, Markdown, text, JSON, and Python files listed in Explorer.

    View tool JSON
    {
      "name": "preview_project_file",
      "kind": "act",
      "impl": "imperative",
      "description": "Open a project file in the editor. Supports notebooks, CSV, Markdown, text, JSON, and Python files listed in Explorer.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string",
            "description": "File name or path from Explorer."
          }
        },
        "required": [
          "fileName"
        ],
        "additionalProperties": false
      }
    }
    create_project_fileAction

    Create a new editable Python, Markdown, text, CSV, or JSON file in an Explorer folder.

    View tool JSON
    {
      "name": "create_project_file",
      "kind": "act",
      "impl": "imperative",
      "description": "Create a new editable Python, Markdown, text, CSV, or JSON file in an Explorer folder.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 120
          },
          "folderId": {
            "type": "string"
          },
          "content": {
            "type": "string",
            "maxLength": 2000000
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      }
    }
    get_file_pathAnswer

    Return the relative and project-rooted path of a file so it can be copied or referenced in code.

    View tool JSON
    {
      "name": "get_file_path",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the relative and project-rooted path of a file so it can be copied or referenced in code.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string",
            "maxLength": 300
          }
        },
        "required": [
          "fileName"
        ],
        "additionalProperties": false
      }
    }
    set_project_folder_colorAction

    Assign a color to a folder in Explorer.

    View tool JSON
    {
      "name": "set_project_folder_color",
      "kind": "act",
      "impl": "imperative",
      "description": "Assign a color to a folder in Explorer.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "folderId": {
            "type": "string"
          },
          "color": {
            "type": "string",
            "pattern": "^#[0-9a-fA-F]{6}$"
          }
        },
        "required": [
          "folderId",
          "color"
        ],
        "additionalProperties": false
      }
    }
    rename_project_fileAction

    Rename a file, notebook, or folder in Explorer with the same rules as the Explorer rename dialog. Pass the path shown by list_project_files or get_file_path (a bare file name works when it is unique) and the new name including its extension. Open tabs, the editor header, and Problems entries follow the new name. Protected folders, duplicate names in the same folder, empty names, and names containing a slash are rejected. Returns the old and the new path.

    View tool JSON
    {
      "name": "rename_project_file",
      "kind": "act",
      "impl": "imperative",
      "description": "Rename a file, notebook, or folder in Explorer with the same rules as the Explorer rename dialog. Pass the path shown by list_project_files or get_file_path (a bare file name works when it is unique) and the new name including its extension. Open tabs, the editor header, and Problems entries follow the new name. Protected folders, duplicate names in the same folder, empty names, and names containing a slash are rejected. Returns the old and the new path.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Current path or name of the file, notebook, or folder.",
            "maxLength": 400
          },
          "newName": {
            "type": "string",
            "description": "New name without slashes, including the file extension.",
            "maxLength": 120
          }
        },
        "required": [
          "path",
          "newName"
        ],
        "additionalProperties": false
      }
    }
    delete_project_fileSensitive Action

    Delete a file, notebook, or folder from Explorer, closing its editor tab and clearing its Problems entries. Deleting a folder also deletes the files inside it. Only the PROJECT folder itself is protected. Confirm with the user before calling this: nothing is restored afterwards.

    View tool JSON
    {
      "name": "delete_project_file",
      "kind": "transact",
      "impl": "imperative",
      "description": "Delete a file, notebook, or folder from Explorer, closing its editor tab and clearing its Problems entries. Deleting a folder also deletes the files inside it. Only the PROJECT folder itself is protected. Confirm with the user before calling this: nothing is restored afterwards.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Path or name of the file, notebook, or folder to delete.",
            "maxLength": 400
          }
        },
        "required": [
          "path"
        ],
        "additionalProperties": false
      }
    }
    move_project_fileAction

    Move a file or notebook into another Explorer folder, which changes the relative path that Python code must use to open it. Pass folderPath as the folder path from list_project_files, or "" (or "/") for the PROJECT root. Duplicate names in the target folder, protected folders, and moving a folder into itself or its own subfolder are rejected. Returns the old and the new path.

    View tool JSON
    {
      "name": "move_project_file",
      "kind": "act",
      "impl": "imperative",
      "description": "Move a file or notebook into another Explorer folder, which changes the relative path that Python code must use to open it. Pass folderPath as the folder path from list_project_files, or \"\" (or \"/\") for the PROJECT root. Duplicate names in the target folder, protected folders, and moving a folder into itself or its own subfolder are rejected. Returns the old and the new path.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Path or name of the file, notebook, or folder to move.",
            "maxLength": 400
          },
          "folderPath": {
            "type": "string",
            "description": "Destination folder path; \"\" or \"/\" means the PROJECT root.",
            "maxLength": 400
          }
        },
        "required": [
          "path",
          "folderPath"
        ],
        "additionalProperties": false
      }
    }
    import_notebook_from_urlAction

    Import a public Jupyter notebook from a GitHub, GitLab, Bitbucket, or Kaggle-hosted HTTPS .ipynb link. Replaces the current notebook after validating nbformat 4 JSON.

    View tool JSON
    {
      "name": "import_notebook_from_url",
      "kind": "act",
      "impl": "imperative",
      "description": "Import a public Jupyter notebook from a GitHub, GitLab, Bitbucket, or Kaggle-hosted HTTPS .ipynb link. Replaces the current notebook after validating nbformat 4 JSON.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Public HTTPS notebook URL.",
            "maxLength": 2000
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      }
    }
    import_notebook_from_jsonAction

    Create and open a new notebook from raw .ipynb JSON text that you fetched yourself. Use this whenever import_notebook_from_url cannot reach a notebook because the browser blocks the page from fetching it (CORS) or the host is not GitHub, GitLab, Bitbucket, or Kaggle: read the .ipynb yourself and pass its exact JSON here. Unlike import_notebook_from_url this keeps the current notebook and opens the imported one in a new tab. Returns the new notebook path and its cell count.

    View tool JSON
    {
      "name": "import_notebook_from_json",
      "kind": "act",
      "impl": "imperative",
      "description": "Create and open a new notebook from raw .ipynb JSON text that you fetched yourself. Use this whenever import_notebook_from_url cannot reach a notebook because the browser blocks the page from fetching it (CORS) or the host is not GitHub, GitLab, Bitbucket, or Kaggle: read the .ipynb yourself and pass its exact JSON here. Unlike import_notebook_from_url this keeps the current notebook and opens the imported one in a new tab. Returns the new notebook path and its cell count.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "description": "Raw nbformat 4 .ipynb JSON text.",
            "maxLength": 400000
          },
          "name": {
            "type": "string",
            "description": "Optional notebook name; \".ipynb\" is appended when missing.",
            "maxLength": 80
          }
        },
        "required": [
          "content"
        ],
        "additionalProperties": false
      }
    }
    get_notebook_ipynbAnswer

    Serialize a notebook to Jupyter nbformat 4 JSON, identical to what the Export .ipynb button downloads, including every cell source, captured output, and execution count. Use it to hand the notebook to another tool, to keep a copy before a risky edit, or to diff it against an earlier version. Defaults to the notebook in the active tab.

    View tool JSON
    {
      "name": "get_notebook_ipynb",
      "kind": "answer",
      "impl": "imperative",
      "description": "Serialize a notebook to Jupyter nbformat 4 JSON, identical to what the Export .ipynb button downloads, including every cell source, captured output, and execution count. Use it to hand the notebook to another tool, to keep a copy before a risky edit, or to diff it against an earlier version. Defaults to the notebook in the active tab.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string",
            "description": "Optional notebook name or path; defaults to the active notebook.",
            "maxLength": 400
          }
        },
        "additionalProperties": false
      }
    }
    profile_csv_fileAction

    Inspect a CSV file from Explorer and return its dimensions, missing values, inferred column types, distinct counts, and a small sample.

    View tool JSON
    {
      "name": "profile_csv_file",
      "kind": "act",
      "impl": "imperative",
      "description": "Inspect a CSV file from Explorer and return its dimensions, missing values, inferred column types, distinct counts, and a small sample.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string",
            "description": "CSV file name or path from Explorer.",
            "maxLength": 300
          }
        },
        "required": [
          "fileName"
        ],
        "additionalProperties": false
      }
    }
    clean_csv_fileAction

    Clean a CSV file in Explorer by dropping empty rows, removing duplicate rows, or both. The updated CSV remains editable in the project.

    View tool JSON
    {
      "name": "clean_csv_file",
      "kind": "act",
      "impl": "imperative",
      "description": "Clean a CSV file in Explorer by dropping empty rows, removing duplicate rows, or both. The updated CSV remains editable in the project.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string",
            "description": "CSV file name or path from Explorer.",
            "maxLength": 300
          },
          "dropEmptyRows": {
            "type": "boolean"
          },
          "removeDuplicates": {
            "type": "boolean"
          }
        },
        "required": [
          "fileName"
        ],
        "additionalProperties": false
      }
    }
    open_data_wranglerAction

    Open the Data Wrangler drawer for a CSV file, for the DataFrame output of a cell, or for a DataFrame variable in the kernel.

    View tool JSON
    {
      "name": "open_data_wrangler",
      "kind": "act",
      "impl": "imperative",
      "description": "Open the Data Wrangler drawer for a CSV file, for the DataFrame output of a cell, or for a DataFrame variable in the kernel.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string",
            "maxLength": 300
          },
          "cellId": {
            "type": "integer",
            "minimum": 1,
            "description": "Cell whose output table to open."
          },
          "variable": {
            "type": "string",
            "pattern": "^[A-Za-z_]\\w*$",
            "maxLength": 100
          }
        },
        "additionalProperties": false
      }
    }
    get_cell_tableAnswer

    Return the columns, dtypes, and rows (up to 1000) of the DataFrame shown under a cell.

    View tool JSON
    {
      "name": "get_cell_table",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the columns, dtypes, and rows (up to 1000) of the DataFrame shown under a cell.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cellId": {
            "type": "integer",
            "minimum": 1,
            "description": "Cell with a table output."
          },
          "maxRows": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000
          }
        },
        "required": [
          "cellId"
        ],
        "additionalProperties": false
      }
    }
    run_python_terminal_commandAction

    Execute Python, pip install, pip list, or browser environment commands in the docked terminal using the shared in-browser kernel.

    View tool JSON
    {
      "name": "run_python_terminal_command",
      "kind": "act",
      "impl": "imperative",
      "description": "Execute Python, pip install, pip list, or browser environment commands in the docked terminal using the shared in-browser kernel.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "maxLength": 12000
          }
        },
        "required": [
          "code"
        ],
        "additionalProperties": false
      }
    }
    read_terminal_outputAnswer

    Read the visible terminal transcript, active browser environment, and available environments before choosing the next command.

    View tool JSON
    {
      "name": "read_terminal_output",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the visible terminal transcript, active browser environment, and available environments before choosing the next command.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    create_python_environmentAction

    Create and activate a named conda-style browser environment, restarting the shared notebook kernel with isolated variables.

    View tool JSON
    {
      "name": "create_python_environment",
      "kind": "act",
      "impl": "imperative",
      "description": "Create and activate a named conda-style browser environment, restarting the shared notebook kernel with isolated variables.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9_-]+$",
            "maxLength": 50
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      }
    }
    install_python_packagesAction

    Install one or more Pyodide-compatible Python packages with pip in the active or selected browser environment and show the result in the terminal.

    View tool JSON
    {
      "name": "install_python_packages",
      "kind": "act",
      "impl": "imperative",
      "description": "Install one or more Pyodide-compatible Python packages with pip in the active or selected browser environment and show the result in the terminal.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "packages": {
            "type": "array",
            "minItems": 1,
            "maxItems": 20,
            "items": {
              "type": "string",
              "pattern": "^[a-zA-Z0-9_.-]+(?:==[a-zA-Z0-9_.+-]+)?$",
              "maxLength": 100
            }
          },
          "environment": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9_-]+$",
            "maxLength": 50
          }
        },
        "required": [
          "packages"
        ],
        "additionalProperties": false
      }
    }
    run_project_python_fileAction

    Open and run a Python file from Explorer in the shared browser kernel. Text output is sent to the terminal and generated charts are opened in the visualization drawer.

    View tool JSON
    {
      "name": "run_project_python_file",
      "kind": "act",
      "impl": "imperative",
      "description": "Open and run a Python file from Explorer in the shared browser kernel. Text output is sent to the terminal and generated charts are opened in the visualization drawer.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileName": {
            "type": "string",
            "description": ".py file name or path from Explorer.",
            "maxLength": 300
          }
        },
        "required": [
          "fileName"
        ],
        "additionalProperties": false
      }
    }
    restart_kernelAction

    Restart the shared in-browser Pyodide kernel like the Restart toolbar button: every variable, import, and execution count is dropped and all cell outputs and statuses are cleared. Use it when kernel state is inconsistent, after installing a package that shadows an import, or before a clean run_all_cells. It waits for a busy kernel to finish first and returns once the kernel is ready again, or reports the kernel state if the wait times out.

    View tool JSON
    {
      "name": "restart_kernel",
      "kind": "act",
      "impl": "imperative",
      "description": "Restart the shared in-browser Pyodide kernel like the Restart toolbar button: every variable, import, and execution count is dropped and all cell outputs and statuses are cleared. Use it when kernel state is inconsistent, after installing a package that shadows an import, or before a clean run_all_cells. It waits for a busy kernel to finish first and returns once the kernel is ready again, or reports the kernel state if the wait times out.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "timeoutMs": {
            "type": "integer",
            "minimum": 1000,
            "maximum": 60000,
            "description": "How long to wait for a busy or starting kernel before giving up (default 20000)."
          }
        },
        "additionalProperties": false
      }
    }
    set_terminal_visibilityAction

    Open or close the docked terminal / problems panel, optionally choosing which tab to show.

    View tool JSON
    {
      "name": "set_terminal_visibility",
      "kind": "act",
      "impl": "imperative",
      "description": "Open or close the docked terminal / problems panel, optionally choosing which tab to show.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "visible": {
            "type": "boolean"
          },
          "tab": {
            "type": "string",
            "enum": [
              "terminal",
              "problems"
            ]
          }
        },
        "required": [
          "visible"
        ],
        "additionalProperties": false
      }
    }
    get_current_userAnswer

    Return who is signed in to Fluent Notebook (name, provider, user id) when the Azure host provides authentication, or report that the workspace is anonymous.

    View tool JSON
    {
      "name": "get_current_user",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return who is signed in to Fluent Notebook (name, provider, user id) when the Azure host provides authentication, or report that the workspace is anonymous.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    save_workspace_to_cloudAction

    Save every project file, folder, notebook cell, and environment name to the signed-in user's private Azure Blob Storage workspace. Requires the user to be signed in.

    View tool JSON
    {
      "name": "save_workspace_to_cloud",
      "kind": "act",
      "impl": "imperative",
      "description": "Save every project file, folder, notebook cell, and environment name to the signed-in user's private Azure Blob Storage workspace. Requires the user to be signed in.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    load_workspace_from_cloudAction

    Replace the current project with the signed-in user's workspace saved in Azure Blob Storage. Requires the user to be signed in.

    View tool JSON
    {
      "name": "load_workspace_from_cloud",
      "kind": "act",
      "impl": "imperative",
      "description": "Replace the current project with the signed-in user's workspace saved in Azure Blob Storage. Requires the user to be signed in.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    set_notebook_themeAction

    Switch the Fluent Notebook appearance between light and dark theme.

    View tool JSON
    {
      "name": "set_notebook_theme",
      "kind": "act",
      "impl": "imperative",
      "description": "Switch the Fluent Notebook appearance between light and dark theme.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "theme": {
            "type": "string",
            "enum": [
              "light",
              "dark"
            ]
          }
        },
        "required": [
          "theme"
        ],
        "additionalProperties": false
      }
    }