{
  "$schema": "https://modelcontextprotocol.io/schemas/server-card/v1.0",
  "version": "1.0",
  "protocolVersion": "2025-06-18",
  "serverInfo": {
    "name": "esos",
    "title": "e-SOS \u2014 family SOS for AI agents",
    "description": "One press alerts the household circle with location, evidence and welfare timers; the family follows a bounded live map. Keyless: about, plans, signup, locate. Household tools take the family's own API key. Propose-confirm; a press only on the user's explicit words.",
    "homepage": "https://mcp.thuso.icu"
  },
  "transport": {
    "type": "streamable-http",
    "url": "https://mcp.thuso.icu/mcp"
  },
  "capabilities": {
    "tools": true,
    "resources": false,
    "prompts": false
  },
  "auth": {
    "required": false,
    "notes": "Keyless ring needs nothing. Household tools take the family's API key as Authorization: Bearer; keys are issued and revoked in the app."
  },
  "tools": [
    {
      "name": "thuso_about",
      "tier": "keyless",
      "description": "start here \u2014 the machine-readable intro"
    },
    {
      "name": "thuso_add_circle",
      "tier": "household-key",
      "description": "add an emergency contact \u2014 returns their consent link; nothing sends until they accept"
    },
    {
      "name": "thuso_arm_welfare",
      "tier": "household-key",
      "description": "arm/pause the caller's own welfare timer"
    },
    {
      "name": "thuso_check_in",
      "tier": "household-key",
      "description": "stamp the welfare check-in"
    },
    {
      "name": "thuso_devices",
      "tier": "household-key",
      "description": "list the member's live device keys ('which phones can reach me?')"
    },
    {
      "name": "thuso_jax_inbox",
      "tier": "operator-key",
      "description": "operator key \u2014 drain the customer messages waiting for Jax"
    },
    {
      "name": "thuso_jax_reply",
      "tier": "operator-key",
      "description": "operator key \u2014 post Jax's answer into a member's thread (and push it)"
    },
    {
      "name": "thuso_list_circle",
      "tier": "household-key",
      "description": "the circle + welfare states ('is Gran's timer armed?')"
    },
    {
      "name": "thuso_locate",
      "tier": "keyless",
      "description": "Tlhano encode/decode/suggest passthrough"
    },
    {
      "name": "thuso_plans",
      "tier": "keyless",
      "description": "the plans catalog \u2014 free needs no card"
    },
    {
      "name": "thuso_press_sos",
      "tier": "household-key",
      "description": "press the household SOS \u2014 explicit user words only; propose-confirm in the agent grammar"
    },
    {
      "name": "thuso_revoke_device",
      "tier": "household-key",
      "description": "revoke a lost phone's key \u2014 dead immediately"
    },
    {
      "name": "thuso_send_login_link",
      "tier": "keyless",
      "description": "the user is locked out or wants the app on another device \u2014 e-mail them a fresh single-use sign-in link (the link only ever goes to their own mailbox; never returned in chat)"
    },
    {
      "name": "thuso_signup",
      "tier": "keyless",
      "description": "propose-confirm signup \u2014 provisions a free household + activation link (validates the account). A known identity quietly gets a fresh sign-in link instead."
    },
    {
      "name": "thuso_sos_status",
      "tier": "household-key",
      "description": "recent alerts + per-recipient states"
    },
    {
      "name": "thuso_start_share",
      "tier": "household-key",
      "description": "start a bounded Follow window (loud by construction)"
    },
    {
      "name": "thuso_subscription",
      "tier": "household-key",
      "description": "the caller's tier/state/period + Family checkout links ('am I paid up?')"
    }
  ],
  "documentation": "https://docs.thuso.icu",
  "connectGuide": "https://mcp.thuso.icu/agents.html",
  "llms": "https://mcp.thuso.icu/llms.txt"
}
