Skip to main content
Glama
kaleidoswap

wdk-wallet-liquid-mcp

Official
by kaleidoswap

wdk-wallet-liquid-mcp

MCP server exposing a Liquid network wallet to AI agents, backed by @kaleidorg/wdk-wallet-liquid (an in-process LWK wallet). No external daemon is required.

Tools

Tool

Description

liquid_get_node_info

Network, policy asset, receive address, chain tip.

liquid_get_address

A confidential (CT) receive address.

liquid_get_balance

Spendable L-BTC balance (satoshis).

liquid_get_asset_balance

Balance of a specific Liquid asset.

liquid_list_assets

All assets held with balances.

liquid_list_transactions

Transaction history.

liquid_list_unspents

Wallet UTXOs.

liquid_send_btc

Send L-BTC to a CT address.

liquid_send_asset

Send a Liquid asset (e.g. USDt-Liquid).

liquid_get_fee_rates

Suggested fee rates (sat/vB).

Related MCP server: AgentBTC MCP Server

Configuration

Env var

Default

Description

LIQUID_MNEMONIC

— (required)

BIP-39 mnemonic for the wallet.

LIQUID_NETWORK

testnet

mainnet, testnet or regtest.

LIQUID_ESPLORA_URL

network default

Esplora API base URL.

PORT

If set, serve over StreamableHTTP instead of stdio.

MCP_AUTH_TOKEN

Optional bearer token for HTTP mode.

Run

npm install
npm run build

# stdio (Claude Desktop, kaleidoagent, …)
LIQUID_MNEMONIC="word word ..." node dist/index.js

# HTTP
PORT=3013 LIQUID_MNEMONIC="word word ..." node dist/index.js

License

Apache-2.0

Available Tools

10 tools
liquid_get_addressA

Get a Liquid confidential (CT) receive address for depositing L-BTC or Liquid assets.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It implies a read-only operation via 'Get' and adds detail about the confidential address type. However, it does not disclose potential nuances such as address regeneration, network state, or authentication requirements.

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 a single, well-structured sentence that immediately conveys the tool's function. No filler or redundancy exists.

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?

Given the tool's simplicity (zero parameters, no output schema, no annotations), the description adequately covers the essential information: it returns a receive address. It lacks explicit mention of return format or repeatability, but these are lower-risk details for a getter of this kind.

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?

The input schema has no properties, so there are no parameters to document. The description enriches the tool's purpose by indicating the address is for depositing L-BTC or Liquid assets, which is useful context.

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 a specific verb ('Get') and resource ('Liquid confidential (CT) receive address') with a stated purpose ('for depositing L-BTC or Liquid assets'). It distinguishes this tool from siblings like get_balance and send_asset.

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 context by specifying the tool is for depositing L-BTC or Liquid assets. While it does not explicitly name alternatives or exclusions, the use case is unambiguous, making the usage context clear.

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

liquid_get_asset_balanceA

Get the balance of a specific Liquid asset (e.g. USDt-Liquid) by its asset id, in the asset smallest unit.

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_idYesLiquid asset id (64 hex characters)

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the transparency burden. It adds the behavioral detail that the result is in the asset's smallest unit, but it does not disclose error behavior, side effects, or any required permissions. 'Get' implies read-only, but that is not explicit.

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 a single sentence that is front-loaded with the action and includes all necessary details without any fluff or redundancy.

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 getter with no output schema, the description covers purpose, input, and output unit. It does not specify the return type (number vs. string) or error handling, but given the simplicity, it is fairly complete. A higher score would require more detail on edge cases.

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?

The schema fully describes asset_id as a 64-character hex string. The description adds context by giving an example (USDt-Liquid) and explaining the unit of the result, which is beyond the schema. This extra meaning justifies a score above the baseline of 3.

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 gets the balance of a specific Liquid asset by its asset ID, with the result in smallest units. This specific verb+resource+scope distinguishes it from siblings like liquid_get_balance and liquid_get_address.

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 description implies usage for querying a specific asset's balance, but it does not explicitly mention alternatives or exclusions (e.g., 'use liquid_get_balance for BTC'). No when-to-use guidance beyond the clear purpose.

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

liquid_get_balanceA

