{"name":"com.marutap/marutap","slug":"marutap","title":null,"description":"Agent requests a purchase, the human taps approve, the agent gets a card scoped to it.","url":"https://mcp.market/server/marutap","rating":null,"grade":"C","score":67,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":9,"ok":9,"last_checked_at":"2026-09-21T13:51:19.012Z","last_ok_at":"2026-09-21T13:51:19.012Z","latency_ms":596},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/alexQueue/maruchit","website":"https://marutap.com","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://mcp.marutap.com/mcp","headers":[{"description":"Bearer <connect token> from your Marutap dashboard (marutap.com -> Your agents -> Generate). Optional: without it, request_payment returns a claim link and the user's first approval creates the account and delivers the token.","isSecret":true,"name":"Authorization"}]}],"packages":[],"tools":[{"name":"cancel_subscription","description":"Cancel a subscription mandate. Safe — canceling never spends money, and the merchant can\n    never charge again afterwards.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"mandate_id":{"title":"Mandate Id","type":"string"}},"required":["mandate_id"],"title":"cancel_subscriptionArguments"}},{"name":"get_payment_result","description":"Poll for the outcome of a payment request.\n\n    Long-polls up to wait_seconds. Returns status one of: pending, approved, settled,\n    declined, expired, not_found, claim_pending. When approved, includes a single-use\n    `card` (number, cvc, exp) locked to this purchase — use it to complete checkout at\n    the merchant. If still \"pending\"/\"claim_pending\", call again.\n\n    For a claim (charge_id = the \"clm_…\" poll_id from request_payment): pass the\n    agent_secret you received. The first approved result also contains `connect_token` —\n    persist it and send it as the Authorization bearer on all future calls.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"charge_id":{"title":"Charge Id","type":"string"},"wait_seconds":{"default":20,"title":"Wait Seconds","type":"integer"},"agent_secret":{"default":"","title":"Agent Secret","type":"string"}},"required":["charge_id"],"title":"get_payment_resultArguments"}},{"name":"list_payment_requests","description":"List this agent's payment requests and whether each has been approved yet.\n\n    Use this to see the state of every request you've made — not just poll one saved\n    charge_id. Each item includes its `status` (pending, approved, settled, declined,\n    expired) so you can tell which are still waiting and which the user has acted on.\n    For a pending request it also returns the `approval_url` (re-surface it to the user);\n    once a request is approved, call get_payment_result(charge_id) to fetch the card.\n\n    Args:\n        status: which to return — \"open\" (default, still-pending only) or \"all\".\n        limit: max requests to return (default 20, capped at 100), newest first.\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"status":{"default":"open","title":"Status","type":"string"},"limit":{"default":20,"title":"Limit","type":"integer"}},"title":"list_payment_requestsArguments"}},{"name":"list_subscriptions","description":"List the user's subscription mandates and their status.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"title":"list_subscriptionsArguments"}},{"name":"record_order","description":"Report the merchant's order reference back after checkout, so the user can later reverse\n    (refund) the purchase. `order_ref` is the merchant's payment id (e.g. a Stripe PaymentIntent).\n    ","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"charge_id":{"title":"Charge Id","type":"string"},"order_ref":{"title":"Order Ref","type":"string"}},"required":["charge_id","order_ref"],"title":"record_orderArguments"}},{"name":"request_payment","description":"Request the user's approval to pay for a purchase.\n\n    Usually returns `{auto_approved: false, approval_url}` — show the approval_url to the user\n    so they can review the total and approve with one tap, then call get_payment_result.\n\n    If the user's spending policy auto-approves this purchase (e.g. under their cap at an\n    allowlisted merchant), it returns `{auto_approved: true, status: \"approved\", card}` immediately\n    — no approval needed, just use the card.\n\n    Args:\n        amount: Total to charge, in major units (e.g. 18.50 dollars).\n        merchant: Human-readable merchant / store name shown on the approval screen.\n        line_items: Optional list of {\"name\": str, \"quantity\": int, \"amount_cents\": int}.\n        currency: ISO currency code, default \"usd\".\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"amount":{"title":"Amount","type":"number"},"merchant":{"title":"Merchant","type":"string"},"line_items":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"default":null,"title":"Line Items"},"currency":{"default":"usd","title":"Currency","type":"string"}},"required":["amount","merchant"],"title":"request_paymentArguments"}},{"name":"request_subscription","description":"Set up a recurring subscription mandate (e.g. Netflix at up to $16/month).\n\n    Requires the user's explicit one-time approval — returns an approval_url. The mandate is\n    merchant-locked and capped: the merchant can never charge more than `cap` per period, and the\n    user can cancel anytime (after which the merchant can never charge again).\n\n    Args:\n        merchant: merchant to authorize (e.g. \"Netflix\").\n        cap: max amount per period in major units (e.g. 16.00).\n        interval: \"weekly\" | \"monthly\" | \"yearly\".\n    ","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"merchant":{"title":"Merchant","type":"string"},"cap":{"title":"Cap","type":"number"},"interval":{"default":"monthly","title":"Interval","type":"string"}},"required":["merchant","cap"],"title":"request_subscriptionArguments"}}],"scan":{"score":67,"grade":"C","scanned_at":"2026-09-19T20:12:09.643Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T20:12:09.627Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 423ms"]},"poisoning":{"score":15,"max":15,"notes":["7 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":3,"max":15,"notes":["repository not readable: repo not found"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.marutap.com/mcp","reachable":true,"authRequired":false,"latencyMs":423,"serverInfo":{"name":"marutap","version":""}}],"packages":[],"repo":{"found":false,"owner":"alexQueue","repo":"maruchit","error":"repo not found"},"icon":{"url":"https://marutap.com/static/core/favicon.31f090aafd0e.svg","source":"registry"},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}