Sharmaz/phoenixd-mcp-server
If you are the rightful owner of phoenixd-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Connect a phoenixd bitcoin lightning wallet to your LLM.
Phoenixd MCP Server
Connect a phoenixd bitcoin lightning wallet to your LLM.
This MCP server uses MCP TypeScript SDK and Phoenixd API.
Configuration
Usage with Claude Desktop
Add this to your claude_desktop_config.json file:
{
"mcpServers": {
"phoenixd-mpc-server": {
"command": "npx",
"args": [
"-y",
"phoenixd-mcp-server"
],
"env": {
"HTTP_PROTOCOL": "<http or https>", // If not set http is the default value.
"HTTP_HOST": "<your_host>", // If not set 127.0.0.1 is the default host.
"HTTP_PORT": "<your_phoenixd_port>", // If not set 9740 is the default port.
"HTTP_PASSWORD": "<phoenixd_http_password>"
}
}
}
}
Tools
Payments
-
create-invoice- Create a bolt11 invoice with a specified amount and description.
- Inputs:
description(string): The description of the invoice (max. 128 characters).amountSat(number, optional): The amount requested by the invoice, in satoshi. If not set, the invoice can be paid by any amount.expirySeconds(number, optional): The invoice expiry in seconds, default 3600 (1 hour).externalId(string, optional): A custom identifier to link the invoice to an external system.webhookUrl(string, optional): A webhook URL to be notified when this payment is received.
-
create-offer- Create a bolt12 offer.
- Inputs:
description(string): The description of the offer.amountSat(number, optional): The amount requested by the offer, in satoshi.expirySeconds(number, optional): The offer expiry in seconds.
-
pay-invoice- Pay a bolt11 invoice.
- Inputs:
invoice(string): The bolt11 invoice to pay.amountMsat(number, optional): Amount to pay in millisatoshis (only for zero-amount invoices).externalId(string, optional): A custom identifier to link the payment to an external system.
-
pay-offer- Pay a bolt12 offer.
- Inputs:
offer(string): The bolt12 offer to pay.amountMsat(number): Amount to pay in millisatoshis.externalId(string, optional): A custom identifier to link the payment to an external system.
-
pay-lightning-address- Pay a Lightning Address.
- Inputs:
address(string): The Lightning Address to pay (e.g., swamppawpaw18@phoenixwallet.me).amountSat(number): Amount to pay in satoshis.comment(string, optional): Optional comment to include with the payment.
-
pay-on-chain- Send an on-chain Bitcoin payment.
- Inputs:
address(string): The Bitcoin address to send funds to.amountSat(number): Amount to send in satoshis.feerateSatByte(number, optional): Fee rate in satoshis per byte.
-
bump-fee- Bump the fee of an unconfirmed on-chain transaction.
- Inputs:
txId(string): The transaction ID to bump.feerateSatByte(number): New fee rate in satoshis per byte.
-
list-incoming-payments- List incoming payments (invoices).
- Inputs:
from(string, optional): Start timestamp in millis from epoch, default 0.to(string, optional): End timestamp in millis from epoch, default now.limit(number, optional): Number of payments per page, default 20.offset(number, optional): Page offset, default 0.all(boolean, optional): Also return unpaid invoices, default false.externalId(string, optional): External id of the bolt11 invoice.
-
get-incoming-payment- Get details of a specific incoming payment (invoice).
- Inputs:
paymentHash(string): The payment hash of the invoice.
-
list-outgoing-payments- List outgoing payments.
- Inputs:
from(string, optional): Start timestamp in millis from epoch, default 0.to(string, optional): End timestamp in millis from epoch, default now.limit(number, optional): Number of payments per page, default 20.offset(number, optional): Page offset, default 0.externalId(string, optional): External id of the payment.
-
get-outgoing-payment- Get details of a specific outgoing payment.
- Inputs:
paymentHash(string): The payment hash of the outgoing payment.
Node management
-
get-node-info- Get the node info.
- Inputs: none
-
get-balance- Get the balance of the node.
- Inputs: none
-
list-channels- List the node channels.
- Inputs: none
-
close-channel- Close a channel by ID, sending the funds to a specified address on chain, with a specified fee rate.
- Inputs:
channelId(string): The ID of the channel to close.address(string): The Bitcoin on chain address to send the funds to.feerateSatByte(number): The fee rate in satoshis per byte.
-
decode-invoice- Decode an bolt11 invoice, the output amount is in milisatoshis.
- Inputs:
invoice(string): The bolt11 invoice to decode.
-
decode-offer- Decode an bolt12 offer, the output amount is in milisatoshis.
- Inputs:
offer(string): The bolt12 offer to decode.