Skip to main content
Glama

ask_analyst

Destructive

Get a structured OSINT/GEOINT brief by asking an analyst a question; results include findings, recommendations, and citations, delivered asynchronously via job ID.

Instructions

Ask the Delta Analyst an OSINT/GEOINT question. Runs an agentic multi-step analysis over the signal corpus and returns a structured brief (summary, findings with collection recommendations, assessment, citations). Costs 5–123 tokens (usage-based, metered by the compute the question actually uses; charged ONCE, when the run completes; the exact charge and remaining balance are in the result meta.tokens). Durable async: the run is ENQUEUED and returns {status:"processing", job_id} immediately, then completes in a background worker — so it is never lost to a client timeout. Timing: most questions finish in ~30–90s; a complex brief (satellite-imagery lookups or many sources) can take 2–3 minutes. Fetch the finished brief by calling get_analyst_job with the job_id (poll every ~10–20s), or ask_analyst again with the SAME idempotencyKey (no second charge).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bboxNoOptional focus bounding box [minLon, minLat, maxLon, maxLat] (WGS84).
modeNofast (default) or deep. Deep enables extended reasoning and wider evidence-gathering budgets — for forecasting, collection trade-offs and market-implication questions where step-by-step reasoning materially helps. It is slower and the ceiling rises from 123 to 415 tokens; charging stays metered by what the run actually consumes, so a light deep question does not cost the ceiling.
questionYesThe analytic question (≤ 500 chars).
idempotencyKeyNoOptional at-most-once key. Re-sending the SAME key resolves to the SAME run: if it finished you get the brief with NO second charge; if it is still running you get its processing status. Strongly recommended — it makes a timeout recoverable. Use a fresh key to ask again.
response_formatNo"full" (default) returns the prose brief alongside the structured result. "compact" omits the prose brief and returns only the structured result — which still carries the assembled structured_summary — so a completed run costs materially fewer context tokens.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
metaNoQuery echo, token charge/balance (meta.tokens), and pagination where applicable.
briefNo
job_idNoId of the analyst run — pass to get_analyst_job (also at GET /api/v1/analyst/{job_id}).
statusNo"processing" when the run is still going (poll get_analyst_job or re-send the same idempotencyKey).
messageNo
progressNoPipeline progress while the job is processing. completed_steps reaches total_steps ONLY when status is "done".
estimated_chargeNoThe charge ceiling quoted for THIS run, fixed at enqueue (統合改善指示書 P1-1). The completed run reports the actual charge in meta.tokens.charged and echoes this ceiling as meta.tokens.maximum_promised; actual never exceeds it.
Behavior5/5

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

Annotations signal non-read-only behavior (destructiveHint true), and the description substantially augments this with concrete side effects: token cost range (5–123), charge-once semantics, async enqueue returning {status:'processing'}, and idempotent re-send behavior. This is transparent and does not contradict the annotations.

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 organized into clear informational blocks — purpose, cost, async behavior, timing, and retrieval — with no filler. Although long, every clause contributes essential operational detail, and key facts are front-loaded.

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 high-complexity async tool with an output schema, the description thoroughly covers cost, enqueue response shape, timeout resilience, run duration, retrieval via a sibling tool, and idempotent retry. The structured brief itself is handled by the output schema, so no critical context is missing.

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?

Schema coverage is 100%, providing baseline 3. The description adds operational meaning for idempotencyKey (no second charge, resolves to same run) and response_format (compact omits prose to save context tokens), which goes beyond the schema's own 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 opens with a specific verb ('Ask...') and target ('Delta Analyst'), then details the operation: 'Runs an agentic multi-step analysis over the signal corpus and returns a structured brief'. It also distinguishes itself from the sibling get_analyst_job by explicitly naming that tool for fetching results.

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

Usage Guidelines4/5

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

The description provides clear operational context: async enqueue, polling cadence ('poll every ~10–20s'), and two explicit retrieval alternatives ('calling get_analyst_job with the job_id' or 'ask_analyst again with the SAME idempotencyKey'). It does not enumerate exclusions for when not to use this tool versus other analysis siblings, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Off-Nadir-Lab/offnadir-delta-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server