Qgiv MCP by usefulapi

Read Qgiv (Bloomerang Fundraising) donations, refunds, recurring gifts, P2P registrations, events.

我該用這個嗎

品質與安全性

A
說明品質
93%
結構描述完整度
92%
命名品質
78%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(5)

  • LOWTool 'qgiv_get_registration' description lacks action verb在 qgiv_get_registration 中
  • LOWTool 'qgiv_get_pledge' description lacks action verb在 qgiv_get_pledge 中
  • LOWTool 'qgiv_get_report_mapping' description lacks action verb在 qgiv_get_report_mapping 中
  • LOWTool 'qgiv_list_transactions_after_id' name length outside 3-30 range在 qgiv_list_transactions_after_id 中
  • LOWTool 'qgiv_list_registrations_by_date' name length outside 3-30 range在 qgiv_list_registrations_by_date 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~4,282Token(工具定義)
~1.3 KB典型回應大小
顯著的注意力影響(128k 上下文的 3.35%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

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

遠端端點

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

它能做什麼

工具清單

工具(21)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢qgiv_list_recent_transactions(limit, include_contact)

The most recent donations/transactions (newest first as Qgiv returns them): id, status, date, amount, fee, net, donor name and id, form, recurring link, payment type and last four card digits, fund. Donor contact details are left out unless include_contact is set; full card numbers are never returned. POST /reporting/transactions/last/{limit}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 25,
      "description": "Records to return (1-100, default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "include_contact": {
      "description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_list_transactions_by_date(begin_date, end_date, limit, offset, include_contact)

Transactions between two dates (inclusive), at most 31 days per call, paged with offset/limit. Same fields as qgiv_list_recent_transactions. Qgiv has no server-side paging, so a busy range is fetched whole and sliced; use a shorter range if it is too large. POST /reporting/transactions/dates/{begin}:{end}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "begin_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First day (yyyy-mm-dd)."
    },
    "end_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Last day (yyyy-mm-dd)."
    },
    "limit": {
      "default": 25,
      "description": "Records to return (1-100, default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "description": "Records to skip, for paging through a larger result (use next_offset from the previous reply).",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "include_contact": {
      "description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only.",
      "type": "boolean"
    }
  },
  "required": [
    "begin_date",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_list_transactions_after_id(after_id, limit, include_contact)

Transactions with an id greater than the given one, sorted by id ascending and paged with limit; next_after_id is the cursor for the next call (use it as after_id). Handy for syncing new gifts. POST /reporting/transactions/after/{id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "after_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Return transactions with an id greater than this."
    },
    "limit": {
      "default": 25,
      "description": "Records to return (1-100, default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "include_contact": {
      "description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only.",
      "type": "boolean"
    }
  },
  "required": [
    "after_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_get_transaction(transaction_id, include_contact)

One transaction in full: donation lines, fund/restriction, dedication, custom-field answers, event packages, registrations, refunds. Contact details only with include_contact; card data is reduced to the last four digits. POST /reporting/transactions/{id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "transaction_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Numeric Qgiv id."
    },
    "include_contact": {
      "description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only.",
      "type": "boolean"
    }
  },
  "required": [
    "transaction_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_list_recent_refunds(limit, include_contact)

The most recent refunds (read-only): id, original transaction, refund and settle dates, amount, payment type, last four digits, fund. POST /reporting/refunds/last/{limit}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 25,
      "description": "Records to return (1-100, default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "include_contact": {
      "description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_list_refunds_by_date(begin_date, end_date, limit, offset, include_contact)

Refunds between two dates (inclusive), at most 31 days per call, paged with offset/limit. POST /reporting/refunds/dates/{begin}:{end}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "begin_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First day (yyyy-mm-dd)."
    },
    "end_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Last day (yyyy-mm-dd)."
    },
    "limit": {
      "default": 25,
      "description": "Records to return (1-100, default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "description": "Records to skip, for paging through a larger result (use next_offset from the previous reply).",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "include_contact": {
      "description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only.",
      "type": "boolean"
    }
  },
  "required": [
    "begin_date",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_get_refund(refund_id, include_contact)

One refund in full by id (read-only; this server never issues refunds). POST /reporting/refunds/{id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "refund_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Numeric Qgiv id."
    },
    "include_contact": {
      "description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only.",
      "type": "boolean"
    }
  },
  "required": [
    "refund_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_list_recurring_schedules(status, limit, offset, include_contact)

Recurring donation schedules (read-only): id, start/end date, next billing date, frequency, amount, state, donor name and id, plus Qgiv's 12-month forecast. Filter by status active, paused, expired or deleted. Paged with offset/limit. POST /reporting/recurring/list or /reporting/recurring/{status}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "status": {
      "description": "Only schedules in this state (default: all).",
      "type": "string",
      "enum": [
        "active",
        "paused",
        "expired",
        "deleted"
      ]
    },
    "limit": {
      "default": 25,
      "description": "Records to return (1-100, default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "description": "Records to skip, for paging through a larger result (use next_offset from the previous reply).",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "include_contact": {
      "description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_get_recurring_schedule(recurring_id, include_contact)

One recurring donation schedule by id (read-only; schedules cannot be changed here). POST /reporting/recurring/{id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "recurring_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Numeric Qgiv id."
    },
    "include_contact": {
      "description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only.",
      "type": "boolean"
    }
  },
  "required": [
    "recurring_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_list_statements(limit, offset)

Monthly fee/payout statements: id, date, amount contributed, fees, refunded, debited, credited and the summary totals (without the per-transaction rows; use qgiv_get_statement for those). Paged with offset/limit. POST /reporting/statements/list.

輸入結構描述

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 25,
      "description": "Records to return (1-100, default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "description": "Records to skip, for paging through a larger result (use next_offset from the previous reply).",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_get_latest_statements

The latest statement(s) for the organization or form, with summary totals (per-transaction rows left out). POST /reporting/statements/latest.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_get_statement(statement_id)

One statement by id with its transaction rows (first 100 shown; donor names only). POST /reporting/statements/{id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "statement_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Numeric Qgiv id."
    }
  },
  "required": [
    "statement_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_list_recent_registrations(limit, include_contact)

The most recent peer-to-peer (Hobnob) event registrations: id, category, registrant name, team, fundraising goal and amount raised. Contact details only with include_contact. POST /reporting/registrations/last/{limit}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 25,
      "description": "Records to return (1-100, default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "include_contact": {
      "description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_list_registrations_by_date(begin_date, end_date, limit, offset, include_contact)

Peer-to-peer registrations between two dates (inclusive), at most 31 days per call, paged with offset/limit. POST /reporting/registrations/dates/{begin}:{end}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "begin_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First day (yyyy-mm-dd)."
    },
    "end_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Last day (yyyy-mm-dd)."
    },
    "limit": {
      "default": 25,
      "description": "Records to return (1-100, default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "description": "Records to skip, for paging through a larger result (use next_offset from the previous reply).",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "include_contact": {
      "description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only.",
      "type": "boolean"
    }
  },
  "required": [
    "begin_date",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_get_registration(registration_id, include_contact)

One peer-to-peer registration in full (purchase history, team, totals, child registrations). Contact details only with include_contact. POST /reporting/registrations/{id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "registration_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Numeric Qgiv id."
    },
    "include_contact": {
      "description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only.",
      "type": "boolean"
    }
  },
  "required": [
    "registration_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_list_events(include_details, limit, offset)

Events (ticketed/auction events) on the forms the token covers: id, dates and the top-level settings. Set include_details for packages, questions and promo codes. Notification e-mail addresses are never returned. POST /events/list.

輸入結構描述

{
  "type": "object",
  "properties": {
    "include_details": {
      "description": "Include nested packages, fields and promo codes (large).",
      "type": "boolean"
    },
    "limit": {
      "default": 20,
      "description": "Events to return (1-50, default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "offset": {
      "default": 0,
      "description": "Records to skip, for paging through a larger result (use next_offset from the previous reply).",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_list_pledges(limit, offset)

Pledge options configured on the form(s) (title, value, frequency, begin date, iterations, state), not donors' pledge records. POST /pledges/list.

輸入結構描述

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 25,
      "description": "Records to return (1-100, default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "description": "Records to skip, for paging through a larger result (use next_offset from the previous reply).",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_get_pledge(pledge_id)

One pledge option by id. POST /pledges/{id} (no package is sent, so nothing is changed).

輸入結構描述

{
  "type": "object",
  "properties": {
    "pledge_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Numeric Qgiv id."
    }
  },
  "required": [
    "pledge_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_list_custom_fields(limit, offset)

Custom (additional-question) fields configured on the form(s): id, reference, title, input type, required flags, display flags. POST /customFields/list.

輸入結構描述

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 25,
      "description": "Records to return (1-100, default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "description": "Records to skip, for paging through a larger result (use next_offset from the previous reply).",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_list_report_mappings(limit, offset)

Report mappings (accounting export mappings) on the form(s): id, identifier, mapping data, export service, type. POST /reporting/mappings/list.

輸入結構描述

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 25,
      "description": "Records to return (1-100, default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "description": "Records to skip, for paging through a larger result (use next_offset from the previous reply).",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qgiv_get_report_mapping(mapping_id)

One report mapping by id. POST /reporting/mappings/{id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "mapping_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Numeric Qgiv id."
    }
  },
  "required": [
    "mapping_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本21 個工具