{
  "$schema": "https://schemas.modelcontextprotocol.io/v1/server-card.json",
  "name": "Owl Browser MCP Server",
  "version": "1.3.1",
  "description": "Built-in Streamable HTTP MCP server with 185+ browser automation tools, Agent Rendering (OwlMark), and local CAPTCHA solving.",
  "serverInfo": {
    "name": "Owl Browser MCP Server",
    "version": "1.3.1",
    "description": "Built-in Streamable HTTP MCP server with 185+ browser automation tools, Agent Rendering (OwlMark), and local CAPTCHA solving."
  },
  "serverUrl": "https://owlbrowser.net/mcp",
  "endpoint": "https://owlbrowser.net/mcp",
  "transport": {
    "type": "streamable-http",
    "endpoint": "https://owlbrowser.net/mcp",
    "serverUrl": "https://owlbrowser.net/mcp",
    "sse": "https://owlbrowser.net/mcp/sse"
  },
  "protocolVersion": "2024-11-05",
  "protocol_versions": ["2024-11-05", "2025-03-26", "2026-07-28"],
  "tools": [
    {
      "name": "browse",
      "description": "Navigate to a URL and return a token-efficient OwlMark representation of the page with addressable element handles.",
      "inputSchema": {
        "type": "object",
        "required": ["url"],
        "properties": {
          "url": { "type": "string", "description": "Target web address to visit." },
          "render_mode": { "type": "string", "enum": ["agent", "standard"], "default": "agent" }
        }
      }
    },
    {
      "name": "extract_content",
      "description": "Extract structured text, markdown, or semantic elements from the current page.",
      "inputSchema": {
        "type": "object",
        "required": ["context_id"],
        "properties": {
          "context_id": { "type": "string", "description": "Active browser context identifier." },
          "selector": { "type": "string", "description": "Optional CSS selector or handle token." }
        }
      }
    },
    {
      "name": "execute_action",
      "description": "Execute browser actions including clicks, typing, and form submissions using stable handle tokens.",
      "inputSchema": {
        "type": "object",
        "required": ["context_id", "action"],
        "properties": {
          "context_id": { "type": "string", "description": "Active browser context identifier." },
          "action": { "type": "string", "enum": ["click", "type", "press", "select", "scroll"] },
          "target": { "type": "string", "description": "Handle token (e.g. @handle_4) or selector." },
          "value": { "type": "string", "description": "Text value for typing or option value for selecting." }
        }
      }
    },
    {
      "name": "browser_create_context",
      "description": "Create a new isolated browser context with custom fingerprint, proxy, and rendering settings.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "render_mode": { "type": "string", "enum": ["agent", "standard", "raw"], "description": "Observation render mode. Use 'agent' for OwlMark text representation." }
        }
      }
    },
    {
      "name": "browser_navigate",
      "description": "Navigate to a specified URL within a browser context.",
      "inputSchema": {
        "type": "object",
        "required": ["context_id", "url"],
        "properties": {
          "context_id": { "type": "string", "description": "Browser context identifier." },
          "url": { "type": "string", "description": "Destination URL." }
        }
      }
    },
    {
      "name": "browser_observe",
      "description": "Observe the current page state, returning OwlMark text representation with element handles.",
      "inputSchema": {
        "type": "object",
        "required": ["context_id"],
        "properties": {
          "context_id": { "type": "string", "description": "Browser context identifier." }
        }
      }
    },
    {
      "name": "browser_click",
      "description": "Click an element identified by handle token or CSS selector.",
      "inputSchema": {
        "type": "object",
        "required": ["context_id", "selector"],
        "properties": {
          "context_id": { "type": "string", "description": "Browser context identifier." },
          "selector": { "type": "string", "description": "Handle token or CSS selector." }
        }
      }
    },
    {
      "name": "browser_type",
      "description": "Type text into an input element identified by handle token or CSS selector.",
      "inputSchema": {
        "type": "object",
        "required": ["context_id", "selector", "text"],
        "properties": {
          "context_id": { "type": "string", "description": "Browser context identifier." },
          "selector": { "type": "string", "description": "Handle token or CSS selector." },
          "text": { "type": "string", "description": "Text to type." }
        }
      }
    },
    {
      "name": "browser_destroy_context",
      "description": "Destroy a browser context and free its resources.",
      "inputSchema": {
        "type": "object",
        "required": ["context_id"],
        "properties": {
          "context_id": { "type": "string", "description": "Browser context identifier." }
        }
      }
    },
    {
      "name": "browser_solve_captcha",
      "description": "Automatically solve detected CAPTCHAs using the on-device Qwen3-VL-2B vision model.",
      "inputSchema": {
        "type": "object",
        "required": ["context_id"],
        "properties": {
          "context_id": { "type": "string", "description": "Browser context identifier." }
        }
      }
    },
    {
      "name": "browser_nla",
      "description": "Natural Language Agent: Execute end-to-end web automation instruction autonomously using the built-in observe-act loop.",
      "inputSchema": {
        "type": "object",
        "required": ["instruction"],
        "properties": {
          "instruction": { "type": "string", "description": "High-level goal or instruction to complete." }
        }
      }
    }
  ],
  "authentication": {
    "type": "bearer",
    "description": "Bearer token authentication on self-hosted instances."
  }
}
