# GivingFuel MCP by usefulapi (remote · givingfuel.usefulapi.io)

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

- Trust score: 62/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-25

## Components

- remote · `givingfuel.usefulapi.io`: 62/100 (this document), [markdown](https://verifymcp.io/servers/io-usefulapi-givingfuel/givingfuel.md), [page](https://verifymcp.io/servers/io-usefulapi-givingfuel/givingfuel)

## Channel facts

- Endpoint: `https://givingfuel.usefulapi.io/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.3`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-25.

- **Endpoint Security**: 78/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly.
- **Schema Quality & AI Usability**: 80/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2419 tokens (~161/item across 15 items; 15 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 3/100
  - Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the GivingFuel MCP by usefulapi server?

GivingFuel MCP by usefulapi is a hosted endpoint at https://givingfuel.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http io-usefulapi-givingfuel 'https://givingfuel.usefulapi.io/mcp'
```

### Cursor

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

### VS Code

```json
{
  "servers": {
    "io-usefulapi-givingfuel": {
      "type": "http",
      "url": "https://givingfuel.usefulapi.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-usefulapi-givingfuel]
url = "https://givingfuel.usefulapi.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-usefulapi-givingfuel": {
      "type": "remote",
      "url": "https://givingfuel.usefulapi.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-usefulapi-givingfuel --url 'https://givingfuel.usefulapi.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-usefulapi-givingfuel:
    url: "https://givingfuel.usefulapi.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-usefulapi-givingfuel": {
      "Transport": "http",
      "Url": "https://givingfuel.usefulapi.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-usefulapi-givingfuel -t streamable-http -u 'https://givingfuel.usefulapi.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-givingfuel": {
      "type": "http",
      "url": "https://givingfuel.usefulapi.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-25 (score 62, 0)

- [functional improvement] Stability: unverified → 0.03
- [functional] Server version: 1.0.0 → 1.0.3

### 2026-10-24 (score 62)

First indexed and scored.

## MCP tools (15)

### `givingfuel_list_forms` (~175 tokens)

List donation forms

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.

Input parameters:

- `created_after` (string): Only records created after this time.
- `created_before` (string): Only records created before this time.
- `limit` (integer): Results per page, 1-50 (default 25).
- `sort` (string): Sort by id: asc or desc (the vendor default applies when omitted).
- `starting_after` (integer): Cursor: pass the previous reply's next_starting_after to get the next page.
- `updated_after` (string): Only records updated after this time.
- `updated_before` (string): Only records updated before this time.

### `givingfuel_get_form` (~53 tokens)

Get donation form

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

Input parameters:

- `form_id` (integer, required): GivingFuel form id (from givingfuel_list_forms).

### `givingfuel_get_form_inventory` (~51 tokens)

Get form inventory

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

Input parameters:

- `form_id` (integer, required): GivingFuel form id.

### `givingfuel_list_orders` (~266 tokens)

List donation orders

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.

Input parameters:

- `created_after` (string): Only records created after this time.
- `created_before` (string): Only records created before this time.
- `customer_id` (integer): Only orders of this customer (donor) id.
- `email` (string): Only orders placed with this email address.
- `form_id` (integer): Only orders of this form.
- `limit` (integer): Results per page, 1-50 (default 25).
- `order_number` (string): Only the order with this order number.
- `sort` (string): Sort by id: asc or desc (the vendor default applies when omitted).
- `starting_after` (integer): Cursor: pass the previous reply's next_starting_after to get the next page.
- `status` (string): Order status string as the vendor returns it (for example "completed" or "active").
- `updated_after` (string): Only records updated after this time.
- `updated_before` (string): Only records updated before this time.

### `givingfuel_get_order` (~82 tokens)

Get donation order

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}.

Input parameters:

- `include_transactions` (boolean): Also return the order's transactions.
- `order_id` (integer, required): GivingFuel order id (from givingfuel_list_orders).

### `givingfuel_list_transactions` (~319 tokens)

List transactions

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.

Input parameters:

- `created_after` (string): Only records created after this time.
- `created_before` (string): Only records created before this time.
- `customer_id` (integer): Only transactions of this customer (donor) id.
- `email` (string): Only transactions of orders placed with this email.
- `form_id` (integer): Only transactions of this form.
- `limit` (integer): Results per page, 1-50 (default 25).
- `order_id` (integer): Only transactions of this order id.
- `order_number` (string): Only transactions of this order number.
- `payment_method` (string): Payment method.
- `reference` (string): Only the transaction with this payment reference (txReference).
- `sort` (string): Sort by id: asc or desc (the vendor default applies when omitted).
- `starting_after` (integer): Cursor: pass the previous reply's next_starting_after to get the next page.
- `status` (string): Transaction status string as the vendor returns it (for example "completed" or "active").
- `type` (string): Transaction type.
- `updated_after` (string): Only records updated after this time.
- `updated_before` (string): Only records updated before this time.

### `givingfuel_get_transaction` (~56 tokens)

Get transaction

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

Input parameters:

- `transaction_id` (integer, required): GivingFuel transaction id (from givingfuel_list_transactions).

### `givingfuel_list_subscriptions` (~309 tokens)

List recurring gifts

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.

Input parameters:

- `created_after` (string): Only records created after this time.
- `created_before` (string): Only records created before this time.
- `customer_id` (integer): Only subscriptions of this customer (donor) id.
- `email` (string): Only subscriptions of orders placed with this email.
- `form_id` (integer): Only subscriptions of this form.
- `last_payment_after` (string): Only subscriptions last processed after this time.
- `limit` (integer): Results per page, 1-50 (default 25).
- `next_payment_after` (string): Only subscriptions scheduled to run after this time.
- `order_id` (integer): Only subscriptions of this order id.
- `order_number` (string): Only subscriptions of this order number.
- `sort` (string): Sort by id: asc or desc (the vendor default applies when omitted).
- `starting_after` (integer): Cursor: pass the previous reply's next_starting_after to get the next page.
- `status` (string): Subscription status string as the vendor returns it (for example "completed" or "active").
- `updated_after` (string): Only records updated after this time.
- `updated_before` (string): Only records updated before this time.

### `givingfuel_get_subscription` (~57 tokens)

Get recurring gift

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

Input parameters:

- `subscription_id` (integer, required): GivingFuel subscription id (from givingfuel_list_subscriptions).

### `givingfuel_list_customers` (~193 tokens)

List donors

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.

Input parameters:

- `created_after` (string): Only records created after this time.
- `created_before` (string): Only records created before this time.
- `email` (string): Only the donor with this email address.
- `limit` (integer): Results per page, 1-50 (default 25).
- `sort` (string): Sort by id: asc or desc (the vendor default applies when omitted).
- `starting_after` (integer): Cursor: pass the previous reply's next_starting_after to get the next page.
- `updated_after` (string): Only records updated after this time.
- `updated_before` (string): Only records updated before this time.

### `givingfuel_get_customer` (~61 tokens)

Get donor

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

Input parameters:

- `customer_id` (integer, required): GivingFuel customer id (from givingfuel_list_customers, or an order's customerId).

### `givingfuel_list_coupons` (~163 tokens)

List coupons

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}.

Input parameters:

- `code` (string): Only global coupons with this code (ignored with form_id).
- `form_id` (integer): Only coupons of this form; omit for the account-wide (global) coupons.
- `limit` (integer): Results per page, 1-50 (default 25).
- `sort` (string): Sort by id: asc or desc (the vendor default applies when omitted).
- `starting_after` (integer): Cursor: pass the previous reply's next_starting_after to get the next page.

### `givingfuel_get_coupon` (~52 tokens)

Get coupon

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

Input parameters:

- `coupon_id` (integer, required): GivingFuel coupon id (from givingfuel_list_coupons).

### `givingfuel_create_coupon` (~218 tokens)

Create coupon

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.

Input parameters:

- `available` (integer): How many times the coupon can be used; -1 = unlimited (default).
- `codes` (array, required): One or more redeemable codes.
- `currency` (string): Currency code, default USD.
- `discount_type` (string, required): fixed (a currency amount) or percent.
- `discount_value` (number, required): Discount amount: currency units for a fixed discount, percent (1-100) for a percent discount.
- `expires` (string): When the coupon expires; omit for no expiry.
- `form_id` (integer): Restrict the coupon to this form; omit for all forms.
- `name` (string, required): Internal coupon name.

### `givingfuel_delete_coupon` (~104 tokens)

Delete coupon

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}.

Input parameters:

- `confirm` (boolean, required): Must be true: the user approved permanently deleting this coupon.
- `coupon_id` (integer, required): GivingFuel coupon id to delete.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-usefulapi-givingfuel/givingfuel#diagnostics

## Score history

- 2026-10-25: 62
- 2026-10-24: 62

## Common questions

### What is the GivingFuel MCP by usefulapi server?

GivingFuel MCP by usefulapi is listed in the public MCP registry as io.usefulapi/givingfuel. Read GivingFuel forms, donations, transactions, recurring gifts and donors; manage coupons. This page covers its hosted endpoint (https://givingfuel.usefulapi.io/mcp).

### Is the GivingFuel MCP by usefulapi server safe to use?

GivingFuel MCP by usefulapi scores 62 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the GivingFuel MCP by usefulapi server expose?

GivingFuel MCP by usefulapi exposes 15 tools: givingfuel_list_forms, givingfuel_get_form, givingfuel_get_form_inventory, givingfuel_list_orders, givingfuel_get_order, and 10 more. Their descriptions and schemas cost roughly 2,159 tokens of context every time the server is loaded.

### Does the GivingFuel MCP by usefulapi server require authentication?

Yes. GivingFuel MCP by usefulapi asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the GivingFuel MCP by usefulapi server still maintained?

GivingFuel MCP by usefulapi is still listed as active in the MCP registry. We last reached this channel on 25 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://givingfuel.usefulapi.io/mcp
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/givingfuel/
- Changelog RSS feed: https://verifymcp.io/servers/io-usefulapi-givingfuel/givingfuel.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-usefulapi-givingfuel/givingfuel.json
- HTML version of this page: https://verifymcp.io/servers/io-usefulapi-givingfuel/givingfuel
