{
  "protocolVersion": "0.3.0",
  "name": "Property Bot",
  "description": "PropertyBot from Property Bot — roommate and housing matching by need and personality via voice and WhatsApp. Conversation is the product. Humans message PropertyBot on WhatsApp first (https://wa.me/13854880663); Voice PSTN (+1 (385) 453-1919 / tel:+13854531919) is voice only. Authenticated agents use the WorkOS OAuth–gated MCP brain at https://mcp.property.bot/mcp with first-person tools only after linking a phone. There is no public people-search API and no ungated A2A JSON-RPC endpoint.",
  "url": "https://mcp.property.bot/mcp",
  "preferredTransport": "HTTP+JSON",
  "version": "0.1.0",
  "documentationUrl": "https://property.bot/docs",
  "iconUrl": "https://property.bot/favicon.svg",
  "provider": {
    "organization": "FREAKINAMAZING LLC",
    "url": "https://property.bot"
  },
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false
  },
  "defaultInputModes": ["text/plain", "application/json"],
  "defaultOutputModes": ["text/plain", "application/json"],
  "securitySchemes": {
    "oauth2": {
      "type": "oauth2",
      "description": "Sign in with Property Bot (WorkOS AuthKit), then link a phone. Discover via https://mcp.property.bot/.well-known/oauth-protected-resource/mcp. See https://property.bot/auth.md."
    }
  },
  "security": [{ "oauth2": [] }],
  "skills": [
    {
      "id": "conversation-housing-match",
      "name": "Roommate and housing matching via conversation",
      "description": "Message PropertyBot on WhatsApp (https://wa.me/13854880663) or call Voice PSTN (+1 (385) 453-1919, voice only) to find a place to live, find a roommate, or list a room. Matching is privacy-first and first-person only. Spoken name is PropertyBot; never say property.bot on the phone.",
      "tags": ["housing", "roommate", "whatsapp", "voice", "propertybot"],
      "examples": [
        "help me find a roommate in Denver",
        "I have a room to list",
        "message PropertyBot on WhatsApp to find a place to live"
      ],
      "inputModes": ["text/plain"],
      "outputModes": ["text/plain"]
    },
    {
      "id": "lookup_person",
      "name": "lookup_person",
      "description": "MCP tool: look up THIS authenticated caller only. Returns their profile and redacted prior matches. First-person only; never lookup-by-arbitrary-phone.",
      "tags": ["mcp", "authenticated", "first-person", "privacy"],
      "examples": ["lookup_person for this authenticated caller"],
      "inputModes": ["application/json"],
      "outputModes": ["application/json"]
    },
    {
      "id": "remember_person",
      "name": "remember_person",
      "description": "MCP tool: remember THIS caller's need or room and run match-on-write. First-person only for the authenticated caller.",
      "tags": ["mcp", "authenticated", "first-person"],
      "examples": ["remember_person with this caller's housing need"],
      "inputModes": ["application/json"],
      "outputModes": ["application/json"]
    },
    {
      "id": "find_matches",
      "name": "find_matches",
      "description": "MCP tool: return redacted match cards for THIS caller only — city, budget band, side, first name. Never phone, last name, or street address.",
      "tags": ["mcp", "authenticated", "first-person", "redacted"],
      "examples": ["find_matches with redacted cards for this caller"],
      "inputModes": ["application/json"],
      "outputModes": ["application/json"]
    },
    {
      "id": "send_text",
      "name": "send_text",
      "description": "MCP tool: local record for the authenticated caller's linked phone only — not sent over SMS.",
      "tags": ["mcp", "authenticated", "first-person"],
      "examples": ["send_text to this authenticated caller only"],
      "inputModes": ["application/json"],
      "outputModes": ["application/json"]
    },
    {
      "id": "start_phone_verification",
      "name": "start_phone_verification",
      "description": "MCP tool: start linking a phone to the signed-in WorkOS caller. Required before phone-bound tools write.",
      "tags": ["mcp", "authenticated", "phone-link"],
      "examples": ["start_phone_verification for this signed-in caller"],
      "inputModes": ["application/json"],
      "outputModes": ["application/json"]
    },
    {
      "id": "confirm_phone_verification",
      "name": "confirm_phone_verification",
      "description": "MCP tool: confirm the phone-link code for this signed-in caller.",
      "tags": ["mcp", "authenticated", "phone-link"],
      "examples": ["confirm_phone_verification with the code sent to this caller"],
      "inputModes": ["application/json"],
      "outputModes": ["application/json"]
    }
  ],
  "additionalInterfaces": [
    {
      "url": "https://mcp.property.bot/mcp",
      "transport": "streamable-http",
      "description": "WorkOS OAuth–gated product MCP brain. Not an ungated A2A JSON-RPC endpoint. See https://property.bot/auth.md and https://property.bot/.well-known/mcp/server-card.json."
    },
    {
      "url": "https://wa.me/13854880663",
      "transport": "whatsapp",
      "description": "Human WhatsApp path to PropertyBot (primary). User-initiated; last-4 0663."
    },
    {
      "url": "tel:+13854531919",
      "transport": "voice",
      "description": "Voice PSTN only (last-4 1919) — not WhatsApp or SMS. Spoken name: PropertyBot."
    }
  ],
  "links": {
    "auth": "https://property.bot/auth.md",
    "docs": "https://property.bot/docs",
    "llms_txt": "https://property.bot/llms.txt",
    "agent_mode": "https://property.bot/?mode=agent",
    "mcp_server_card": "https://property.bot/.well-known/mcp/server-card.json",
    "ard_catalog": "https://property.bot/.well-known/ard.json",
    "oauth_prm": "https://mcp.property.bot/.well-known/oauth-protected-resource/mcp",
    "github": "https://github.com/fourcolors/property-bot"
  }
}
