Skip to main content
Glama
Blink MCP Server

Blink MCP Server

Official
by blinkbitcoin

pay_invoice_with_amount

Pays a Lightning invoice that has no amount by sending a specified amount in satoshis or cents from a chosen wallet.

Instructions

Pay a Lightning invoice that has no amount specified (open invoice). You specify the amount to send.

Input Schema

NameRequiredDescriptionDefault
memoNoOptional memo to attach to the payment
amountYesAmount in satoshis (BTC wallet) or cents (USD wallet)
wallet_idYesThe wallet ID to pay from
payment_requestYesThe bolt11 payment request to pay

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv2.0.0
    • addedInput schema / properties / amount / exclusiveMinimum
      Added value: +0
    • addedInput schema / properties / amount / maximum
      Added value: +9007199254740991
    • changedInput schema / properties / amount / type
      Previous value: -"number"New value: +"integer"
    • addedInput schema / properties / memo / description
      Added value: +"Optional memo to attach to the payment"
  2. First observedv1.2.0

TDQS

B3.4/5.0
Behavior2/5

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

No annotations at all, so the description carries the full burden for what is an irreversible value transfer. It discloses nothing about irreversibility, whether funds move immediately, fee handling, or any auth/limit requirement. Beyond the single precondition it is silent on the behaviors an agent most needs to know before spending money.

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?

Two short sentences, zero padding, with the distinguishing precondition front-loaded and the caller obligation second. Nothing could be cut without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, yet the description says nothing about what a payment call returns (preimage, fee paid, status) or how failures surface. Combined with zero annotations on a financial mutation, the definition is callable but leaves meaningful gaps around outcome and safety.

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 all four parameters are already documented, including amount units and the positivity bound — baseline is 3. The description adds the meaningful semantic that amount is caller-determined and required because the invoice itself carries none, which explains why the field exists rather than just its type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Pay a Lightning invoice') with the qualifying condition that the invoice carries no amount, and that the caller supplies the amount. This clearly separates it from a plain pay_invoice, though the sibling is never named. An agent can identify the tool's job without opening the schema.

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

Usage Guidelines3/5

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

The precondition ('invoice has no amount specified') is stated, which implies the when-to-use case, but the alternative is never named and the failure mode (what happens if you use this on an invoice that already has an amount, or pay_invoice on an open invoice) is not addressed. Guidance is implied rather than explicit.

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