Get the spendable L-BTC balance of the Liquid wallet, in satoshis. Syncs with the chain before returning.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses a meaningful behavioral trait: 'Syncs with the chain before returning,' which indicates a network operation and potential latency. It also specifies 'spendable,' which implies confirmed or available balance. It does not explicitly state it is read-only, but the verb 'Get' strongly implies a non-mutating operation.

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 a single sentence with no wasted words. It front-loads the purpose ('Get the spendable L-BTC balance') and adds relevant details (satoshis, chain sync) efficiently.

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 zero-parameter read-only balance tool, the description is complete. It specifies the currency (L-BTC), the wallet context, the unit (satoshis), and the behavior of syncing with the chain. No output schema exists, but the description makes the return value clear.

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?

There are zero parameters, so the baseline is 4. The description correctly avoids mentioning any parameters because none exist, and the schema confirms no inputs. No additional parameter explanation is needed.

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 uses a specific verb ('Get') and names the exact resource: the spendable L-BTC balance of the Liquid wallet, in satoshis. This clearly distinguishes it from sibling tools like liquid_get_asset_balance, which handles other assets, and liquid_get_node_info, which is about node details.

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 clearly states the tool returns the spendable L-BTC balance, making it obvious when to use it. However, it does not explicitly mention alternatives or conditions for when not to use it, such as using liquid_get_asset_balance for non-BTC assets. Still, the context is clear enough for most use cases.

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

liquid_get_fee_ratesA

Get suggested Liquid fee rates in sat/vB. Liquid fees are low and stable — the network minimum is almost always sufficient.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of conveying that this is a read-only, safe operation. The verb 'Get' implies a non-destructive fetch, and the additional context about fee stability adds useful behavioral insight. While it doesn't detail return format or error conditions, the simplicity of the tool makes the disclosure adequate.

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 two concise sentences. The first sentence front-loads the purpose, and the second adds valuable contextual insight. Every word earns its place, with no redundancy or fluff.

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 zero-parameter tool with no output schema, the description covers the essential points: what it returns (fee rates in sat/vB) and provides enough context for interpretation. It could specify the exact structure of the return value (e.g., whether it returns a single rate or multiple options), but this is not critical given the tool's simplicity.

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?

The tool has zero parameters, and the schema reflects this with an empty properties object. The description adds no parameter details, but the baseline of 4 is appropriate given that no parameters exist to explain.

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 function: 'Get suggested Liquid fee rates in sat/vB.' The verb 'Get' is specific and the resource 'Liquid fee rates' is unambiguous. It distinguishes itself from sibling tools, none of which overlap with fee rates.

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 context on when this tool is relevant by noting that 'Liquid fees are low and stable' and 'the network minimum is almost always sufficient.' This implies the tool is useful for obtaining precise rates, but the minimum can often be assumed. However, explicit alternatives are not mentioned.

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

liquid_get_node_infoA

Get the Liquid wallet network summary: network name, policy (L-BTC) asset id, current receive address, and the chain tip height. Call this first to confirm the wallet is reachable.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It implies a read-only health check via 'confirm the wallet is reachable' but does not explicitly state that the operation has no side effects, requires no authentication, or describe error behavior. The description adds some useful context but lacks explicit safety disclosure.

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 two concise sentences with no fluff. It front-loads the action and return fields, then gives a usage tip. Every sentence earns its place.

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 zero-parameter getter with no output schema, the description adequately lists the returned fields and provides usage guidance. It lacks details about potential errors or unreachable-wallet behavior, but the overall context is sufficient for an agent to understand the tool's purpose.

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?

The tool has zero parameters, so schema description coverage is effectively 100%. The description does not need to explain parameter semantics. Baseline for zero-parameter tools is 4.

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 gets a Liquid wallet network summary and enumerates the specific fields returned (network name, policy asset ID, receive address, chain tip height). This distinguishes it from sibling tools that handle balances, transactions, and sends.

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 explicitly instructs to call this first to confirm wallet reachability, providing clear when-to-use context. It does not explicitly mention when not to use it or name alternatives, but the call-first guidance is sufficient context for this getter tool.

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

liquid_list_assetsA

