Landing en 24h
Free remote MCP server that generates a complete, responsive single-file HTML landing page for a small business (hero, services, WhatsApp/email call to action, contact, footer, inline CSS, SEO meta tags). Inputs: business name plus optional tagline, description, services, city, WhatsApp, email, language (es/en), color. Streamable HTTP endpoint: https://landingen24h.com/mcp (no auth).
Hosted MCP Server
npx add-mcp 'https://landingen24h.com/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
Landing page API: one call, one ready-to-publish HTML page.
Send a business name and a few details. You get back a complete, responsive, single-file HTML landing page with inline CSS: hero, services, WhatsApp or email call to action, contact section, footer, SEO meta tags and schema.org data. No account and no API key: each call is paid in USDC with the x402 protocol (HTTP 402).
Price and payment
0.25 USDC per page
Fixed price per successful call. Amount 250000 in atomic units (6 decimals).
Base, Polygon or Solana
USDC on Base (eip155:8453), Polygon (eip155:137) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp), scheme exact. Gasless for the payer (EIP-3009 on EVM; on Solana the PayAI facilitator is the fee payer), settled by the PayAI facilitator.
You pay only for a result
Invalid input returns 400 before any payment is checked. The payment is settled only after the page has been generated.
Endpoint
POST https://landingen24h.com/api/x402/landing (JSON body) GET https://landingen24h.com/api/x402/landing?business\_name=...&services=a,b,c
Supports x402 v1 (X-PAYMENT request header, X-PAYMENT-RESPONSE receipt) and v2 (PAYMENT-SIGNATURE / PAYMENT-REQUIRED / PAYMENT-RESPONSE). Response: {"html": "<!DOCTYPE html>...", "filename": "plomeria-rapida.html"}.
Input fields
business_name | string, required | Business or project name (max 80) |
|---|---|---|
tagline | string | Headline for the hero (max 140) |
description | string | One or two sentences about the business (max 600) |
services | array of strings | Up to 8. Write "Title: short description" to add a description. In GET, comma-separated |
city | string | City or area served |
whatsapp | string | International number, digits only, e.g. 5491122334455. Adds WhatsApp buttons |
email | string | Contact email. Adds an email button |
language | "es" or "en" | Page language. Default es |
color | hex | Brand color, e.g. #0f766e. Default #2563eb |
cta_text | string | Text of the main button (max 40) |
Try it with curl
curl -i -X POST https://landingen24h.com/api/x402/landing \ -H "Content-Type: application/json" \ -d '{"business_name":"Plomeria Rapida","tagline":"Plumbing repairs, same day","services":["Leak repair: detection and fix","Water heaters"],"city":"Buenos Aires","whatsapp":"5491122334455","language":"en","color":"#0f766e"}' # -> HTTP/2 402 with the payment requirements (JSON body = x402 v1, # PAYMENT-REQUIRED header = x402 v2). Pay with any x402 client and retry.
Pay automatically from code
// Node.js, x402 v1 client (npm i x402-fetch viem) import { wrapFetchWithPayment, decodeXPaymentResponse } from "x402-fetch"; import { privateKeyToAccount } from "viem/accounts"; const account = privateKeyToAccount(process.env.PRIVATE_KEY); // EVM wallet with USDC on Base or Polygon (Solana USDC is also accepted with an SVM x402 client) const fetchWithPay = wrapFetchWithPayment(fetch, account); const res = await fetchWithPay("https://landingen24h.com/api/x402/landing", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ business_name: "Plomeria Rapida", language: "en", whatsapp: "5491122334455" }) }); const { html, filename } = await res.json(); console.log(filename, decodeXPaymentResponse(res.headers.get("x-payment-response")));
Any x402-compatible client or agent wallet works. The page is generated from a fixed template, so the same input always gives the same HTML. Nothing you send is stored.
MCP server (free)
The same generator is available for free to AI assistants and agents as a remote Model Context Protocol server. Streamable HTTP transport, no auth, no API key. Tools: generate_landing_page (returns the HTML), get_service_info and list_paid_apis (catalog of the x402 APIs below).
Add it as a remote MCP server in your client using that URL. Server card: /.well-known/mcp/server-card.json.
Argentina validators (0.01 USDC)
Two micro-endpoints with the same x402 payment flow, 0.01 USDC per call on Base, Polygon or Solana. Invalid input is rejected before any payment.
POST /api/x402/ar/cuitwith{"cuit":"20-12345678-6"}: validates an Argentine CUIT/CUIL (length, prefix, modulo-11 check digit) and returns normalized and formatted values plus entity type.POST /api/x402/ar/cbuwith{"cbu":"0070999003000412345671"}: validates both check digits of a CBU or CVU and returns type, entity and branch codes, bank name for major banks and a formatted value.POST /api/x402/ar/phonewith{"phone":"011 15 1234-5678"}: normalizes an Argentine phone number written in any local style to the 10-digit national number, E.164 (+54 / +549), a wa.me WhatsApp link and mobile detection. 0.01 USDC.
Both are offline checks: they do not query AFIP/ARCA or confirm that an account exists.
Web page audit (0.02 USDC)
POST /api/x402/web/audit with {"url":"https://example.com"}: one-fetch technical and SEO check (HTTPS and redirect, status, response time, title, meta description, mobile viewport, h1, canonical, Open Graph, image alt text, structured data, compression, security headers). Returns a 0-100 score, a grade and a prioritized list of issues. You are charged only if the page could be fetched.
Exchange rates (0.002 USDC)
POST /api/x402/fx/rate with {"from":"USD","to":"EUR","amount":100}: daily mid-market rate between two ISO 4217 currencies (160+ supported, including ARS, BRL, MXN, EUR, JPY) and the converted amount. Blended central-bank reference rates (ECB and others) via Frankfurter. Not a live trading quote. Unsupported currency = no charge.
Developer utilities (0.001 USDC each)
Tiny endpoints that are also the cheapest way to test an x402 client end to end on Base, Polygon or Solana.
POST /api/x402/util/uuidwith{"count":2,"version":"v7"}: 1-50 UUIDs, v4 (random) or v7 (time-ordered).POST /api/x402/util/timewith{"timezone":"America/New_York"}: UTC ISO 8601, unix seconds and ms, local time, offset and weekday for any IANA timezone.POST /api/x402/util/randomwith{"min":1,"max":6,"count":3,"bytes":8}: unbiased secure random integers plus random bytes as hex.POST /api/x402/util/hashwith{"text":"hello world","algorithm":"sha256"}: SHA-1/256/384/512 digests (hex and base64) of up to 3500 characters. Nothing is stored.
All inputs are validated before payment: invalid input returns 400 and nothing is charged. GET with query parameters also works.
Discovery
- /api/x402: resources, price, networks and JSON schemas.
- /.well-known/x402: x402 discovery document.
- /openapi.json: OpenAPI 3.1 with x-payment-info.
- /.well-known/mcp/server-card.json: MCP server card (endpoint
/mcp).
Need a page written and published for you?
The API gives you the HTML. If you prefer a custom page with copy written for your business, hosting and one round of changes, see the done-for-you landing page service. Questions: [email protected].