marutap

Agent requests a purchase, the human taps approve, the agent gets a card scoped to it.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
71%
이름 품질
94%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,413토큰 (도구 정의)
~648 B일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.10%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "marutap": {
      "url": "https://mcp.marutap.com/mcp"
    }
  }
}

원격 엔드포인트

https://mcp.marutap.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (7)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢request_payment(amount, merchant, line_items, currency)

Request the user's approval to pay for a purchase. Usually returns `{auto_approved: false, approval_url}` — show the approval_url to the user so they can review the total and approve with one tap, then call get_payment_result. If the user's spending policy auto-approves this purchase (e.g. under their cap at an allowlisted merchant), it returns `{auto_approved: true, status: "approved", card}` immediately — no approval needed, just use the card. Args: amount: Total to charge, in major units (e.g. 18.50 dollars). merchant: Human-readable merchant / store name shown on the approval screen. line_items: Optional list of {"name": str, "quantity": int, "amount_cents": int}. currency: ISO currency code, default "usd".

입력 스키마

{
  "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"
}
🟢get_payment_result(charge_id, wait_seconds, agent_secret)

Poll for the outcome of a payment request. Long-polls up to wait_seconds. Returns status one of: pending, approved, settled, declined, expired, not_found, claim_pending. When approved, includes a single-use `card` (number, cvc, exp) locked to this purchase — use it to complete checkout at the merchant. If still "pending"/"claim_pending", call again. For a claim (charge_id = the "clm_…" poll_id from request_payment): pass the agent_secret you received. The first approved result also contains `connect_token` — persist it and send it as the Authorization bearer on all future calls.

입력 스키마

{
  "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"
}
🟢list_payment_requests(status, limit)

List this agent's payment requests and whether each has been approved yet. Use this to see the state of every request you've made — not just poll one saved charge_id. Each item includes its `status` (pending, approved, settled, declined, expired) so you can tell which are still waiting and which the user has acted on. For a pending request it also returns the `approval_url` (re-surface it to the user); once a request is approved, call get_payment_result(charge_id) to fetch the card. Args: status: which to return — "open" (default, still-pending only) or "all". limit: max requests to return (default 20, capped at 100), newest first.

입력 스키마

{
  "type": "object",
  "properties": {
    "status": {
      "default": "open",
      "title": "Status",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "list_payment_requestsArguments"
}
⚪record_order(charge_id, order_ref)

Report the merchant's order reference back after checkout, so the user can later reverse (refund) the purchase. `order_ref` is the merchant's payment id (e.g. a Stripe PaymentIntent).

입력 스키마

{
  "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"
}
🔴request_subscription(merchant, cap, interval)

Set up a recurring subscription mandate (e.g. Netflix at up to $16/month). Requires the user's explicit one-time approval — returns an approval_url. The mandate is merchant-locked and capped: the merchant can never charge more than `cap` per period, and the user can cancel anytime (after which the merchant can never charge again). Args: merchant: merchant to authorize (e.g. "Netflix"). cap: max amount per period in major units (e.g. 16.00). interval: "weekly" | "monthly" | "yearly".

입력 스키마

{
  "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"
}
🟢list_subscriptions

List the user's subscription mandates and their status.

입력 스키마

{
  "type": "object",
  "properties": {},
  "title": "list_subscriptionsArguments"
}
🔴cancel_subscription(mandate_id)

Cancel a subscription mandate. Safe — canceling never spends money, and the merchant can never charge again afterwards.

입력 스키마

{
  "type": "object",
  "properties": {
    "mandate_id": {
      "title": "Mandate Id",
      "type": "string"
    }
  },
  "required": [
    "mandate_id"
  ],
  "title": "cancel_subscriptionArguments"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 7개
검증됨버전이 기록되지 않음도구 7개