← WebMCP Directory

Tool tree

codeplaygroundwebmcp.vercel.app

Developer ToolsTools verified
Website
A WebMCP-enabled code playground that dynamically visualizes arrays, heaps, trees, graphs, grids, maps, sets, and Python traces.
Explore capabilities
    visualizer_get_workspaceAnswer

    Inspect the open Visualizer Playground, its run status, discovered Python variables, and visual mappings. Request a bounded source or input chunk only when needed. This never changes the workspace.

    View tool JSON
    {
      "name": "visualizer_get_workspace",
      "kind": "answer",
      "impl": "imperative",
      "description": "Inspect the open Visualizer Playground, its run status, discovered Python variables, and visual mappings. Request a bounded source or input chunk only when needed. This never changes the workspace.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "detail": {
            "type": "string",
            "enum": [
              "summary",
              "source",
              "inputs"
            ],
            "description": "Return a summary, a source-code chunk, or a Python-input chunk.",
            "default": "summary"
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Character offset for source or input chunks.",
            "default": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 200,
            "maximum": 6000,
            "description": "Maximum characters in a requested source or input chunk.",
            "default": 3000
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    visualizer_runAction

    Run the code and inputs already accepted in the Visualizer Playground's isolated worker. This does not edit code or inputs. Optionally begin timeline playback after a successful run.

    View tool JSON
    {
      "name": "visualizer_run",
      "kind": "act",
      "impl": "imperative",
      "description": "Run the code and inputs already accepted in the Visualizer Playground's isolated worker. This does not edit code or inputs. Optionally begin timeline playback after a successful run.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "play": {
            "type": "boolean",
            "description": "Start playing the generated timeline after the run succeeds.",
            "default": false
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    visualizer_get_frameAnswer

    Read a compact, structured snapshot of the current visualization frame, including rendered containers, highlighted values, pointers, nodes, edges, and the operation message. This never changes playback.

    View tool JSON
    {
      "name": "visualizer_get_frame",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read a compact, structured snapshot of the current visualization frame, including rendered containers, highlighted values, pointers, nodes, edges, and the operation message. This never changes playback.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      }
    }
    visualizer_control_playbackAction

    Control the accepted visualization timeline. This only changes the visible frame or playback speed; it never changes source code, inputs, or visual mappings. Frame numbers are one-based.

    View tool JSON
    {
      "name": "visualizer_control_playback",
      "kind": "act",
      "impl": "imperative",
      "description": "Control the accepted visualization timeline. This only changes the visible frame or playback speed; it never changes source code, inputs, or visual mappings. Frame numbers are one-based.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "play",
              "pause",
              "next",
              "previous",
              "rewind",
              "jump"
            ],
            "description": "Playback action to perform."
          },
          "frame": {
            "type": "integer",
            "minimum": 1,
            "description": "One-based frame number. Required only for the jump action."
          },
          "speed_ms": {
            "type": "integer",
            "minimum": 100,
            "maximum": 1400,
            "description": "Optional delay between frames in milliseconds."
          }
        },
        "required": [
          "action"
        ],
        "additionalProperties": false
      }
    }
    visualizer_configure_visualsAction

    Configure how variables from the latest successful Python trace are visualized. This reversible action changes visual mappings only; it never edits or runs source code or inputs. Inspect the workspace first and use only discovered variable names.

    View tool JSON
    {
      "name": "visualizer_configure_visuals",
      "kind": "act",
      "impl": "imperative",
      "description": "Configure how variables from the latest successful Python trace are visualized. This reversible action changes visual mappings only; it never edits or runs source code or inputs. Inspect the workspace first and use only discovered variable names.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "bindings": {
            "type": "array",
            "minItems": 1,
            "maxItems": 64,
            "description": "Visual mapping patches for variables discovered by the latest Python trace.",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Exact discovered variable name."
                },
                "enabled": {
                  "type": "boolean"
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "auto",
                    "sequence",
                    "grid",
                    "associative",
                    "graph",
                    "tree",
                    "heap",
                    "scalar"
                  ]
                },
                "view": {
                  "type": "string",
                  "enum": [
                    "cells",
                    "bars",
                    "line"
                  ]
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "value",
                    "pointer"
                  ]
                },
                "target": {
                  "type": "string",
                  "description": "Sequence variable highlighted by a pointer."
                },
                "pointer_mode": {
                  "type": "string",
                  "enum": [
                    "index",
                    "value"
                  ]
                },
                "index_offset": {
                  "type": "integer",
                  "minimum": -100000,
                  "maximum": 100000
                }
              },
              "required": [
                "name"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "bindings"
        ],
        "additionalProperties": false
      }
    }
    visualizer_propose_pythonAction

    Stage a complete Python source and input change for the person to review. The proposal appears as a red/green diff and does not alter or run the workspace until the person explicitly selects Accept and run. Use this instead of trying to type into the editor.

    View tool JSON
    {
      "name": "visualizer_propose_python",
      "kind": "act",
      "impl": "imperative",
      "description": "Stage a complete Python source and input change for the person to review. The proposal appears as a red/green diff and does not alter or run the workspace until the person explicitly selects Accept and run. Use this instead of trying to type into the editor.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50000,
            "description": "Complete proposed Python source, including all unchanged code."
          },
          "inputs": {
            "description": "Complete proposed JSON-compatible input value.",
            "type": [
              "object",
              "array",
              "string",
              "number",
              "boolean",
              "null"
            ]
          },
          "summary": {
            "type": "string",
            "minLength": 1,
            "maxLength": 600,
            "description": "Plain-language reason the proposal helps the user's visualization."
          },
          "changes": {
            "type": "array",
            "maxItems": 12,
            "items": {
              "type": "string",
              "maxLength": 240
            },
            "description": "Short concrete changes shown beside the diff."
          }
        },
        "required": [
          "source",
          "inputs",
          "summary"
        ],
        "additionalProperties": false
      }
    }