Skip to main content
Glama

Answer a question with several tools, searched rather than guessed at

singularityagent__mesh
Read-only

Investigate one subject against a stated objective by calling several of these tools in a searched order, and come back with the facts, the path that proved them, and an explicit list of what could not be proved. Reach for it when a question needs more than one call and you do not already know which calls, in what order — "is this token safe to buy", "what is this address", "did this transaction settle", "is this chain worth reading right now". Reach for the individual tool instead when you already know exactly which one you want; this is strictly more expensive than one call. objective decides what counts as an answer: identify (what is this string, on which chain), holdings (native and token balances), activity (what the address has been doing), settlement (the transaction, and whether its block can still be discarded), payment (settlement, plus whether the transaction met the demand it answered — pass demand; Solana only), safety (a Solana mint's authorities, its declared identity, and what could stop you selling it), liveness (whether a chain is producing blocks, and what a transfer costs on it). Each objective names the facts it wants; the search runs the cheapest moves that could prove the missing ones, several at a time, and stops as soon as they are all proved or the call budget is spent. Nothing is read twice — a fact proved by one move is available to every other. The verdict is about evidence, not about the subject. answered means every fact the objective asked for was established; partial means some were and the rest are named in unproven, each with the reason — a tool that does not apply on this chain, a prerequisite that was never proved, an endpoint that failed, or the budget running out. Read unproven before acting on facts. facts are summaries rather than the tools' full answers: each step records the tool and the exact arguments it was called with, so re-running one call gets the whole payload.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
beamNoHow many moves may run at once in one wave. Defaults to 3, capped at 5. Higher finishes sooner and can spend calls on moves a slower wave would have skipped.
planNoReturn the order the moves would be attempted in, and what each would cost, without calling anything. A plan assumes every move answers in full, which a real run cannot.
chainNoChain id or alias, when you already know it. Saves the search from inferring it, and narrows every move after.
budgetNoHow much of each list to return: 'small' (10 items, for a tight context), 'standard' (the default), 'full' (this source's maximum), or a number for an exact count. Omitting it changes nothing. Anything cut is reported in `completeness` as truncated with counts, never dropped silently.
demandNoFor the `payment` objective: the terms the transaction in `subject` is held to. Without it, the proof is listed in `unproven` with the reason.
subjectYesWhat the question is about: an address, transaction hash, ENS/SNS name, Solana mint, alias, or — for the `liveness` objective — a chain id.
maxCallsNoHard ceiling on tool calls. Defaults to 8, capped at 16. The only argument that spends anything.
objectiveYesWhat counts as an answer. This decides which facts the search is trying to prove, and therefore which tools it will reach for.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / additionalProperties
      Previous value: -trueNew value: +false
    • addedInput schema / properties
      Added value: +{
      +  "beam": {
      +    "description": "How many moves may run at once in one wave. Defaults to 3, capped at 5. Higher finishes sooner and can spend calls on moves a slower wave would have skipped.",
      +    "type": "number"
      +  },
      +  "budget": {
      +    "description": "How much of each list to return: 'small' (10 items, for a tight context), 'standard' (the default), 'full' (this source's maximum), or a number for an exact count. Omitting it changes nothing. Anything cut is reported in `completeness` as truncated with counts, never dropped silently.",
      +    "type": [
      +      "string",
      +      "number"
      +    ]
      +  },
      +  "chain": {
      +    "description": "Chain id or alias, when you already know it. Saves the search from inferring it, and narrows every move after.",
      +    "type": "string"
      +  },
      +  "demand": {
      +    "additionalProperties": false,
      +    "description": "For the `payment` objective: the terms the transaction in `subject` is held to. Without it, the proof is listed in `unproven` with the reason.",
      +    "properties": {
      +      "amount": {
      +        "description": "Whole tokens, as the demand stated it.",
      +        "type": "string"
      +      },
      +      "expiresAt": {
      +        "description": "ISO 8601 deadline the payment must land before.",
      +        "type": "string"
      +      },
      +      "from": {
      +        "description": "The wallet that should have paid.",
      +        "type": "string"
      +      },
      +      "memo": {
      +        "description": "Text the payment must carry.",
      +        "type": "string"
      +      },
      +      "mint": {
      +        "description": "Token mint. Omit for native SOL.",
      +        "type": "string"
      +      },
      +      "to": {
      +        "description": "The wallet the demand said would be paid.",
      +        "type": "string"
      +      },
      +      "tokenAccount": {
      +        "description": "The exact destination token account, where named.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "to",
      +      "amount"
      +    ],
      +    "type": "object"
      +  },
      +  "maxCalls": {
      +    "description": "Hard ceiling on tool calls. Defaults to 8, capped at 16. The only argument that spends anything.",
      +    "type": "number"
      +  },
      +  "objective": {
      +    "description": "What counts as an answer. This decides which facts the search is trying to prove, and therefore which tools it will reach for.",
      +    "enum": [
      +      "identify",
      +      "holdings",
      +      "activity",
      +      "settlement",
      +      "payment",
      +      "safety",
      +      "liveness"
      +    ],
      +    "type": "string"
      +  },
      +  "plan": {
      +    "description": "Return the order the moves would be attempted in, and what each would cost, without calling anything. A plan assumes every move answers in full, which a real run cannot.",
      +    "type": "boolean"
      +  },
      +  "subject": {
      +    "description": "What the question is about: an address, transaction hash, ENS/SNS name, Solana mint, alias, or — for the `liveness` objective — a chain id.",
      +    "type": "string"
      +  }
      +}
    • addedInput schema / required
      Added value: +[
      +  "subject",
      +  "objective"
      +]
  2. Added

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.