Skip to main content
Glama

Get address screening history

get_address_screening_history
Read-only

Retrieve the authenticated user's prior screening runs for a specific Ethereum address, each with the same detail as screen_address: reputation score, band, confidence, sanctioned flag, and the top evidence signals. Use it to recall context for an already-screened address. Costs zero credits, unlike screen_address which always runs a fresh screen. For runs across all your addresses, use get_screening_history.

Input Schema

NameRequiredDescriptionDefault
limitNoNumber of past runs to return (1-50, default 5, newest first)
addressYesEthereum address (0x...) or .eth ENS name to look up historic screenings for

Output Schema

NameRequiredDescriptionDefault
itemsYesRecent screening runs, newest first, each with the same detail as screen_address

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedOutput schema / properties / items / items / properties / transactionCount / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / items / items / properties / transactionCount / minimum
      Added value: +-9007199254740991
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "items": {
      +      "description": "Recent screening runs, newest first, each with the same detail as screen_address",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "address": {
      +            "description": "The screened address",
      +            "type": "string"
      +          },
      +          "band": {
      +            "description": "Reputation band, e.g. Low Risk",
      +            "type": "string"
      +          },
      +          "bandCode": {
      +            "description": "Band identifier, e.g. LOW_RISK",
      +            "type": "string"
      +          },
      +          "confidence": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "High",
      +                  "Medium",
      +                  "Low"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Engine confidence for this run"
      +          },
      +          "ensName": {
      +            "description": "ENS name for the address, when known",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "evidence": {
      +            "description": "Up to 10 signals behind this run, most severe first",
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "code": {
      +                  "type": "string"
      +                },
      +                "factor": {
      +                  "type": "string"
      +                },
      +                "message": {
      +                  "type": "string"
      +                },
      +                "severity": {
      +                  "enum": [
      +                    "High",
      +                    "Medium",
      +                    "Low"
      +                  ],
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "code",
      +                "factor",
      +                "severity",
      +                "message"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "reportUrl": {
      +            "description": "Link to the full report on the Probity dashboard",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "sanctioned": {
      +            "description": "True if the address is a direct OFAC match",
      +            "type": "boolean"
      +          },
      +          "score": {
      +            "description": "Signed reputation score from -100 to +100. Lower is worse.",
      +            "type": "number"
      +          },
      +          "screenedAt": {
      +            "description": "When the screen ran (ISO-8601)",
      +            "type": "string"
      +          },
      +          "screeningId": {
      +            "description": "Immutable run id (rsr_...)",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "transactionCount": {
      +            "description": "Number of transactions analysed",
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "screeningId",
      +          "address",
      +          "ensName",
      +          "score",
      +          "bandCode",
      +          "band",
      +          "confidence",
      +          "sanctioned",
      +          "transactionCount",
      +          "evidence",
      +          "screenedAt",
      +          "reportUrl"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "items"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description adds the meaningful economic detail that this costs zero credits versus screen_address, which is exactly the kind of context annotations cannot express. It also states what each run contains, though that overlaps with the output schema.

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 tight sentences, front-loaded with the core action, then the use case and cost, then the sibling routing. No filler and nothing buried mid-paragraph.

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?

A read-only history lookup with a full output schema and complete parameter documentation; the description still supplies cost model and sibling routing. Nothing an agent needs to call it correctly is missing.

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?

Schema coverage is 100% and the limit parameter is fully documented in-schema (1-50, default 5, newest first), so the schema does the heavy lifting. The description adds only that the lookup targets a specific address, without elaborating on ENS vs hex handling or ordering beyond what the schema states.

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 and resource (retrieve prior screening runs for a specific address) and immediately differentiates it from screen_address and get_screening_history by scope. An agent can distinguish it from all six siblings without opening any schema.

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?

Gives explicit when-to-use (recall context for an already-screened address), names the fresh-screen alternative screen_address and its cost difference, and routes the all-addresses case to get_screening_history. Both excluded alternatives are named with the condition that selects them.

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.

Resources