Skip to main content
Glama

Sats4AI - Bitcoin-Powered AI Tools

check_payment_status

Read-onlyIdempotent

Check whether a Lightning invoice has been paid. Returns JSON: { paid, serviceUsed, refundAllowed, readyToUse, next } — readyToUse=true means paid, not yet consumed, and no refund queued; next says what to do. Call after create_payment to verify the user has paid before calling the target tool. Invoices expire after 10 minutes — if expired, create a new payment. Most MCP clients with a connected wallet pay instantly, so a single check is usually sufficient. This tool is free and does not require payment.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paymentIdYesThe paymentId returned by create_payment

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds valuable behavioral context: the tool is free, does not require payment, explains the 'readyToUse' flag, mentions instant payment for most MCP clients, and details invoice expiration. No contradictions with 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 concise (5 sentences) and front-loaded with the main purpose. Every sentence adds value: purpose, return fields, usage, expiry, and cost. No redundant or unnecessary information.

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?

For a simple one-parameter tool with full schema coverage and annotations, the description is nearly complete. It explains the return JSON, usage flow, expiry, and cost. However, it lacks error case handling (e.g., invalid paymentId) and could elaborate on the exact response shape, but these are minor gaps.

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 coverage is 100% with the parameter 'paymentId' already described as 'The paymentId returned by create_payment.' The description does not add additional parameter semantics beyond what the schema provides, so a baseline of 3 is appropriate.

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 clearly states the tool's purpose: 'Check whether a Lightning invoice has been paid.' It specifies the verb 'check' and the resource 'Lightning invoice payment status.' The return JSON fields are explicitly listed, distinguishing it from related tools like create_payment.

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?

The description provides explicit usage guidance: 'Call after create_payment to verify the user has paid before calling the target tool.' It also notes invoice expiry (10 minutes) and that a single check is usually sufficient, offering clear context for when and how to use the tool.

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.

TDQS

A4/5.0
Disambiguation4/5

Most tools have distinct purposes, but there is some overlap, especially among call tools (ai_call, place_call, open_voice_bridge) and image generation/editing tools (generate_image, edit_image, animate_image). Descriptions help differentiate, but an agent might still select the wrong one.

Naming Consistency4/5

The vast majority of tools follow a verb_noun pattern (e.g., generate_image, send_sms). A few exceptions exist (await_result, check_job_status, epub_to_audiobook) but the overall pattern is strong and predictable.

Tool Count3/5

With 50 tools, the server is very extensive. While each tool earns its place given the broad scope of AI services, the count feels high and could overwhelm agents, making selection less efficient.

Completeness5/5

The tool surface is remarkably comprehensive, covering generation, editing, conversion, communication, async management, payments, and error handling. There are no obvious gaps for the stated Bitcoin-powered AI toolkit purpose.