List every Liquid asset held by the wallet with its satoshi balance.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It states the tool lists assets and their balances, which implies a read-only operation. However, it does not disclose whether zero-balance assets are included, the return format, or any rate limits or permissions needed. For a simple list tool, this is adequate but not rich in behavioral detail.

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 a single, front-loaded sentence with no wasted words. It conveys the core action and scope immediately.

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?

The tool is low complexity with zero parameters and no output schema. The description provides the essential scope (all Liquid assets) and the key return value (satoshi balance). It does not detail the return structure, but for a simple list tool this is acceptable.

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?

The tool has zero parameters, so the baseline is 4. The description adds no parameter information because none is needed. The empty schema already covers parameters fully.

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 uses a specific verb 'List' and clearly specifies the resource: 'every Liquid asset held by the wallet with its satoshi balance.' This distinguishes it from siblings like 'liquid_list_transactions' (transactions) and 'liquid_get_balance' (total balance), and from 'liquid_get_asset_balance' which targets a single asset.

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 phrase 'List every Liquid asset' clearly indicates when to use this tool — when you need all wallet assets and their balances. It does not explicitly mention alternatives or exclusions, but the scope ('every') is clear enough to infer the intended use case.

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

liquid_list_transactionsA

List the wallet transaction history (newest first): txid, type, fee, block height and timestamp.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals the ordering (newest first) and the fields returned, but does not mention whether pagination is supported, any rate limits, or that this is a read-only operation. The 'List' verb implies read-only, but this is not explicitly stated. Given the simplicity of the tool, it is adequate but not rich in detail.

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 a single, well-structured sentence. It is front-loaded with the action ('List') and resource, and every word provides useful information without redundancy. There is no waste.

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 list tool with no parameters and no output schema, the description gives a clear picture of what the tool does and the fields returned. It lacks any mention of response structure or potential limitations, but given the low complexity, it is reasonably complete. A slightly higher score would require explicit behavior like pagination or auth requirements.

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?

The tool has zero parameters, so the input schema provides no meaningful details. The description adds value by listing the returned fields (txid, type, fee, block height, timestamp) and the ordering, effectively compensating for the lack of schema. The baseline for zero parameters is 4, which is met.

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 function: 'List the wallet transaction history (newest first): txid, type, fee, block height and timestamp.' It specifies the verb (List), resource (wallet transaction history), ordering (newest first), and included fields, distinguishing it from sibling tools like liquid_get_balance or liquid_send_btc.

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 context: this tool is for retrieving transaction history. It does not explicitly mention when not to use it or name alternatives, but the context is unambiguous. Since it lacks explicit exclusions or alternative comparisons, a score of 4 is appropriate rather than 5.

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

liquid_list_unspentsA

List the wallet unspent transaction outputs (UTXOs): txid, vout, asset id, value and confirmation height.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses the fields returned, which is useful, but doesn't mention any behavioral aspects such as sorting, filtering, or that it only lists unspent outputs (though implied by 'unspent'). Given the simplicity, this is adequate but not rich.

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 a single, front-loaded sentence that efficiently conveys the tool's purpose and return fields. Every word contributes, with no redundancy or fluff.

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 parameterless list tool with no output schema, the description fully covers what the tool does and what it returns. It's complete for an agent to invoke and interpret results correctly.

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?

The tool has zero parameters, and schema coverage is 100% (empty properties). According to the rubric, a 4 is the baseline for no parameters because the description doesn't need to explain anything further.

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 uses a specific verb ('List') and resource ('wallet unspent transaction outputs'), and enumerates the exact returned fields (txid, vout, asset id, value, confirmation height). This clearly distinguishes it from sibling tools like liquid_list_transactions or liquid_get_balance.

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?

While no explicit when-to-use or alternatives are mentioned, the description makes it obvious this is the tool for UTXO information. The context from sibling names (e.g., liquid_list_transactions, liquid_get_balance) reinforces this, providing clear implied usage without exclusions.

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

liquid_send_assetA

