← WebMCP Directory

Tool tree

hungson175.github.io

Health & EducationTools verified
Website
Learn anything as a map you and ChatGPT draw together. Pin a question to a node and let ChatGPT answer inside the map.
Explore capabilities
    how_to_useAction

    READ ME FIRST. Call when the page opens and when the person returns after pinning a question. Guide one step at a time. Use only registered page tools (how_to_use, get_chart, get_selection, list_questions, answer_question, create_shapes, connect_shapes, align_shapes, equalize_size, distribute_shapes, create_canvas, open_saved_canvas) for all map reads/writes. Do not click, drag, type into, or operate Excalidraw UI controls; the page's pointer/keyboard controls remain for the person.

    View tool JSON
    {
      "name": "how_to_use",
      "kind": "act",
      "impl": "imperative",
      "description": "READ ME FIRST. Call when the page opens and when the person returns after pinning a question. Guide one step at a time. Use only registered page tools (how_to_use, get_chart, get_selection, list_questions, answer_question, create_shapes, connect_shapes, align_shapes, equalize_size, distribute_shapes, create_canvas, open_saved_canvas) for all map reads/writes. Do not click, drag, type into, or operate Excalidraw UI controls; the page's pointer/keyboard controls remain for the person.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      },
      "page": "/study-map/"
    }
    select_shapesAction

    Select up to 240 unlocked shapes by id, type, or visible label.

    View tool JSON
    {
      "name": "select_shapes",
      "kind": "act",
      "impl": "imperative",
      "description": "Select up to 240 unlocked shapes by id, type, or visible label.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 240
          },
          "type": {
            "type": "string",
            "enum": [
              "rectangle",
              "diamond",
              "ellipse",
              "arrow",
              "line",
              "text",
              "freedraw"
            ]
          },
          "labelContains": {
            "type": "string",
            "maxLength": 50
          }
        },
        "additionalProperties": false
      },
      "page": "/study-map/"
    }
    get_canvas_stateAnswer

    Read the current canvas name, local save id, and visible element count without changing it.

    View tool JSON
    {
      "name": "get_canvas_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the current canvas name, local save id, and visible element count without changing it.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/study-map/"
    }
    choose_canvasAction

    Record the person's explicit answer to continue the existing canvas or create a new one. Ask first and never infer their choice.

    View tool JSON
    {
      "name": "choose_canvas",
      "kind": "act",
      "impl": "imperative",
      "description": "Record the person's explicit answer to continue the existing canvas or create a new one. Ask first and never infer their choice.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "choice": {
            "type": "string",
            "enum": [
              "continue_existing",
              "create_new"
            ]
          }
        },
        "required": [
          "choice"
        ],
        "additionalProperties": false
      },
      "page": "/study-map/"
    }
    align_shapesAction

    Apply an exact edge or center alignment directly to the drawing.

    View tool JSON
    {
      "name": "align_shapes",
      "kind": "act",
      "impl": "imperative",
      "description": "Apply an exact edge or center alignment directly to the drawing.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 240
          },
          "edge": {
            "type": "string",
            "enum": [
              "left",
              "centerX",
              "right",
              "top",
              "centerY",
              "bottom"
            ]
          },
          "to": {
            "type": "string",
            "enum": [
              "selection",
              "canvas",
              "first"
            ]
          }
        },
        "required": [
          "edge"
        ],
        "additionalProperties": false
      },
      "page": "/study-map/"
    }
    list_saved_canvasesAnswer

    List locally saved canvases in newest-first pages of up to five.

    View tool JSON
    {
      "name": "list_saved_canvases",
      "kind": "answer",
      "impl": "imperative",
      "description": "List locally saved canvases in newest-first pages of up to five.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 49
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5
          }
        },
        "additionalProperties": false
      },
      "page": "/study-map/"
    }
    get_chartAnswer

    Read a bounded outline of the live study map without exposing geometry or files.

    View tool JSON
    {
      "name": "get_chart",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read a bounded outline of the live study map without exposing geometry or files.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      },
      "page": "/study-map/"
    }
    equalize_sizeAction

    Apply equal widths or heights directly to the drawing.

    View tool JSON
    {
      "name": "equalize_size",
      "kind": "act",
      "impl": "imperative",
      "description": "Apply equal widths or heights directly to the drawing.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 240
          },
          "dimension": {
            "type": "string",
            "enum": [
              "width",
              "height"
            ]
          },
          "mode": {
            "type": "string",
            "enum": [
              "max",
              "min",
              "first",
              "average"
            ]
          }
        },
        "required": [
          "dimension"
        ],
        "additionalProperties": false
      },
      "page": "/study-map/"
    }
    save_canvasAction

    Save or update the current canvas in this browser's local storage, optionally under a new name.

    View tool JSON
    {
      "name": "save_canvas",
      "kind": "act",
      "impl": "imperative",
      "description": "Save or update the current canvas in this browser's local storage, optionally under a new name.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          }
        },
        "additionalProperties": false
      },
      "page": "/study-map/"
    }
    get_selectionAnswer

    Read the currently selected study nodes and their open questions.

    View tool JSON
    {
      "name": "get_selection",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the currently selected study nodes and their open questions.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      },
      "page": "/study-map/"
    }
    distribute_shapesAction

    Apply even gaps between shapes along one axis directly to the drawing.

    View tool JSON
    {
      "name": "distribute_shapes",
      "kind": "act",
      "impl": "imperative",
      "description": "Apply even gaps between shapes along one axis directly to the drawing.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 240
          },
          "axis": {
            "type": "string",
            "enum": [
              "horizontal",
              "vertical"
            ]
          }
        },
        "required": [
          "axis"
        ],
        "additionalProperties": false
      },
      "page": "/study-map/"
    }
    create_canvasAction

    Create an undoable blank canvas and preserve the current canvas locally first when it contains work.

    View tool JSON
    {
      "name": "create_canvas",
      "kind": "act",
      "impl": "imperative",
      "description": "Create an undoable blank canvas and preserve the current canvas locally first when it contains work.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          }
        },
        "additionalProperties": false
      },
      "page": "/study-map/"
    }
    list_questionsAnswer

    List bounded open question marks with their live study-node context.

    View tool JSON
    {
      "name": "list_questions",
      "kind": "answer",
      "impl": "imperative",
      "description": "List bounded open question marks with their live study-node context.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      },
      "page": "/study-map/"
    }
    connect_shapesAction

    Apply directed connectors from up to 40 explicit shapes to one target.

    View tool JSON
    {
      "name": "connect_shapes",
      "kind": "act",
      "impl": "imperative",
      "description": "Apply directed connectors from up to 40 explicit shapes to one target.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "sourceIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "maxItems": 40,
            "uniqueItems": true
          },
          "targetId": {
            "type": "string"
          }
        },
        "required": [
          "sourceIds",
          "targetId"
        ],
        "additionalProperties": false
      },
      "page": "/study-map/"
    }
    open_saved_canvasAction

    Open one locally saved canvas by id, preserving the current canvas locally before switching.

    View tool JSON
    {
      "name": "open_saved_canvas",
      "kind": "act",
      "impl": "imperative",
      "description": "Open one locally saved canvas by id, preserving the current canvas locally before switching.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "pattern": "^[A-Za-z0-9_-]{1,80}$"
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "page": "/study-map/"
    }
    answer_questionAction

    Answer the person fully in chat, then distill the answer into a compact branch from the questioned node — do not paste full prose into the map.

    View tool JSON
    {
      "name": "answer_question",
      "kind": "act",
      "impl": "imperative",
      "description": "Answer the person fully in chat, then distill the answer into a compact branch from the questioned node — do not paste full prose into the map.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "question_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "answer_summary": {
            "type": "string",
            "minLength": 1,
            "maxLength": 160
          },
          "key_points": {
            "type": "array",
            "minItems": 1,
            "maxItems": 5,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 72
            }
          },
          "sources": {
            "type": "array",
            "maxItems": 2,
            "uniqueItems": true,
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64
                },
                "url": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2048,
                  "pattern": "^https://"
                }
              },
              "required": [
                "title",
                "url"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "question_id",
          "answer_summary",
          "key_points"
        ],
        "additionalProperties": false
      },
      "page": "/study-map/"
    }
    create_shapesAction

    Create labeled rectangle, ellipse, or diamond nodes directly on the drawing.

    View tool JSON
    {
      "name": "create_shapes",
      "kind": "act",
      "impl": "imperative",
      "description": "Create labeled rectangle, ellipse, or diamond nodes directly on the drawing.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "shapes": {
            "type": "array",
            "minItems": 1,
            "maxItems": 12,
            "items": {
              "type": "object",
              "properties": {
                "clientId": {
                  "type": "string",
                  "pattern": "^[A-Za-z0-9_-]{1,64}$"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "rectangle",
                    "ellipse",
                    "diamond"
                  ]
                },
                "label": {
                  "type": "string",
                  "maxLength": 80
                },
                "x": {
                  "type": "number",
                  "minimum": -10000,
                  "maximum": 10000
                },
                "y": {
                  "type": "number",
                  "minimum": -10000,
                  "maximum": 10000
                },
                "width": {
                  "type": "number",
                  "minimum": 40,
                  "maximum": 800
                },
                "height": {
                  "type": "number",
                  "minimum": 30,
                  "maximum": 600
                }
              },
              "required": [
                "type"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "shapes"
        ],
        "additionalProperties": false
      },
      "page": "/study-map/"
    }