Skip to main content
Glama

Mallory

getObservable

Fetch a single Mallory observable (IOC) — an IP, domain, URL, email address, or file hash — with its reputation/opinion data. Identify it EITHER by uuid, OR by the (type, name) pair: e.g. type='domain' name='evil.example.com'; type='ip.v4' name='1.2.3.4'; type='hash.sha256' name=''. Returns the observable's type, value, verdict/opinion summary, and linked references. To filter/search observables use listObservables; to get the IOCs Mallory extracted from a specific report use referenceObservables.

Input Schema

NameRequiredDescriptionDefault
nameNoObservable value, e.g. '1.2.3.4', 'evil.example.com', a file hash. Provide together with type.
typeNoObservable type, e.g. ip.v4, ip.v6, domain, url, email, hash.md5, hash.sha1, hash.sha256. Provide together with name.
uuidNoThe observable UUID. Provide this OR (type + name).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations present, the description carries the full disclosure burden, and it does most of the work: it states what can be passed, that either of two identifier shapes is accepted, and what comes back (type, value, verdict/opinion summary, linked references). It does not cover failure behavior when an IOC is not found or whether both identifiers may be supplied simultaneously, which is the remaining gap for an annotation-free read tool.

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?

Four sentences, front-loaded with the purpose and identifier rules, then return shape, then sibling routing. Every sentence carries actionable information; nothing is filler or redundant repetition of the name.

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?

There is no output schema and no annotations, so the description has to describe returns itself — which it does at a field level (type, value, verdict/opinion summary, references). Given only 3 optional params this is nearly complete; only not-found/error behavior and whether identifiers are mutually exclusive are left unspecified.

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 description coverage is 100% and the schema already documents the uuid-vs-(type+name) relationship and lists the type values, so the description's examples largely restate structured data. The worked pairings (type='domain' name='evil.example.com') add only marginal clarity over the enum-like list already in the schema.

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 and resource ("Fetch a single Mallory observable (IOC)") and immediately enumerates the concrete value types it covers (IP, domain, URL, email, file hash), so the resource is unambiguous. It also names the two nearest siblings (listObservables, referenceObservables) and what they do instead, which lets an agent distinguish it 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?

Explicitly states the selection rule against alternatives: use listObservables to filter/search, referenceObservables to get IOCs extracted from a specific report. It also states the two acceptable identification paths (uuid OR type+name), removing any ambiguity about preconditions.

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