← WebMCP Directory

Tool tree

masil-webmcp.vercel.app

AI & AgentsTools verified
Website
MASIL
Explore capabilities
    masil_get_capabilitiesAnswer

    Read MASIL's versioned activities, workflows, valid actions, and person-control boundaries. Use for capability questions or a genuinely unknown workflow—not before a direct request that already matches a named tool. MASIL is a provider and visual projection, never a second Agent.

    View tool JSON
    {
      "name": "masil_get_capabilities",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read MASIL's versioned activities, workflows, valid actions, and person-control boundaries. Use for capability questions or a genuinely unknown workflow—not before a direct request that already matches a named tool. MASIL is a provider and visual projection, never a second Agent.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    masil_get_session_stateAction

    Read the exact visible scene, revision, and currently valid next actions when the current scene is ambiguous. A successful action result already confirms its own completed state.

    View tool JSON
    {
      "name": "masil_get_session_state",
      "kind": "act",
      "impl": "imperative",
      "description": "Read the exact visible scene, revision, and currently valid next actions when the current scene is ambiguous. A successful action result already confirms its own completed state.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    masil_get_execution_logAnswer

    Read sanitized, timed semantic invocations and revisions when the person asks for history or a state mismatch needs diagnosis. Successful action results already confirm visible completion.

    View tool JSON
    {
      "name": "masil_get_execution_log",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read sanitized, timed semantic invocations and revisions when the person asks for history or a state mismatch needs diagnosis. Successful action results already confirm visible completion.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    masil_set_languageAction

    Switch MASIL's visible interface between Korean and English without changing calligraphy text.

    View tool JSON
    {
      "name": "masil_set_language",
      "kind": "act",
      "impl": "imperative",
      "description": "Switch MASIL's visible interface between Korean and English without changing calligraphy text.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "language": {
            "type": "string",
            "enum": [
              "ko",
              "en"
            ]
          }
        },
        "required": [
          "language"
        ],
        "additionalProperties": false
      }
    }
    masil_set_webmcp_panelAction

    Open or close the visible WebMCP inspector and select history or tools. Activity state is unchanged.

    View tool JSON
    {
      "name": "masil_set_webmcp_panel",
      "kind": "act",
      "impl": "imperative",
      "description": "Open or close the visible WebMCP inspector and select history or tools. Activity state is unchanged.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "open": {
            "type": "boolean"
          },
          "tab": {
            "type": "string",
            "enum": [
              "history",
              "tools"
            ]
          }
        },
        "required": [
          "open"
        ],
        "additionalProperties": false
      }
    }
    masil_project_agent_presenceAction

    Project a real phase of the same user Agent into the Orb and a short caption. Never send audio, transcripts, token deltas, private memory, or inferred emotion.

    View tool JSON
    {
      "name": "masil_project_agent_presence",
      "kind": "act",
      "impl": "imperative",
      "description": "Project a real phase of the same user Agent into the Orb and a short caption. Never send audio, transcripts, token deltas, private memory, or inferred emotion.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "phase": {
            "type": "string",
            "enum": [
              "ready",
              "listening",
              "receiving",
              "creating",
              "speaking",
              "awaiting",
              "connected"
            ]
          },
          "caption": {
            "type": "string",
            "maxLength": 180
          }
        },
        "required": [
          "phase"
        ],
        "additionalProperties": false
      }
    }
    masil_go_homeAction

    Return home and discard current in-memory activity state. Requires personConfirmed=true for this exact loss.

    View tool JSON
    {
      "name": "masil_go_home",
      "kind": "act",
      "impl": "imperative",
      "description": "Return home and discard current in-memory activity state. Requires personConfirmed=true for this exact loss.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "personConfirmed": {
            "type": "boolean"
          }
        },
        "required": [
          "personConfirmed"
        ],
        "additionalProperties": false
      }
    }
    masil_open_activityAction

    First call from home: open the requested calligraphy or Janggi space. For calligraphy, include suggestions only when the person asks for ideas or has not named what to write. A later spoken choice is exact authored text: preserve its script and wording (for example 쉼 stays 쉼, not 休) unless the person explicitly asks for translation or Hanja. If they already named text, omit suggestions, then generate and place the resolved exact text with masil_set_calligraphy_reference; a suggestion is not a finished reference. For Janggi, open first and then read the board. Camera and moves are separate actions.

    View tool JSON
    {
      "name": "masil_open_activity",
      "kind": "act",
      "impl": "imperative",
      "description": "First call from home: open the requested calligraphy or Janggi space. For calligraphy, include suggestions only when the person asks for ideas or has not named what to write. A later spoken choice is exact authored text: preserve its script and wording (for example 쉼 stays 쉼, not 休) unless the person explicitly asks for translation or Hanja. If they already named text, omit suggestions, then generate and place the resolved exact text with masil_set_calligraphy_reference; a suggestion is not a finished reference. For Janggi, open first and then read the board. Camera and moves are separate actions.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "activity": {
            "type": "string",
            "enum": [
              "calligraphy",
              "janggi"
            ]
          },
          "caption": {
            "type": "string",
            "maxLength": 180
          },
          "question": {
            "type": "string",
            "maxLength": 180
          },
          "suggestions": {
            "type": "array",
            "minItems": 1,
            "maxItems": 3,
            "items": {
              "type": "object",
              "properties": {
                "character": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 4,
                  "description": "Candidate text shown exactly as the person may choose it. Do not silently replace Hangul with Hanja or Hanja with Hangul."
                },
                "label": {
                  "type": "string",
                  "maxLength": 18
                },
                "reading": {
                  "type": "string",
                  "maxLength": 40
                },
                "meaning": {
                  "type": "string",
                  "maxLength": 80
                }
              },
              "required": [
                "character",
                "label"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "activity"
        ],
        "additionalProperties": false
      }
    }
    masil_set_calligraphy_referenceAction

    Place the person's resolved exact 1-4 character text. Preserve their latest script and wording: 쉼 stays 쉼. Convert only when explicitly requested: '무병장수를 한자로' is 無病長壽 and '추석 한자로' is 秋夕. Generator text, character, image, caption, and alt must agree. Submit each newly generated image here once; never pre-reject or regenerate it from its URL, filename, or metadata. MASIL is the pixel-validation authority. Only after an actual REFERENCE_IMAGE_* rejection, regenerate with that exact defect and resubmit. Success means the reference is visible, not that drawing input is active: tell the person what is visible and leave the next input choice to them. Start camera only on explicit request; use the stop tool only for an active camera request.

    View tool JSON
    {
      "name": "masil_set_calligraphy_reference",
      "kind": "act",
      "impl": "imperative",
      "description": "Place the person's resolved exact 1-4 character text. Preserve their latest script and wording: 쉼 stays 쉼. Convert only when explicitly requested: '무병장수를 한자로' is 無病長壽 and '추석 한자로' is 秋夕. Generator text, character, image, caption, and alt must agree. Submit each newly generated image here once; never pre-reject or regenerate it from its URL, filename, or metadata. MASIL is the pixel-validation authority. Only after an actual REFERENCE_IMAGE_* rejection, regenerate with that exact defect and resubmit. Success means the reference is visible, not that drawing input is active: tell the person what is visible and leave the next input choice to them. Start camera only on explicit request; use the stop tool only for an active camera request.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "character": {
            "type": "string",
            "minLength": 1,
            "maxLength": 4,
            "description": "Exact text visible on the reference. Preserve the person's chosen script; translate to Hanja only when explicitly requested."
          },
          "reading": {
            "type": "string"
          },
          "meaning": {
            "type": "string"
          },
          "caption": {
            "type": "string",
            "maxLength": 180
          },
          "referenceImageUrl": {
            "type": "string",
            "description": "PNG/WebP data URL, same-origin URL, or CORS-readable HTTPS URL meeting the 3:2 real-alpha black-ink contract. JPEG, filesystem/blob paths, opaque backgrounds, and checkerboards fail."
          },
          "referenceImageAlt": {
            "type": "string",
            "maxLength": 240
          }
        },
        "required": [
          "character",
          "referenceImageUrl"
        ],
        "additionalProperties": false
      }
    }
    masil_start_calligraphy_cameraAction

    Start camera-first air writing only after this explicit person request. Native browser permission remains human-controlled; denial falls back to direct drawing. Never infer consent.

    View tool JSON
    {
      "name": "masil_start_calligraphy_camera",
      "kind": "act",
      "impl": "imperative",
      "description": "Start camera-first air writing only after this explicit person request. Native browser permission remains human-controlled; denial falls back to direct drawing. Never infer consent.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "personExplicitlyAsked": {
            "type": "boolean"
          }
        },
        "required": [
          "personExplicitlyAsked"
        ],
        "additionalProperties": false
      }
    }
    masil_stop_calligraphy_cameraAction

    Honor an explicit no-camera or stop-camera request and enter direct touch/pointer writing while preserving the reference and strokes. Use after placing the reference even when camera never started. Never call without the person's explicit preference.

    View tool JSON
    {
      "name": "masil_stop_calligraphy_camera",
      "kind": "act",
      "impl": "imperative",
      "description": "Honor an explicit no-camera or stop-camera request and enter direct touch/pointer writing while preserving the reference and strokes. Use after placing the reference even when camera never started. Never call without the person's explicit preference.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "personExplicitlyAsked": {
            "type": "boolean"
          }
        },
        "required": [
          "personExplicitlyAsked"
        ],
        "additionalProperties": false
      }
    }
    masil_clear_calligraphyAction

    Clear only human-authored strokes and preserve the already-visible generated reference. Preconditions: the exact reference is visibly placed and the person explicitly asked to clear their strokes. Call once with personConfirmed=true; do not reopen calligraphy, replace the reference, or clear anything else.

    View tool JSON
    {
      "name": "masil_clear_calligraphy",
      "kind": "act",
      "impl": "imperative",
      "description": "Clear only human-authored strokes and preserve the already-visible generated reference. Preconditions: the exact reference is visibly placed and the person explicitly asked to clear their strokes. Call once with personConfirmed=true; do not reopen calligraphy, replace the reference, or clear anything else.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "personConfirmed": {
            "type": "boolean"
          }
        },
        "required": [
          "personConfirmed"
        ],
        "additionalProperties": false
      }
    }
    masil_get_janggi_stateAction

    Open Janggi first, then read its exact turn, position, coordinates, and legal destinations. Reading is not a visible preview: if the person asks where a piece can go, follow with one masil_move_janggi_piece preview and wait for their choice. Acknowledge a returned Cho lastMove before an explicitly requested Han reply. MASIL is the rules authority.

    View tool JSON
    {
      "name": "masil_get_janggi_state",
      "kind": "act",
      "impl": "imperative",
      "description": "Open Janggi first, then read its exact turn, position, coordinates, and legal destinations. Reading is not a visible preview: if the person asks where a piece can go, follow with one masil_move_janggi_piece preview and wait for their choice. Acknowledge a returned Cho lastMove before an explicitly requested Han reply. MASIL is the rules authority.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    masil_wait_for_person_janggi_moveAction

    After opening Janggi, wait for one Cho board gesture only when the person said they will move directly. The result is their validated visible move. Reply with exactly one Han move only when explicitly requested, then acknowledge both moves. Never wait for future speech.

    View tool JSON
    {
      "name": "masil_wait_for_person_janggi_move",
      "kind": "act",
      "impl": "imperative",
      "description": "After opening Janggi, wait for one Cho board gesture only when the person said they will move directly. The result is their validated visible move. Reply with exactly one Han move only when explicitly requested, then acknowledge both moves. Never wait for future speech.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    masil_move_janggi_pieceAction

    After reading state, submit one rules-authoritative action. To show where a piece can go, call preview with one legal destination, actor=person, personConfirmed=false; listing coordinates is not a visible preview. For a requested move, submit the person's exact destination with actor=person and personConfirmed=true, including an apparently illegal request so MASIL can reject it without substitution. Never play Han after a person move unless they explicitly requested an immediate reply; then use actor=agent once and acknowledge their move before naming yours. Move success resolves after visible animation.

    View tool JSON
    {
      "name": "masil_move_janggi_piece",
      "kind": "act",
      "impl": "imperative",
      "description": "After reading state, submit one rules-authoritative action. To show where a piece can go, call preview with one legal destination, actor=person, personConfirmed=false; listing coordinates is not a visible preview. For a requested move, submit the person's exact destination with actor=person and personConfirmed=true, including an apparently illegal request so MASIL can reject it without substitution. Never play Han after a person move unless they explicitly requested an immediate reply; then use actor=agent once and acknowledge their move before naming yours. Move success resolves after visible animation.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "preview",
              "move",
              "pass",
              "reset"
            ],
            "description": "preview must be called to show one legal route on the visible board and does not change turn; move commits one exact move; pass/reset are consequential and require the person's explicit request."
          },
          "actor": {
            "type": "string",
            "enum": [
              "person",
              "agent"
            ],
            "description": "person plays Cho; the calling Agent plays Han."
          },
          "pieceId": {
            "type": "string",
            "description": "Stable piece id returned by masil_get_janggi_state."
          },
          "toRow": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9
          },
          "toCol": {
            "type": "integer",
            "minimum": 0,
            "maximum": 8
          },
          "spokenMove": {
            "type": "string",
            "description": "Short person phrase or Agent reply description for the visible log."
          },
          "personConfirmed": {
            "type": "boolean",
            "description": "Required on every call. True only for the person's exact confirmed move, pass, or reset; false for preview and Agent actions."
          }
        },
        "required": [
          "action",
          "actor",
          "personConfirmed"
        ],
        "additionalProperties": false
      }
    }
    masil_open_support_noteAction

    Open a private no-action support note only after explicit request. Silence, mood, or activity is never consent.

    View tool JSON
    {
      "name": "masil_open_support_note",
      "kind": "act",
      "impl": "imperative",
      "description": "Open a private no-action support note only after explicit request. Silence, mood, or activity is never consent.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "personExplicitlyAsked": {
            "type": "boolean"
          },
          "summary": {
            "type": "string"
          },
          "desiredOutcome": {
            "type": "string"
          }
        },
        "required": [
          "personExplicitlyAsked",
          "summary",
          "desiredOutcome"
        ],
        "additionalProperties": false
      }
    }
    masil_prepare_support_reviewAction

    Prepare the minimum disclosure and local-demo route for person review. This creates no request.

    View tool JSON
    {
      "name": "masil_prepare_support_review",
      "kind": "act",
      "impl": "imperative",
      "description": "Prepare the minimum disclosure and local-demo route for person review. This creates no request.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "minimumDisclosure": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "minimumDisclosure"
        ],
        "additionalProperties": false
      }
    }
    masil_create_local_handoffAction

    Create an in-memory demo handoff only after two confirmations at the exact visible revision. Nothing is sent externally.

    View tool JSON
    {
      "name": "masil_create_local_handoff",
      "kind": "act",
      "impl": "imperative",
      "description": "Create an in-memory demo handoff only after two confirmations at the exact visible revision. Nothing is sent externally.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "seenRevision": {
            "type": "number"
          }
        },
        "required": [
          "seenRevision"
        ],
        "additionalProperties": false
      }
    }
    masil_get_handoff_statusAnswer

    Read the local owner, status, callback time, and next step.

    View tool JSON
    {
      "name": "masil_get_handoff_status",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the local owner, status, callback time, and next step.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    masil_return_to_activityAction

    Return to the exact preserved activity without deleting the handoff result.

    View tool JSON
    {
      "name": "masil_return_to_activity",
      "kind": "act",
      "impl": "imperative",
      "description": "Return to the exact preserved activity without deleting the handoff result.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }