{"name":"io.github.cnghockey/sats4ai","version":"2.0.0","protocol_version":"2024-11-05","supported_protocol_versions":["2026-07-28","2025-11-25","2025-06-18","2025-03-26","2024-11-05"],"description":"The tools layer of the sovereign AI stack — the hands, eyes and ears no LLM has on its own. 40+ tools — AI phone calls, voice synthesis in 602 languages, translation across 119, fax, SMS, transcription, audiobooks, image generation, music, document extraction, and more. Payment is the only credential — there isn't even a login endpoint. No signup, no API keys, no KYC. Pay per request over Bitcoin Lightning.","homepage":"https://sats4ai.com","onion_url":"http://j5tfaz7s7osapdbry4d2wb5usyhtcvrm7kutonliqq7sjv2c47lsgoid.onion","documentation":"https://sats4ai.com/mcp","contact":{"url":"https://sats4ai.com","issues":"https://github.com/cnghockey/sats4ai-mcp-server/issues","discussions":"https://github.com/cnghockey/sats4ai-mcp-server/discussions"},"packages":[{"type":"http","url":"https://sats4ai.com/api/mcp","transport":"json-rpc","methods":["server/discover","initialize","tools/list","tools/call","resources/list","resources/read","ping"]}],"capabilities":{"tools":true,"resources":true,"prompts":false,"async_tasks":true},"discovery":{"agent_card":"https://sats4ai.com/.well-known/agent.json","catalog":"https://sats4ai.com/api/mcp/discovery","search":"https://sats4ai.com/api/discover","l402_discovery":"https://sats4ai.com/.well-known/l402","l402_services":"https://sats4ai.com/.well-known/l402-services","mpp_discovery":"https://sats4ai.com/.well-known/mpp","models":"https://sats4ai.com/api/l402/models","routing":"https://sats4ai.com/api/models/routing","error_codes":"https://sats4ai.com/api/error-codes","estimate_cost":"https://sats4ai.com/api/estimate-cost","docs":"https://sats4ai.com/docs"},"quickstart":{"description":"Translate a short string for ~1 sat: create_payment → pay → check_payment_status → translate_text. Pays a REAL Lightning invoice; safe but not free.","steps":["create_payment { toolName: 'translate_text', prompt: 'Hello, world.' } -> { paymentId, lightningInvoice, amountSats }","Pay lightningInvoice with any Lightning wallet","check_payment_status { paymentId } -> { paid: true }","translate_text { paymentId, text: 'Hello, world.', targetLanguage: 'Spanish' } -> translated text"],"on_failure":"Post-payment failures return refund.lnurl_withdraw — claim in any LNURL wallet. No account needed.","full":"https://sats4ai.com/api/mcp/discovery"},"features":{"dedup":{"supported":false,"note":"Not implemented. Do not rely on retry-safety: a repeated authed request returns 403 Service already used, not a cached result."},"auto_routing":{"supported":true,"categories":["text-generation","image","audio"],"param":"model: 'auto'","routed_header":"X-Route-Model"},"async_jobs":{"supported":true,"response_status":202,"fields":["job_id","poll_url","poll_interval_ms"],"headers":["X-Job-Id","X-Poll-Url","X-Poll-Interval-Ms"]},"callbacks":{"supported":true,"opt_in":true,"body_fields":["callback_url","callback_id"],"signature_header":"X-Sats4AI-Signature","signature_algorithm":"HMAC-SHA256","url_requirements":"public HTTPS only, no loopback or RFC1918","id_max_length":128,"note":"Polling remains the default. callback_id is opaque — do not embed PII."},"refunds":{"supported":true,"type":"lnurl-withdraw","note":"Every post-payment failure includes a refund.lnurl_withdraw link"},"error_codes":{"supported":true,"response_field":"error_code","header":"X-Error-Code","catalog_url":"https://sats4ai.com/api/error-codes"},"url_path_model":{"supported":true,"pattern":"/api/m/{service}/{model}","note":"Convenience wrapper. Body field still wins if both are set."},"quality_assurance":{"delivery_checked":"weekly — 11 services are bought with real sats and the returned content asserted, not just the status code","delivery_rotation_note":"Covers the automated rotation, not every service. Audiobook has its own automated check every 6 hours; the fixture-dependent surfaces are checked by hand.","purchasability_checked":"daily — every advertised service is quoted to confirm it can actually be bought","payment_path_checked":"daily — real end-to-end paid round-trips against production","liveness_checked":"every 15 minutes","on_failure":"automatic LNURL refund in the error response — no ticket, no account, no email","improvements_carry_forward":"Fixes learned from one job apply to every later job. Audiobook pronunciation is the worked example: a name corrected once is spoken correctly in every book after it."}},"tools":[{"name":"create_payment","category":"payment","async":false,"description":"Create a Lightning invoice to pay for any tool"},{"name":"check_payment_status","category":"payment","async":false,"description":"Check if a Lightning payment has been received"},{"name":"list_models","category":"discovery","async":false,"description":"List available AI models with pricing"},{"name":"get_model_pricing","category":"discovery","async":false,"description":"Get pricing for a specific model"},{"name":"generate_image","category":"image","endpoint_type":"primitive","async":false,"description":"Generate images from text prompts. Models: Grok Imagine, Seedream 4, Nano Banana 2"},{"name":"edit_image","category":"image","endpoint_type":"primitive","async":false,"description":"Edit images with natural language instructions using Nano Banana 2"},{"name":"generate_text","category":"text","endpoint_type":"primitive","untrusted_output":true,"async":false,"description":"Generate text with frontier LLMs. Models: Kimi K3 (best), GPT-OSS-120B (standard)"},{"name":"analyze_image","category":"vision","endpoint_type":"primitive","untrusted_output":true,"async":false,"description":"Analyze and describe image content using Qwen VL","price":{"amount":21,"currency":"SAT","unit":"call"}},{"name":"generate_music","category":"audio","endpoint_type":"primitive","async":false,"description":"Generate full songs (up to 6 min) with natural AI vocals, BPM/key control, and 14+ section tags using Music-2.6. 500 sats per song.","price":{"amount":500,"currency":"SAT","unit":"call"}},{"name":"text_to_speech","category":"audio","endpoint_type":"primitive","async":false,"description":"Convert text to natural speech audio. 3 quality tiers: OmniVoice Global (602+ languages, zero-shot voice cloning, ~102 chars/sat), Inworld Max Premium (#1 ranked TTS ELO 1217, 40+ languages, emotion control, ~15 chars/sat), Minimax Studio (voice cloning from reference clip, 40+ languages, ~5 chars/sat). Pay with Bitcoin Lightning."},{"name":"transcribe_audio","category":"audio","endpoint_type":"primitive","untrusted_output":true,"async":true,"description":"Transcribe audio to text using Mistral Transcription with speaker diarization, timestamped segments, and downloadable SRT/VTT subtitle files","price":{"amount":10,"currency":"SAT","unit":"minute"}},{"name":"transcribe_translate","category":"audio","endpoint_type":"recipe","untrusted_output":true,"async":true,"description":"Compound — audio → transcript → translation in one payment. 13 source languages (auto-detect), 119 target languages. Perfect for WhatsApp voice messages in a language you don't speak. Cheaper than chaining transcribe + translate separately."},{"name":"extract_document","category":"document","endpoint_type":"recipe","untrusted_output":true,"async":false,"description":"Extract text from PDFs and images as Markdown using Mistral OCR","price":{"amount":10,"currency":"SAT","unit":"page"}},{"name":"extract_receipt","category":"document","endpoint_type":"recipe","untrusted_output":true,"async":false,"description":"Extract structured data from receipts and invoices using Mistral OCR + GPT-OSS-120B","price":{"amount":25,"currency":"SAT","unit":"page"}},{"name":"e_signature","category":"document","endpoint_type":"recipe","async":false,"description":"Send a document for legally binding e-signature; the signed copy is emailed back. One document, one payment - no subscription, no account.","price":{"amount":1000,"currency":"SAT","unit":"call"}},{"name":"translate_rare_language","category":"text","endpoint_type":"primitive","untrusted_output":true,"async":false,"description":"Translate into 452 languages, 251 of them NOT supported by ChatGPT, Claude or Gemini (29 of those 251 measured at fair quality or better against human references) — Bhojpuri (~50M speakers), Maithili (~34M), Egyptian Arabic (~100M), Moroccan Arabic (~30M), Chhattisgarhi, Magahi, Manipuri, Kashmiri, Shan, Kachin, Awadhi, Tamazight, Crimean Tatar, Quechua, Nuer, Sango, plus indigenous and minority languages with no callable API anywhere. Runs MADLAD-400 (Apache-2.0) on our own GPU. Quality varies and is PUBLISHED PER LANGUAGE as a measured tier (good/fair/unverified/experimental) so you can judge before paying; the response repeats the tier. Unsupported languages are rejected before payment. For mainstream languages use translate_text (cheaper, more fluent)."},{"name":"boardingpass_wallet","category":"document","endpoint_type":"recipe","untrusted_output":true,"async":false,"description":"Turn any airline boarding pass (PDF or screenshot) into Google Wallet passes with every field the barcode drops — boarding zone, gate, seat, boarding time; the original barcode is preserved byte-for-byte so it scans at the gate. One save link per passenger plus an add-all link (max 8). 100 sats per pass (one per passenger per leg, so a connection is 2). Files are never stored and the link expires in 30 min. Pay with Bitcoin Lightning — no account, no card.","price":{"amount":100,"currency":"SAT","unit":"pass"}},{"name":"translate_text","category":"text","endpoint_type":"primitive","untrusted_output":true,"async":false,"description":"Translate text across 119 languages using GPT-OSS 120B. Supported: Afrikaans, Albanian, Amharic, Arabic, Armenian, Assamese, Azerbaijani, Basque, Belarusian, Bengali, Bosnian, Bulgarian, Burmese, Catalan, Cebuano, Chichewa, Chinese (Simplified), Chinese (Traditional), Corsican, Croatian, Czech, Danish, Dari, Dutch, English, Esperanto, Estonian, Farsi, Fijian, Filipino, Finnish, French, Frisian, Galician, Georgian, German, Greek, Guarani, Gujarati, Haitian Creole, Hausa, Hawaiian, Hebrew, Hindi, Hmong, Hungarian, Icelandic, Igbo, Indonesian, Irish, Italian, Japanese, Javanese, Kannada, Kazakh, Khmer, Kinyarwanda, Korean, Kurdish, Kyrgyz, Lao, Latvian, Lingala, Lithuanian, Luganda, Luxembourgish, Macedonian, Malagasy, Malay, Malayalam, Maltese, Maori, Marathi, Mongolian, Nepali, Norwegian, Occitan, Odia, Pashto, Polish, Portuguese, Punjabi, Romanian, Romansh, Russian, Samoan, Scots Gaelic, Serbian, Sesotho, Setswana, Shona, Sindhi, Sinhala, Slovak, Slovenian, Somali, Spanish, Sundanese, Swahili, Swedish, Tajik, Tamil, Tatar, Telugu, Thai, Tigrinya, Tongan, Turkish, Turkmen, Ukrainian, Urdu, Uzbek, Vietnamese, Welsh, Wolof, Xhosa, Yiddish, Yoruba, Zulu. Pay with Bitcoin Lightning."},{"name":"convert_file","category":"file","endpoint_type":"primitive","async":false,"description":"Convert files between 200+ formats. Pay with Bitcoin Lightning — no account needed.","price":{"amount":100,"currency":"SAT","unit":"call"}},{"name":"merge_pdfs","category":"file","endpoint_type":"primitive","async":false,"description":"Merge multiple PDFs into one. Preserves bookmarks and formatting.","price":{"amount":100,"currency":"SAT","unit":"call"}},{"name":"convert_html_to_pdf","category":"file","endpoint_type":"primitive","async":false,"description":"Convert HTML or Markdown to pixel-perfect PDF.","price":{"amount":50,"currency":"SAT","unit":"call"}},{"name":"send_email","category":"communication","endpoint_type":"primitive","async":false,"description":"Reach anyone via email — formal comms, reports, notifications. Pay with Bitcoin Lightning — no SMTP or domain verification needed. Scam screening is in place: content that impersonates a company or government, threatens or harasses the recipient, or solicits credentials or codes is flagged after payment, NOT sent, and the payment is NOT automatically refunded; a human review can be requested via the docs page.","price":{"amount":200,"currency":"SAT","unit":"call"}},{"name":"send_sms","category":"communication","endpoint_type":"primitive","async":false,"description":"Reach a human via SMS for real-world coordination. Plain text only — URLs are rejected; priced per SMS segment (longer/accented messages cost more). Pay with Bitcoin Lightning — no phone plan, no telecom account. Scam screening is in place: content that impersonates a company or government, threatens or harasses the recipient, or solicits credentials or codes is flagged after payment, NOT sent, and the payment is NOT automatically refunded; a human review can be requested via the docs page. Per-destination send limits apply."},{"name":"place_call","category":"communication","endpoint_type":"primitive","async":false,"description":"Bridge digital-physical gap — deliver spoken messages or audio to any phone. Deposit billing: pay for N minutes upfront, unused time refunded automatically to your Lightning address. Pay with Bitcoin Lightning — no telecom account or KYC. Scam screening is in place: message content that impersonates a company or government, threatens or harasses the recipient, or solicits credentials or codes is flagged after payment, the call is NOT placed, and the payment is NOT automatically refunded; a human review can be requested via the docs page. Per-destination send limits apply."},{"name":"ai_call","category":"communication","endpoint_type":"recipe","untrusted_output":true,"async":true,"description":"When your task hits a wall requiring a human — booking, negotiating, navigating IVR — send an AI voice agent. Deposit billing: pay for N minutes upfront, unused time refunded automatically. Two-way conversation, auto-retries on voicemail, returns transcript + structured analysis. Pay with Bitcoin Lightning. Scam screening is in place: tasks that impersonate a company or government, threaten or harass the recipient, or solicit credentials or codes are flagged after payment, the call is NOT placed, and the payment is NOT automatically refunded; a human review can be requested via the docs page. Per-destination send limits apply."},{"name":"confirm_ai_call","category":"communication","async":true,"description":"Confirm an AI call after push-back. Provide answers to clarification questions and the call proceeds."},{"name":"open_voice_bridge","category":"communication","endpoint_type":"recipe","untrusted_output":true,"async":true,"description":"MCP TOOL TEMPORARILY UNAVAILABLE — create_payment refuses it, so you will not be charged; call the L402 endpoint https://sats4ai.com/api/l402/voice-bridge/open instead (same service and pricing), or use ai_call. Voice Bridge — real-time phone call where YOUR LLM is the brain. We provide PSTN + streaming STT + TTS as composable primitives; you drive each turn via say/poll/end. Conversation context stays on your side. Deposit billing, unused time refunded. Priced per destination, BTC-pegged. 602-lang TTS, ~100-lang STT."},{"name":"voice_bridge_say","category":"communication","async":false,"description":"Inject text (TTS, auto-fallback across engines) or raw audio into an open Voice Bridge call. STT auto-muted during playback. Companion of open_voice_bridge."},{"name":"poll_voice_bridge","category":"communication","async":false,"description":"Fetch new transcript events from an open Voice Bridge call since the last cursor. Returns partial + final transcripts + system events."},{"name":"end_voice_bridge","category":"communication","async":false,"description":"Hang up a Voice Bridge call, finalize metered billing, and return refund info (auto-sent to Lightning address or LNURL-withdraw) for unused deposit."},{"name":"send_fax","category":"communication","endpoint_type":"recipe","async":false,"description":"When your task needs a paper-trail on the other end (bank, notary, hotel in Japan), send a fax to any number worldwide. PDF URL or typed text. 500 sats for up to 10 pages, +50 sats per additional page (max 350). Pay with Bitcoin Lightning — no fax machine or phone line."},{"name":"receive_fax","category":"communication","endpoint_type":"recipe","async":true,"description":"When you're expecting a fax back, open a 24h receive window at our shared number. Matched by caller ID, delivered to your email. Optional OCR add-on. Pay with Bitcoin Lightning — no monthly number rental."},{"name":"remove_background","category":"image-processing","endpoint_type":"primitive","async":false,"description":"Remove background from any image. BiRefNet (SOTA, Papers with Code). Handles hair, glass, transparency. 44 sats, pay with Bitcoin Lightning, no API key needed.","price":{"amount":44,"currency":"SAT","unit":"call"}},{"name":"upscale_image","category":"image-processing","endpoint_type":"primitive","async":false,"description":"Upscale images 2x/4x with Real-ESRGAN (ICCV 2021, 100M+ runs). Neural super-resolution. 5 sats, pay with Bitcoin Lightning, no API key needed.","price":{"amount":5,"currency":"SAT","unit":"call"}},{"name":"restore_face","category":"image-processing","endpoint_type":"primitive","async":false,"description":"Restore blurry/damaged faces with CodeFormer (NeurIPS 2022, SOTA CelebA-Test). Adjustable fidelity. 25 sats, pay with Bitcoin Lightning, no API key needed.","price":{"amount":25,"currency":"SAT","unit":"call"}},{"name":"detect_nsfw","category":"image-processing","endpoint_type":"primitive","async":false,"description":"Classify image safety (normal/suggestive/explicit). Falcons.ai NSFW detection — 100x cheaper and faster than asking an LLM. Returns classification + is_nsfw flag. 2 sats, pay with Bitcoin Lightning, no API key needed.","price":{"amount":2,"currency":"SAT","unit":"call"}},{"name":"detect_objects","category":"image-processing","endpoint_type":"primitive","async":false,"description":"Detect and locate objects by name with bounding boxes and confidence scores. Grounding DINO (open-set detector, ECCV 2024). Structured pixel data agents can't get from LLMs. 5 sats, pay with Bitcoin Lightning, no API key needed.","price":{"amount":5,"currency":"SAT","unit":"call"}},{"name":"remove_object","category":"image-processing","endpoint_type":"primitive","async":false,"description":"Remove unwanted objects from images by describing what to remove — no mask needed. Grounding DINO detection + Bria Eraser inpainting. Just say 'person', 'car', or 'watermark'. 130 sats, pay with Bitcoin Lightning, no API key needed.","price":{"amount":130,"currency":"SAT","unit":"call"}},{"name":"colorize_image","category":"image-processing","endpoint_type":"primitive","async":false,"description":"Colorize black-and-white or grayscale photos. DDColor (dual-decoder, ICCV 2023). Vivid, natural color impossible for text/vision LLMs. 5 sats, pay with Bitcoin Lightning, no API key needed.","price":{"amount":5,"currency":"SAT","unit":"call"}},{"name":"estimate_depth","category":"image-processing","endpoint_type":"primitive","async":false,"description":"Estimate per-pixel depth from a single photo. Depth Anything V2 (NeurIPS 2024, 3.8M+ runs). Returns BOTH the raw greyscale depth map — what a ControlNet, AR or 3D reconstruction pipeline consumes — and a colour visualization for humans. Structured geometry a vision LLM cannot produce. 5 sats, pay with Bitcoin Lightning, no API key needed.","price":{"amount":5,"currency":"SAT","unit":"call"}},{"name":"deblur_image","category":"image-processing","endpoint_type":"primitive","async":false,"description":"Fix blurry or out-of-focus photos. NAFNet (ECCV 2022, SOTA on GoPro/SIDD). Real pixel reconstruction, not just sharpening. Also denoises. 110 sats (~2 min), pay with Bitcoin Lightning, no API key needed.","price":{"amount":110,"currency":"SAT","unit":"call"}},{"name":"generate_video","category":"video","endpoint_type":"primitive","async":true,"description":"Generate video from text with MiniMax H3 — top 2 on the Artificial Analysis text-to-video leaderboard. 768p or 2K (2K upscaled from a 768p render), 5-15s, native audio. Per-second pricing by resolution."},{"name":"animate_image","category":"video","endpoint_type":"primitive","async":true,"description":"Animate a still image into video with MiniMax H3 (first frame + prompt). 768p or 2K (2K upscaled from a 768p render), 5-15s, native audio. Per-second pricing by resolution."},{"name":"generate_3d_model","category":"3d","endpoint_type":"primitive","async":true,"description":"Generate a textured 3D GLB model from a photo OR a text prompt (exactly one) using Tencent Hunyuan3D.","price":{"amount":1600,"currency":"SAT","unit":"call"}},{"name":"clone_voice","category":"audio","endpoint_type":"primitive","async":false,"description":"Clone any voice from a single audio sample. Returns reusable voice_id for text_to_speech. Pay with Bitcoin Lightning.","price":{"amount":7500,"currency":"SAT","unit":"call"}},{"name":"epub_to_audiobook","category":"document","endpoint_type":"recipe","async":true,"description":"Book to Audiobook — convert EPUB, PDF, or TXT into AI-narrated audiobooks (M4B with chapters). Same 3 TTS tiers. Dynamic pricing based on book length"},{"name":"list_planned_services","category":"discovery","async":false,"description":"List planned services with vote counts. No payment required"},{"name":"vote_on_service","category":"discovery","async":false,"description":"Vote for a planned service to be built next. 1 sat per vote"},{"name":"request_refund","category":"support","async":false,"description":"Request a refund for a failed service (no payment required)"},{"name":"check_job_status","category":"async","async":false,"description":"Check status of an async job (video, 3d, voice_clone, transcription, epub-audiobook)"},{"name":"get_job_result","category":"async","async":false,"description":"Retrieve the result of a completed async job"},{"name":"await_result","category":"async","async":false,"description":"Wait for an async job and return its result in one call (check_job_status + get_job_result combined); streams progress over SSE when the request uses Accept: text/event-stream"}],"async_tasks":{"description":"Some tools return a requestId instead of immediate results. Use check_job_status to poll, then get_job_result when complete.","supported_job_types":["video","video-image","video-fal-standard","video-fal-pro","image-3d","transcription","epub-audiobook"],"statuses":["IN_PROGRESS","COMPLETED","FAILED"],"polling":{"recommended_interval_ms":5000,"max_duration_ms":600000},"lifecycle":{"create":"Call the async tool (generate_video, animate_image, generate_3d_model, clone_voice) → returns { requestId }","poll":"Call check_job_status({ requestId, jobType }) → returns { status }","retrieve":"Call get_job_result({ requestId, jobType }) → returns final output URL","wait":"Or call await_result({ requestId, jobType }) once to wait for the result in a single call — streams notifications/progress over SSE when the request uses Accept: text/event-stream","retry":"If status is 'failed', the payment is marked refundable. Create a new payment and retry."}},"payment":{"protocol":"L402","protocols":["L402","MPP"],"mpp_spec":"IETF draft-ryan-httpauth-payment","network":"lightning","currency":"SAT","description":"Each tool requires a Lightning micropayment. Call create_payment to get an invoice, pay it with any Lightning wallet, then call the tool with the paymentId. Failed executions are automatically marked refundable. L402 endpoints also accept the MPP Payment auth scheme (IETF draft-ryan-httpauth-payment) — both L402 and Payment challenges are returned in WWW-Authenticate. Success responses include a Payment-Receipt header.","flow":["1. Call create_payment({ toolName, ... }) → { paymentId, invoice, amountSats }","2. Pay the Lightning invoice (confirms in milliseconds)","3. Call check_payment_status({ paymentId }) → { paid: true }","4. Call the tool with { paymentId, ... } → result"],"l402_flow":["1. POST to L402 endpoint without Authorization → 402 with WWW-Authenticate (L402 + Payment challenges)","2. Pay the Lightning invoice from the challenge","3. Retry with Authorization: L402 <macaroon>:<preimage> (or Authorization: Payment <credential>)","4. Receive result + Payment-Receipt header"]},"tags":["bitcoin","lightning","l402","mpp","ai","micropayments","image-generation","background-removal","image-upscaling","face-restoration","nsfw-detection","object-detection","object-removal","colorization","deblurring","text-generation","video-generation","music","speech","transcription","vision","ocr","translation","file-conversion","sms","email","phone-call","voice-cloning","3d-models","pdf","audiobook","e-signature","esign","boarding-pass","google-wallet","no-signup","privacy","voting","roadmap"]}