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 件