Skip to main content
Glama

User agent parser: browser, OS, device and bots

useragent_parse
Read-only

Parse a User-Agent string into browser and version, operating system and version, device type (desktop, mobile, tablet or bot) and, for crawlers, which bot it is: Googlebot, Bingbot, GPTBot, ClaudeBot, PerplexityBot, social previewers, SEO crawlers and HTTP libraries such as curl or python-requests. Local rules, no outside service. Use to read access logs, segment traffic or spot AI crawlers. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.

Input Schema

NameRequiredDescriptionDefault
uaYesThe User-Agent string

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly=true, destructive=false and idempotent=false, so the safety profile is covered. The description adds genuinely new behavioral context: local rules with no external service, per-call pricing via x402/card key, first 25 free, and failed calls free – none of which the annotations convey. The 'repeats are not free' note usefully explains why idempotentHint is false in billing terms, though it could confuse slightly since parsing is deterministic.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads what gets parsed before moving to usage and pricing. The second half is dense – pricing, free tier, failure policy and mutation semantics packed into one sentence – but every sentence carries information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description must carry return-value information; it does by enumerating the parsed fields and bot categories. Combined with the safety annotations and explicit cost model, an agent has what it needs to call the tool correctly, though exact field names/shape are not given.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter ('ua') and schema coverage is 100%, so the schema already fully documents it. The description's detail is about output rather than adding input syntax or format guidance beyond what the schema provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (parse) and resource (User-Agent string) and enumerates exactly what it extracts: browser/version, OS/version, device type, and bot identity. It names concrete bot families and HTTP libraries, so an agent can tell it apart from generic siblings like url_parse or text_extract without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit usage contexts: reading access logs, segmenting traffic, spotting AI crawlers. It does not name an alternative tool or state when not to use it, but for a single-purpose parser the selection context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.