Skip to main content
Glama

Classify a user-agent string

classify_user_agent
Read-onlyIdempotent

Identify the crawler behind a raw User-Agent header: operator, category, robots.txt stance, how to verify it, and what blocking it costs. A user-agent is a claim, not proof — confirm with is_verified_crawler_ip. Example: user_agent='GPTBot/1.2' returns GPTBot, OpenAI, ai-training.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
user_agentYesRaw User-Agent header value.

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already mark the tool as read-only and idempotent, and the description adds reliability context by stating that a user-agent may be spoofed and needs IP verification. It also discloses the scope of returned data, though it does not mention edge cases like unknown or malformed user agents.

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

Conciseness5/5

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

Three short sentences, each earning its place: core purpose, usage caveat with an alternative, and a concrete example. Information is front-loaded and nothing is redundant.

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

Completeness5/5

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

For a one-parameter, read-only classification tool, the description covers what will be returned, how to verify the result, and what a valid input looks like. No output schema exists, and the description compensates by enumerating the key result fields.

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

Parameters4/5

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

The schema already covers user_agent as a raw header value, so the baseline is high. The description adds a concrete example (GPTBot/1.2) and ties the parameter to an expected output, reducing ambiguity about accepted format.

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?

Opens with a specific verb (identify/classify) and resource (raw User-Agent header), then enumerates the returned attributes: operator, category, robots.txt stance, verification guidance, and blocking cost. The phrasing also separates it from list_crawlers and from IP-based verification via is_verified_crawler_ip.

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

Usage Guidelines5/5

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

Explicitly warns that a user-agent string is a claim, not proof, and directs the agent to confirm with is_verified_crawler_ip — naming the relevant alternative and when it should be used. The example clarifies expected input and output.

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.

TDQS

A4.3/5.0
Disambiguation5/5

Each tool targets a distinct action: classifying user-agent strings, verifying IP addresses, listing, looking up, generating robots.txt, and checking data freshness. The explicit cross-reference between classify_user_agent and is_verified_crawler_ip clarifies rather than blurs their boundaries.

Naming Consistency4/5

Almost all tool names follow a predictable snake_case verb_noun pattern such as classify_user_agent, list_crawlers, and lookup_crawler. whats_changed deviates slightly from the verb_noun style but remains consistent in lowercase snake_case, so the naming is mostly coherent.

Tool Count5/5

Six tools is a well-scoped set for a crawler index service. Each tool covers a distinct need without overlapping or unnecessary additions.

Completeness5/5

The tool surface covers the full workflow for understanding and managing crawler data: discovery, identification via UA or IP, detail lookup, robots.txt generation, and freshness monitoring. No obvious dead ends or missing operations for the stated purpose.

Resources