There is no account holding a balance, so each tool call is preceded by an invoice covering exactly that call — list the model, create the payment, confirm it landed, run the thing. The cost of that design is an extra round trip and an agent that can settle a BOLT11 invoice by itself, which in practice means pairing this with a Lightning wallet server. Before committing, get_cost_estimate prices a job from its real size in characters, minutes or pages, and get_error_codes hands you codes to branch on rather than message strings to parse. Sat prices are pegged to Bitcoin and re-quoted hourly, so read them as today's quote rather than a fixed price list.
A remote MCP server whose every tool is paid for individually with a Lightning invoice: create the invoice for the exact call you want, pay it, then run the tool. It covers generation (image, video, music, 3D, text), speech (text to speech, transcription, voice cloning, audiobooks), image processing, document work, and reach into the physical world — email, SMS, fax and a voice agent that holds a real phone conversation. Nothing is set up in advance: no account, no key, no KYC.
- The shape is the same for everything: list_models to find the model and its price, create_payment for a BOLT11 invoice covering exactly one call, check_payment_status until readyToUse is true, then the tool itself
- Generation: generate_image (Grok Imagine at 100 sats, Seedream 4 at 150, Nano Banana 2 at 200), edit_image tiered 200 / 300 / 450 sats by resolution, generate_video and animate_image at 4-15 seconds and 480p to 1080p priced per second, generate_music at 500 sats a song, generate_3d_model at 1,600 sats, generate_text priced per character
- Speech: text_to_speech across three tiers including one covering 602+ languages, transcribe_audio up to 500 MB or 60 minutes across 13 languages, transcribe_translate turning one payment into a transcript and a translation, clone_voice at 7,500 sats, and epub_to_audiobook with chapter detection and multi-voice narration
- Image processing at small prices: remove_background 44 sats, upscale_image 5, colorize_image 5, detect_objects 5 with bounding boxes, detect_nsfw 2, restore_face, deblur_image, and remove_object at 130 sats by description with no mask needed
- Documents: extract_document at 10 sats a page as clean Markdown, extract_receipt into structured JSON with merchant, line items, totals and tax, convert_file across 200+ formats, merge_pdfs, convert_html_to_pdf, e_signature at 1,000 sats a document, and boardingpass_wallet turning a boarding pass into a Google Wallet pass
- Reach: send_email, send_sms, place_call, send_fax, receive_fax opening a 24-hour window on a shared number, and ai_call — an agent that holds a two-way conversation, retries voicemail up to 3 times, and can come back as pending_confirm for confirm_ai_call when it needs something you did not supply
- Async work returns a requestId: poll with check_job_status and collect with get_job_result, or use await_result to do both in a single call
- Costs are checkable first: get_cost_estimate quotes a service by characters, minutes or pages, get_model_pricing quotes one model, and get_error_codes returns the machine-readable error catalog so an agent branches on codes rather than parsing messages
- request_refund opens a 48-hour manual review when a service failed; the metered services return unused deposit automatically as an LNURL-withdraw link instead
It is a remote server at https://sats4ai.com/api/mcp with no local process and no dependencies; clients that cannot speak remote HTTP use the bundled stdio proxy, npx sats4ai-mcp. There is no account and no API key — payment is per call over Lightning, so an agent that pays on its own needs a Lightning wallet server alongside this one. Prices are pegged to Bitcoin and re-quoted hourly, so treat the sat figures as approximate and take the exact amount from create_payment; an invoice covers exactly one call and expires. open_voice_bridge is unavailable over MCP and create_payment refuses it, so nothing is charged — the L402 HTTP endpoint or ai_call covers the same need.
One command — claude mcp add sats4ai --transport http https://sats4ai.com/api/mcp
