Skip to main content
Glama

LayerCall

Score a device fingerprint

score_device

Judge a browser fingerprint from /fp.js: headless detection, automation frameworks (Selenium, Puppeteer, Playwright), timezone-versus-IP mismatch and repeat-device history. Note the ceiling honestly — the declared signals it relies on are the first thing stealth tooling patches, so a clean result is weaker evidence than a dirty one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ipNoVisitor IP, so timezone-vs-country can be checked
device_idYesHex fingerprint from /fp.js

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations provided, the description carries the transparency burden and does well: it discloses the key behavioral limitation that clean results are weaker evidence than dirty ones because stealth tooling patches the declared signals. This is valuable interpretive context beyond the basic function.

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?

The description is two sentences: the first front-loaded with the core function and signals, the second adding an important caveat. Every sentence earns its place with no redundancy or filler.

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

Completeness3/5

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

The description covers purpose and the key reliability caveat, but with no output schema it omits the actual return format or score scale, and lacks usage guidance. It is adequate for a moderately complex tool but leaves the agent uncertain about what the response will look like.

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?

Although the schema already covers 100% of the parameters, the description adds meaning by linking 'ip' to timezone-versus-IP mismatch and 'device_id' to headless detection and automation frameworks. It explains how the parameters contribute to the scoring logic, going beyond the schema's basic descriptions.

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?

The description uses a specific verb ('Judge') and names the exact resource ('a browser fingerprint from /fp.js'), then enumerates the concrete signals it evaluates. This clearly distinguishes score_device from sibling scoring tools like score_ip and score_user by focusing on the device fingerprint.

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

Usage Guidelines2/5

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

The description explains what the tool does but gives no explicit guidance on when to use it versus alternatives, nor any exclusions. It does not say 'use when you have a device_id' or contrast with score_domain or verify_agent. Usage context is only implied by the tool's name and schema.

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/5.0
Disambiguation5/5

Each tool targets a distinct resource or action: phone, device, domain, IP, user (aggregate), agent, and email. The descriptions clearly separate individual signal scoring from the combined user scoring, and cryptographic verification is uniquely assigned to verify_agent. No two tools overlap in purpose.

Naming Consistency4/5

Most tools follow the score_<object> pattern (score_device, score_domain, score_ip, score_user), but lookup_phone and verify_email/verify_agent deviate by using different verbs. The naming is still readable and logically grouped, though a more consistent prefix like score_phone and score_email would improve uniformity.

Tool Count5/5

Seven tools cover the core signals for signup risk assessment without unnecessary redundancy. Each tool serves a clear purpose, and the count is well within the typical 3-15 range for a focused API.

Completeness5/5

The set covers the primary data points used in fraud/risk evaluation: phone, IP, email, domain, device, and a combined user score, plus a cryptographic agent verification for advanced scenarios. There are no obvious dead ends or missing lifecycle operations for this read-oriented risk assessment domain.