Marutap is an MCP server. Your agent asks to pay; the user approves on their phone; your agent gets a single-use card scoped to that one purchase. You never hold, store, or see the user’s real card.
Authorization: Bearer <token>. No token yet? The first call returns a claim
link that onboards the user — no pre-registration required.request_payment with an amount and merchant, and
shows the returned approval_url to the user.get_payment_result and receives a single-use card —
number, CVC, expiry — locked to that purchase. Check out with it.# Connect over MCP to the "marutap" server, auth with the user's token.
# 1) Ask to pay — usually returns an approval_url to show the user.
request_payment(amount=24.50, merchant="Gino's Pizza",
line_items=[{"name": "Large pepperoni", "quantity": 1,
"amount_cents": 2450}])
# -> { "auto_approved": false,
# "approval_url": "https://marutap.com/approve/…",
# "charge_id": "…" }
# 2) Poll for the outcome (long-polls until the user taps approve).
get_payment_result(charge_id="…", wait_seconds=30)
# -> { "status": "approved",
# "card": { "number": "4242…", "cvc": "123",
# "exp_month": 12, "exp_year": 2029, "last4": "4242" } }
# 3) Use that single-use card to check out at the merchant. Done.
# (Optional) report the merchant's order id so the user can refund later:
record_order(charge_id="…", order_ref="pi_123")
If the user’s policy auto-approves the
purchase (under their cap, allowlisted merchant), request_payment
returns the card immediately — no approval step.
request_paymentRequest approval for a one-off purchase. Returns an approval URL, or an auto-approved single-use card.
get_payment_resultLong-poll a request; returns the single-use card once the user approves.
request_subscriptionSet up a recurring payment as a capped, merchant-locked mandate the user can cancel anytime.
record_orderReport the merchant’s order reference after checkout so the purchase can be refunded later.
No card numbers in your prompt, logs, or database. No PCI scope. No stored payment credentials to leak. A revoked token stops working instantly, and every credential your agent ever receives is single-use and scoped to a purchase the user already approved — so even a hijacked agent can’t overspend.
New to the model? Start with How it works · or the security guarantees