Send a non-L-BTC Liquid asset (e.g. USDt-Liquid) to a confidential address. Returns the broadcast txid and fee.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount to send, in the asset smallest unit
asset_idYesLiquid asset id (64 hex characters)
fee_rateNoFee rate in sat/vB (default: network minimum)
recipientYesLiquid confidential (CT) destination address

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden of disclosing behavior. It adds useful context such as the asset type (non-L-BTC), confidentiality requirement, and return values. However, it does not disclose mutational implications like irreversible spending, potential failure modes, or fee deduction behavior beyond what the schema implies. This is adequate but not fully transparent.

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 a single, front-loaded sentence with no filler. It efficiently conveys the action, target, and return value, scoring high on conciseness.

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?

The description is sufficient for a basic send operation, but given the complexity of a financial transaction and lack of annotations/output schema, it could provide more context (e.g., funding source, balance requirements, or error behavior). It is adequately informative but not exhaustive.

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?

The input schema has 100% parameter coverage, so the description is not required to repeat parameter details. It adds a concrete example (USDt-Liquid) but no additional meaning beyond the schema. The 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 action (send), the specific resource (non-L-BTC Liquid asset), and the destination (confidential address). It also mentions the return value (broadcast txid and fee), which fully clarifies the tool's purpose and distinguishes it from the sibling liquid_send_btc.

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 context—sending a non-L-BTC asset—and implies the alternative (liquid_send_btc) by excluding BTC, but it does not explicitly name the alternative or state when not to use this tool. This is clear enough for an agent to select it appropriately, but lacks explicit exclusion guidance.

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

liquid_send_btcA

Send L-BTC on the Liquid network to a confidential address. Returns the broadcast txid and fee.

ParametersJSON Schema
NameRequiredDescriptionDefault
fee_rateNoFee rate in sat/vB (default: network minimum)
recipientYesLiquid confidential (CT) destination address
amount_satsYesAmount to send, in satoshis

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses that the transaction is broadcast (returning a txid) and includes a fee, providing basic behavioral context. However, it does not mention irreversibility, balance requirements, or potential failure modes, which are relevant for a send operation.

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 a single sentence that front-loads the action and includes the network, destination type, and return information. Every word contributes to the tool's purpose, making it highly concise without unnecessary elaboration.

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 send operation, the description covers the function and return values, and the schema fully describes parameters. The lack of annotations and absence of any guidance on edge cases or prerequisites leaves a few gaps, but these are minor given the tool's straightforward nature.

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?

The schema already documents all three parameters with descriptions (100% coverage), so the description does not need to add parameter details. It adds no additional meaning beyond the schema's parameter descriptions, and the 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 action (send), the resource (L-BTC on Liquid), and the destination type (confidential address), distinguishing it from the sibling tool liquid_send_asset. It also specifies the output (broadcast txid and fee), making the tool's purpose unambiguous.

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 description implies usage for sending L-BTC specifically, but does not explicitly state when to use this tool over liquid_send_asset or other alternatives. There is no mention of exclusions or context where this tool should not be used, leaving the decision partially to inference.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updatesv1.0.0
    • First observedliquid_get_address
    • First observedliquid_get_asset_balance
    • First observedliquid_get_balance
    • First observedliquid_get_fee_rates
    • First observedliquid_get_node_info
    • First observedliquid_list_assets
    • First observedliquid_list_transactions
    • First observedliquid_list_unspents
    • First observedliquid_send_asset
    • First observedliquid_send_btc

TDQS

A4.3/5.0

Scored across 10 tools

Disambiguation5/5

Each tool targets a distinct resource and action: network info, address generation, L-BTC balance, asset-specific balance, asset list, transaction list, UTXO list, BTC send, asset send, and fee rates. No two tools overlap in purpose, and the descriptions make the boundaries clear.

Naming Consistency5/5

All tools share the 'liquid_' prefix and follow a consistent verb_noun pattern (get_address, get_balance, list_assets, send_btc, etc.). The verbs are limited to get, list, and send, which are unambiguous, and the naming convention is perfectly uniform.

Tool Count5/5

With 10 tools, the set is well-scoped for a Liquid wallet server, covering all essential wallet operations without unnecessary bloat. Each tool has a clear role and earns its place.

Completeness5/5

The tool set covers the full wallet lifecycle: address generation, balance queries for both L-BTC and assets, transaction history, UTXO management, sending both L-BTC and other assets, and fee estimation. There are no significant gaps for typical wallet operations.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers