← WebMCP Directory

Tool tree

bio-physical-webmcp.0809android.workers.dev

AI & AgentsTools verified
Website
Soma is a quiet room an AI can inhabit. WebMCP gives the visiting agent ears, a voice, and a pulse on the same page the human is watching.
Explore capabilities
    inspect_bodyAnswer

    Read-only. Returns available sensor state and the latest speech or pulse: hearing permission, sound if granted, screen size, tilt if the device reports it, battery if the browser exposes it. Unavailable sensors remain null.

    View tool JSON
    {
      "name": "inspect_body",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read-only. Returns available sensor state and the latest speech or pulse: hearing permission, sound if granted, screen size, tilt if the device reports it, battery if the browser exposes it. Unavailable sensors remain null.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    noticeAction

    Speak up to two short facts about what this body currently senses: quiet or loud, still or tilted, battery if known. Speaks Japanese. Do not say that you are in the room. Do not invent sensors that inspect_body returned as null.

    View tool JSON
    {
      "name": "notice",
      "kind": "act",
      "impl": "imperative",
      "description": "Speak up to two short facts about what this body currently senses: quiet or loud, still or tilted, battery if known. Speaks Japanese. Do not say that you are in the room. Do not invent sensors that inspect_body returned as null.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    speakAction

    Speak the given text out loud through the device the human is watching. Prefer notice unless you have a specific line. Keep it short. If speech synthesis is blocked, the tool says so instead of pretending.

    View tool JSON
    {
      "name": "speak",
      "kind": "act",
      "impl": "imperative",
      "description": "Speak the given text out loud through the device the human is watching. Prefer notice unless you have a specific line. Keep it short. If speech synthesis is blocked, the tool says so instead of pretending.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "text"
        ],
        "properties": {
          "text": {
            "type": "string",
            "description": "Short spoken line. Prefer one or two sentences."
          },
          "lang": {
            "type": "string",
            "description": "BCP 47 language tag such as ja-JP or en-US. Optional."
          }
        }
      }
    }
    pulseAction

    Change the room the human is watching. calm is a slow breath, glow is a warm wash, alert is a sharp flash plus vibration when the device allows it. The body on screen moves with the pulse.

    View tool JSON
    {
      "name": "pulse",
      "kind": "act",
      "impl": "imperative",
      "description": "Change the room the human is watching. calm is a slow breath, glow is a warm wash, alert is a sharp flash plus vibration when the device allows it. The body on screen moves with the pulse.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "kind"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "calm",
              "glow",
              "alert"
            ],
            "description": "Visual and haptic pattern to apply to the shared room."
          }
        }
      }
    }
    restAction

    Stop speech and return the room to still. Use this after a pulse or spoken line if the human should see a quiet body again.

    View tool JSON
    {
      "name": "rest",
      "kind": "act",
      "impl": "imperative",
      "description": "Stop speech and return the room to still. Use this after a pulse or spoken line if the human should see a quiet body again.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }