GivingFuel MCP by usefulapi

Read GivingFuel forms, donations, transactions, recurring gifts and donors; manage coupons.

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
96%
命名の品質
80%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~3,928トークン数(ツール定義)
~2.3 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 3.07%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "givingfuel": {
      "url": "https://givingfuel.usefulapi.io/mcp"
    }
  }
}

リモートエンドポイント

https://givingfuel.usefulapi.io/mcpstreamable-http

できること

ツール一覧

ツール(15)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢givingfuel_list_forms(created_after, created_before, updated_after, updated_before, limit, ...)

List the account's GivingFuel forms (donation / fundraising pages): id, name, status (open or closed), created and updated dates. Use the form ids to filter orders, transactions and subscriptions. GET /forms.

入力スキーマ

{
  "type": "object",
  "properties": {
    "created_after": {
      "description": "Only records created after this time.",
      "type": "string"
    },
    "created_before": {
      "description": "Only records created before this time.",
      "type": "string"
    },
    "updated_after": {
      "description": "Only records updated after this time.",
      "type": "string"
    },
    "updated_before": {
      "description": "Only records updated before this time.",
      "type": "string"
    },
    "limit": {
      "description": "Results per page, 1-50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "starting_after": {
      "description": "Cursor: pass the previous reply's next_starting_after to get the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "sort": {
      "description": "Sort by id: asc or desc (the vendor default applies when omitted).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢givingfuel_get_form(form_id)

One form by id: name, status, accounting reference, time zone and its field layout. GET /forms/{id}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "form_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "GivingFuel form id (from givingfuel_list_forms)."
    }
  },
  "required": [
    "form_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢givingfuel_get_form_inventory(form_id)

Inventory items of a form (limited-quantity items): path, name, sold and remaining quantity. GET /forms/{id}/inventory.

入力スキーマ

{
  "type": "object",
  "properties": {
    "form_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "GivingFuel form id."
    }
  },
  "required": [
    "form_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢givingfuel_list_orders(form_id, status, email, customer_id, order_number, ...)

List donation orders (one per checkout): order number, donor billing name and address, form, total, currency and status, newest or oldest first. Filter by form, status, donor email, customer id, order number or dates. GET /search/orders.

入力スキーマ

{
  "type": "object",
  "properties": {
    "form_id": {
      "description": "Only orders of this form.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "status": {
      "description": "Order status string as the vendor returns it (for example \"completed\" or \"active\").",
      "type": "string",
      "minLength": 1,
      "maxLength": 60
    },
    "email": {
      "description": "Only orders placed with this email address.",
      "type": "string",
      "minLength": 3,
      "maxLength": 254
    },
    "customer_id": {
      "description": "Only orders of this customer (donor) id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "order_number": {
      "description": "Only the order with this order number.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "created_after": {
      "description": "Only records created after this time.",
      "type": "string"
    },
    "created_before": {
      "description": "Only records created before this time.",
      "type": "string"
    },
    "updated_after": {
      "description": "Only records updated after this time.",
      "type": "string"
    },
    "updated_before": {
      "description": "Only records updated before this time.",
      "type": "string"
    },
    "limit": {
      "description": "Results per page, 1-50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "starting_after": {
      "description": "Cursor: pass the previous reply's next_starting_after to get the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "sort": {
      "description": "Sort by id: asc or desc (the vendor default applies when omitted).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢givingfuel_get_order(order_id, include_transactions)

One order by id with the donor's billing details, form, totals and status. Set include_transactions to embed the payments (charges and refunds) of the order. GET /search/orders/{id}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "GivingFuel order id (from givingfuel_list_orders)."
    },
    "include_transactions": {
      "description": "Also return the order's transactions.",
      "type": "boolean"
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢givingfuel_list_transactions(form_id, type, payment_method, status, order_id, ...)

List payment transactions (money movements): amount, deductible amount, currency, type (charge, refund, voucher), payment method, masked card, status, form and donor email. Filter by type, method, form, order, donor or dates. GET /search/transactions.

入力スキーマ

{
  "type": "object",
  "properties": {
    "form_id": {
      "description": "Only transactions of this form.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "type": {
      "description": "Transaction type.",
      "type": "string",
      "enum": [
        "charge",
        "refund",
        "voucher",
        "cash",
        "preauth",
        "chargeback"
      ]
    },
    "payment_method": {
      "description": "Payment method.",
      "type": "string",
      "enum": [
        "card",
        "check",
        "offline"
      ]
    },
    "status": {
      "description": "Transaction status string as the vendor returns it (for example \"completed\" or \"active\").",
      "type": "string",
      "minLength": 1,
      "maxLength": 60
    },
    "order_id": {
      "description": "Only transactions of this order id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "customer_id": {
      "description": "Only transactions of this customer (donor) id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "email": {
      "description": "Only transactions of orders placed with this email.",
      "type": "string",
      "minLength": 3,
      "maxLength": 254
    },
    "order_number": {
      "description": "Only transactions of this order number.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "reference": {
      "description": "Only the transaction with this payment reference (txReference).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "created_after": {
      "description": "Only records created after this time.",
      "type": "string"
    },
    "created_before": {
      "description": "Only records created before this time.",
      "type": "string"
    },
    "updated_after": {
      "description": "Only records updated after this time.",
      "type": "string"
    },
    "updated_before": {
      "description": "Only records updated before this time.",
      "type": "string"
    },
    "limit": {
      "description": "Results per page, 1-50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "starting_after": {
      "description": "Cursor: pass the previous reply's next_starting_after to get the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "sort": {
      "description": "Sort by id: asc or desc (the vendor default applies when omitted).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢givingfuel_get_transaction(transaction_id)

One transaction by id: amounts, type, payment method, masked card, gateway message and status. GET /search/transactions/{id}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "transaction_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "GivingFuel transaction id (from givingfuel_list_transactions)."
    }
  },
  "required": [
    "transaction_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢givingfuel_list_subscriptions(form_id, status, order_id, customer_id, email, ...)

List recurring donations (subscriptions): amount, schedule, status, last and next payment date, payments remaining, form and donor email. Filter by form, status, donor, or next/last payment date. GET /search/subscriptions.

入力スキーマ

{
  "type": "object",
  "properties": {
    "form_id": {
      "description": "Only subscriptions of this form.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "status": {
      "description": "Subscription status string as the vendor returns it (for example \"completed\" or \"active\").",
      "type": "string",
      "minLength": 1,
      "maxLength": 60
    },
    "order_id": {
      "description": "Only subscriptions of this order id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "customer_id": {
      "description": "Only subscriptions of this customer (donor) id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "email": {
      "description": "Only subscriptions of orders placed with this email.",
      "type": "string",
      "minLength": 3,
      "maxLength": 254
    },
    "order_number": {
      "description": "Only subscriptions of this order number.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "next_payment_after": {
      "description": "Only subscriptions scheduled to run after this time.",
      "type": "string"
    },
    "last_payment_after": {
      "description": "Only subscriptions last processed after this time.",
      "type": "string"
    },
    "created_after": {
      "description": "Only records created after this time.",
      "type": "string"
    },
    "created_before": {
      "description": "Only records created before this time.",
      "type": "string"
    },
    "updated_after": {
      "description": "Only records updated after this time.",
      "type": "string"
    },
    "updated_before": {
      "description": "Only records updated before this time.",
      "type": "string"
    },
    "limit": {
      "description": "Results per page, 1-50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "starting_after": {
      "description": "Cursor: pass the previous reply's next_starting_after to get the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "sort": {
      "description": "Sort by id: asc or desc (the vendor default applies when omitted).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢givingfuel_get_subscription(subscription_id)

One recurring donation by id: amount, schedule, status, last and next payment, payments remaining. GET /search/subscriptions/{id}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "subscription_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "GivingFuel subscription id (from givingfuel_list_subscriptions)."
    }
  },
  "required": [
    "subscription_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢givingfuel_list_customers(email, created_after, created_before, updated_after, updated_before, ...)

List customer records (donors): id, email, billing name and address, lifetime amount, created and updated dates. Filter by email or dates. New donors can take up to 5 minutes to appear. GET /search/customers.

入力スキーマ

{
  "type": "object",
  "properties": {
    "email": {
      "description": "Only the donor with this email address.",
      "type": "string",
      "minLength": 3,
      "maxLength": 254
    },
    "created_after": {
      "description": "Only records created after this time.",
      "type": "string"
    },
    "created_before": {
      "description": "Only records created before this time.",
      "type": "string"
    },
    "updated_after": {
      "description": "Only records updated after this time.",
      "type": "string"
    },
    "updated_before": {
      "description": "Only records updated before this time.",
      "type": "string"
    },
    "limit": {
      "description": "Results per page, 1-50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "starting_after": {
      "description": "Cursor: pass the previous reply's next_starting_after to get the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "sort": {
      "description": "Sort by id: asc or desc (the vendor default applies when omitted).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢givingfuel_get_customer(customer_id)

One donor (customer record) by id: email, billing details and total amount. GET /search/customers/{id}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "customer_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "GivingFuel customer id (from givingfuel_list_customers, or an order's customerId)."
    }
  },
  "required": [
    "customer_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢givingfuel_list_coupons(form_id, code, limit, starting_after, sort)

List GivingFuel coupons: account-wide ones, or only those of one form when form_id is given. Shows discounts, codes, availability, redeemed count and expiry. GET /coupons/global or /coupons/forms/{id}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "form_id": {
      "description": "Only coupons of this form; omit for the account-wide (global) coupons.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "code": {
      "description": "Only global coupons with this code (ignored with form_id).",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "limit": {
      "description": "Results per page, 1-50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "starting_after": {
      "description": "Cursor: pass the previous reply's next_starting_after to get the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "sort": {
      "description": "Sort by id: asc or desc (the vendor default applies when omitted).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢givingfuel_get_coupon(coupon_id)

One coupon by id with its discounts, codes, availability and redeemed counts. GET /coupons/{id}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "coupon_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "GivingFuel coupon id (from givingfuel_list_coupons)."
    }
  },
  "required": [
    "coupon_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡givingfuel_create_coupon(name, codes, discount_value, discount_type, currency, ...)

WRITE: create a discount coupon in the live GivingFuel account (it can be redeemed by donors right away). One discount (fixed amount or percent) and one or more codes; optionally limited to one form, to a number of uses, and to an expiry date. Not idempotent: calling it twice creates two coupons. POST /coupons.

入力スキーマ

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Internal coupon name."
    },
    "codes": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      },
      "description": "One or more redeemable codes."
    },
    "discount_value": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 1000000,
      "description": "Discount amount: currency units for a fixed discount, percent (1-100) for a percent discount."
    },
    "discount_type": {
      "type": "string",
      "enum": [
        "fixed",
        "percent"
      ],
      "description": "fixed (a currency amount) or percent."
    },
    "currency": {
      "description": "Currency code, default USD.",
      "type": "string",
      "pattern": "^[A-Za-z]{3}$"
    },
    "available": {
      "description": "How many times the coupon can be used; -1 = unlimited (default).",
      "type": "integer",
      "minimum": -1,
      "maximum": 1000000
    },
    "form_id": {
      "description": "Restrict the coupon to this form; omit for all forms.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "expires": {
      "description": "When the coupon expires; omit for no expiry.",
      "type": "string"
    }
  },
  "required": [
    "name",
    "codes",
    "discount_value",
    "discount_type"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴givingfuel_delete_coupon(coupon_id, confirm)

WRITE: permanently delete a coupon from the live GivingFuel account; its codes stop working immediately and this cannot be undone. Show the coupon (givingfuel_get_coupon) and get the user's approval first, then call with confirm: true. GET /coupons/{id}, then DELETE /coupons/{id}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "coupon_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "GivingFuel coupon id to delete."
    },
    "confirm": {
      "type": "boolean",
      "const": true,
      "description": "Must be true: the user approved permanently deleting this coupon."
    }
  },
  "required": [
    "coupon_id",
    "confirm"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 15 件