Skip to main content
Glama

Buying Power

open_buying_power_panel
Read-onlyIdempotent

Opens the RealOpen panel beside the current conversation (not the full-screen sidebar app; use open_realopen for that), showing the property price being discussed, the crypto asset or wallet the user intends to use, verified funds available, what is still required, verification status, proof of funds status, and the next step. Pass what the conversation has established (target_price_usd, asset, workflow). Use workflow "verify_wallet" to guide wallet verification: Bitcoin, Zcash and Dogecoin verify by public address with a signed message or a dust transfer, and can link an extended public key (xpub) so the whole wallet counts. Never ask for a private key or seed phrase. If the user asked to transfer, send, sell, trade, convert, or hold crypto, set blocked_request so the panel explains that ChatGPT cannot do that and shows an allowed next step. Read-only: it does not move, sell, convert, or hold crypto.

Input Schema

NameRequiredDescriptionDefault
assetNoCrypto asset the user intends to use, as a ticker or name (BTC, Bitcoin, ZEC, USDC)
workflowNoWorkflow to show: buying_power, verify_wallet, or proof_of_funds
wallet_idNoInternal wallet id from a previous result, when the user picked a specific wallet
blocked_requestNoSet when the user asked for something these tools cannot do: transfer, trade (sell, swap, convert), or custody
target_price_usdNoProperty price in US dollars, if the conversation established one

Output Schema

NameRequiredDescriptionDefault
introYesShort introduction shown while onboarding is under way; null once it is complete
linksYesExisting realopen.com pages for each step
intentYesWorkflow this request asked for, if any
accountYes
contextYes
noticesYes
summaryYesShort plain-language summary. Lead with this; it reads well aloud.
surfaceYeshome | panel | inline
unlocksYesWhat verification makes available, shown before there are results
versionYes
walletsYes
identityYes
progressYes
assessmentYes
input_errorNoPresent when a supplied value could not be used
next_actionYesThe one recommended next step
buying_powerYes
authenticatedYes
proof_of_fundsYes
blocked_requestNoPresent when the user asked for something these tools cannot do
realscore_reportYesThe asset verification document for a mortgage lender. Not a loan decision.
results_availableYesTrue once there is buying power or a letter to show
secondary_actionsYesThings the user can also do now, such as continuing a wallet while an identity check is reviewed
verification_guideNoHow wallet verification works for the chosen asset

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / progress / properties / stage / description
      Previous value: -"connect | identity | wallet_add | wallet_verify | pof_ready | activated"New value: +"connect | wallet_add | wallet_verify | identity | pof_ready | activated"
  2. Changed29 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedOutput schema / properties / blocked_request / additionalProperties
      Previous value: -trueNew value: +{}
    • changedOutput schema / properties / links / additionalProperties
      Previous value: -trueNew value: +{}
    • changedOutput schema / properties / next_action / additionalProperties
      Previous value: -trueNew value: +{}
    • changedOutput schema / properties / progress / properties / steps / items / additionalProperties
      Previous value: -trueNew value: +{}
    • changedOutput schema / properties / secondary_actions / items / additionalProperties
      Previous value: -trueNew value: +{}
    • removedOutput schema / properties / secondary_actions / items / properties / description / $ref
      Removed value: -"#/properties/next_action/properties/description"
    • addedOutput schema / properties / secondary_actions / items / properties / description / type
      Added value: +"string"
    • removedOutput schema / properties / secondary_actions / items / properties / heading / $ref
      Removed value: -"#/properties/next_action/properties/heading"
    • addedOutput schema / properties / secondary_actions / items / properties / heading / description
      Added value: +"What the step is, as a heading"
    • addedOutput schema / properties / secondary_actions / items / properties / heading / type
      Added value: +"string"
    • removedOutput schema / properties / secondary_actions / items / properties / key / $ref
      Removed value: -"#/properties/next_action/properties/key"
    • addedOutput schema / properties / secondary_actions / items / properties / key / type
      Added value: +"string"
    • removedOutput schema / properties / secondary_actions / items / properties / kind / $ref
      Removed value: -"#/properties/next_action/properties/kind"
    • addedOutput schema / properties / secondary_actions / items / properties / kind / description
      Added value: +"connect | identity | refresh | workflow | link"
    • addedOutput schema / properties / secondary_actions / items / properties / kind / type
      Added value: +"string"
    • removedOutput schema / properties / secondary_actions / items / properties / label / $ref
      Removed value: -"#/properties/next_action/properties/label"
    • addedOutput schema / properties / secondary_actions / items / properties / label / description
      Added value: +"Button wording"
    • addedOutput schema / properties / secondary_actions / items / properties / label / type
      Added value: +"string"
    • removedOutput schema / properties / secondary_actions / items / properties / note / $ref
      Removed value: -"#/properties/next_action/properties/note"
    • addedOutput schema / properties / secondary_actions / items / properties / note / description
      Added value: +"Short practical note, for example that it opens in the browser"
    • addedOutput schema / properties / secondary_actions / items / properties / note / type
      Added value: +"string"
    • removedOutput schema / properties / secondary_actions / items / properties / tool / $ref
      Removed value: -"#/properties/next_action/properties/tool"
    • addedOutput schema / properties / secondary_actions / items / properties / tool / type
      Added value: +"string"
    • removedOutput schema / properties / secondary_actions / items / properties / url / $ref
      Removed value: -"#/properties/next_action/properties/url"
    • addedOutput schema / properties / secondary_actions / items / properties / url / type
      Added value: +"string"
    • removedOutput schema / properties / secondary_actions / items / properties / workflow / $ref
      Removed value: -"#/properties/next_action/properties/workflow"
    • addedOutput schema / properties / secondary_actions / items / properties / workflow / type
      Added value: +"string"
    • changedOutput schema / properties / verification_guide / additionalProperties
      Previous value: -trueNew value: +{}
  3. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, yet the description still adds real value: the verification mechanics (public address with signed message or dust transfer, xpub linking), the hard security constraint 'Never ask for a private key or seed phrase', and what happens when blocked_request is set. The closing 'Read-only: it does not move, sell, convert, or hold crypto' partly restates the annotations, which keeps it just short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and the sibling disambiguation, then layered with workflow and safety guidance in a logical order. The opening sentence is dense with a long enumeration, and the final read-only sentence is largely redundant with the annotations, so it is efficient but not airtight.

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?

An output schema exists, so return values need not be described, and the annotations plus description cover safety, workflows, and the security constraint well. The gap is that the realscore_report workflow option is left unexplained even though the sibling generate_realscore_report exists, leaving one enum path unmapped.

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%, so the baseline is 3; the description earns above that by explaining intent for the key params — 'Pass what the conversation has established (target_price_usd, asset, workflow)' and the precise conversational trigger for blocked_request. The only soft spot is that the schema's fourth workflow enum value (realscore_report) is never mentioned in either the description or the schema's own workflow text.

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 concrete verb and resource ('Opens the RealOpen panel beside the current conversation') and immediately disambiguates from the sibling open_realopen by naming it and the difference (panel vs. full-screen sidebar app). It also enumerates what the panel shows, so an agent knows exactly what content this call surfaces.

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 routing rules: use open_realopen for the full-screen app, use workflow "verify_wallet" to guide wallet verification, and set blocked_request when the user asks to transfer, send, sell, trade, convert, or hold crypto. The trigger conditions and the alternative tool are both spelled out rather than implied.

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.