UAParse
Parse a User-Agent: browser, OS, device, plus bot, search crawler, AI crawler and AI agent flags.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"uaparse": {
"url": "https://uaparse.mike-tusa.workers.dev/mcp"
}
}
}Puntos de conexión remotos
https://uaparse.mike-tusa.workers.dev/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (1)
🟢parse_user_agent(ua, include_raw)
Parse one User-Agent string. Returns browser, engine, OS, device type and CPU (ua-parser-js 1.0.41), and whether it is a known bot, search crawler, AI crawler (with its AI purpose) or an AI agent acting for a user (is_ai_agent, ai_agent_kind fetch | browsing), plus the bot name, operator, robots.txt token and operator docs link from a curated list of 151 bots (list 2026-10-08). verified is always false: the User-Agent is self-reported and UAParse does no IP or reverse-DNS checks. Read-only, no network lookups. Same engine and limits as the UAParse JSON API (POST /v1/parse); each call is one lookup. UAParse is independent and not affiliated with Meta, OpenAI, Google, Anthropic, Amazon, Perplexity or Mistral AI.
Esquema de entrada
{
"type": "object",
"properties": {
"ua": {
"type": "string",
"minLength": 1,
"maxLength": 2048,
"description": "The User-Agent string to parse, exactly as sent in the User-Agent header."
},
"include_raw": {
"type": "boolean",
"default": false,
"description": "Also return the full POST /v1/parse JSON in structuredContent.raw. Larger output."
}
},
"required": [
"ua"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"ua": {
"type": "string",
"description": "The parsed User-Agent (clipped to 300 characters; see ua_length)"
},
"ua_length": {
"type": "integer"
},
"browser": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"version": {
"type": "string"
},
"major": {
"type": "string"
}
}
},
"engine": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"version": {
"type": "string"
}
}
},
"os": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"version": {
"type": "string"
}
}
},
"device": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "desktop, mobile, tablet, smarttv, console, wearable, xr, embedded, bot or unknown"
},
"vendor": {
"type": "string"
},
"model": {
"type": "string"
}
},
"required": [
"type"
]
},
"cpu": {
"type": "object",
"properties": {
"architecture": {
"type": "string"
}
}
},
"is_bot": {
"type": "boolean"
},
"is_ai_crawler": {
"type": "boolean"
},
"is_ai_agent": {
"type": "boolean",
"description": "true only for User-Agents the operator documents as acting live for an individual user"
},
"is_search_crawler": {
"type": "boolean"
},
"bot": {
"type": "object",
"description": "Present when is_bot is true. Fields that are unknown are omitted.",
"properties": {
"name": {
"type": "string"
},
"operator": {
"type": "string"
},
"category": {
"type": "string"
},
"category_label": {
"type": "string"
},
"ai_purpose": {
"type": "string",
"enum": [
"training",
"search",
"user_fetch",
"agent"
]
},
"ai_agent_kind": {
"type": "string",
"enum": [
"fetch",
"browsing"
]
},
"robots_token": {
"type": "string"
},
"token_only": {
"type": "boolean"
},
"info_url": {
"type": "string",
"description": "Operator documentation"
},
"match": {
"type": "string",
"enum": [
"list",
"heuristic"
]
},
"verified": {
"type": "boolean",
"description": "Always false"
}
},
"required": [
"category",
"match",
"verified"
]
},
"summary": {
"type": "string",
"description": "One-line plain-English verdict"
},
"list_version": {
"type": "string"
},
"parser": {
"type": "string"
},
"cached": {
"type": "boolean"
},
"tier": {
"type": "string",
"enum": [
"anonymous",
"free",
"pro"
]
},
"version": {
"type": "string"
},
"raw": {
"type": "object",
"description": "Full POST /v1/parse response (only when include_raw is true)"
}
},
"required": [
"ua",
"ua_length",
"browser",
"engine",
"os",
"device",
"cpu",
"is_bot",
"is_ai_crawler",
"is_ai_agent",
"is_search_crawler",
"summary",
"list_version",
"version"
]
}Comunidad
Evidencia