Skip to main content
Glama

Tanod Util

utilpeek: parse a User-Agent string (browser, OS, device, bot)

parse_user_agent
Read-onlyIdempotent

utilpeek: parse a User-Agent string. Input: user_agent. Returns browser, os (family and version parts) and device (family, brand, model), is_bot with bot_reason, and is_mobile. A User-Agent is self-reported and easy to fake; is_bot is a heuristic (declared crawlers, HTTP libraries, headless browsers). Parsed with ua-parser and the uap-core regexes (Apache-2.0). Typically under 0.1 s (first call up to 0.5 s). Price: USD 0.001. Free: 10 utilpeek calls per IP per UTC day. Docs: https://tanod.dev/learn/user-agent-parser-api.html

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
user_agentYesUser-Agent string (1-1024 chars).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
osNo
noteNo
errorNoOnly on an error result: an object {code, message}, or the reason string of an x402 PaymentRequired object.
deviceNo
is_botNo
lengthNo
sourceNo
browserNo
is_mobileNo
bot_reasonNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "bot_reason": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "browser": {
      +      "properties": {
      +        "family": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "major": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "minor": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "patch": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "version": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        }
      +      },
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "device": {
      +      "properties": {
      +        "brand": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "family": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "model": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        }
      +      },
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "error": {
      +      "description": "Only on an error result: an object {code, message}, or the reason string of an x402 PaymentRequired object."
      +    },
      +    "is_bot": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "is_mobile": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "length": {
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "note": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "os": {
      +      "properties": {
      +        "family": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "major": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "minor": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "patch": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "version": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        }
      +      },
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "source": {
      +      "properties": {
      +        "library": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "license": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "regexes": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "url": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        }
      +      },
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources