Raisely MCP by usefulapi
Server Details
Read campaigns, donations, profiles and supporters; record offline donations and upsert users.
- Status
- Healthy
- Uptime
- 79.2% over 56 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 23 tools
Each tool is clearly scoped to a specific resource and action. The get_/list_/create_/update_ prefixes distinguish reads from mutations, and the convenience listers are explicitly labeled, so there is no real overlap or confusion.
Tool names largely follow a consistent verb_noun pattern (create_, get_, list_, update_). The only outlier is raisely_request, which is a generic escape hatch but breaks the pattern slightly.
With 23 tools, the server is on the heavy side. While each tool maps to a distinct API endpoint, several convenience wrappers (list_campaign_donations, list_user_donations) add redundancy without significantly expanding functionality.
The tool surface is heavily read-oriented. Many core resources like campaigns, subscriptions, posts, and orders lack create/update/delete operations, and the read-only raisely_request cannot fill these gaps, leaving agents unable to perform common management tasks.
Available Tools
23 toolscreate_donationRecord a donationDestructiveInspect
MUTATES Raisely data: records a donation (use for OFFLINE/manual donations — e.g. cash or cheque). Raisely API: POST /donations with the body wrapped as { data: {...} }. Required by the API: amount (integer, in cents/smallest currency unit), currency (3-letter code), email (donor), type (ONLINE or OFFLINE), method (payment gateway, e.g. OFFLINE). Link it to a campaign/profile via campaignUuid/profileUuid. Everything else (firstName, lastName, message, date, items, public, private, ...) goes through fields. Returns the created donation.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ONLINE or OFFLINE (default OFFLINE — this tool is for manual/offline donations). | |
| Yes | Email address of the donor. Required. | ||
| amount | Yes | Total donation amount in the smallest currency unit (e.g. cents). Required. | |
| fields | No | Additional documented Raisely fields to send in the JSON write body's `data` object — merged OVER the typed fields above. | |
| method | No | The payment gateway/method, e.g. "OFFLINE", "CREDIT". Required by the API. | |
| currency | Yes | 3-letter currency code, e.g. AUD, USD, GBP. Required. | |
| lastName | No | Donor last name. | |
| firstName | No | Donor first name. | |
| profileUuid | No | Uuid of the fundraising profile the donation is credited to. | |
| campaignUuid | No | Uuid of the campaign the donation belongs to. |
create_postCreate a postDestructiveInspect
MUTATES Raisely data: publishes a post (a campaign/profile update). Raisely API: POST /posts with the body wrapped as { data: {...} }. Required by the API: path (the post's URL slug), body (the content), photoUrl. Link it to a profile via profileUuid (pass through fields). Extra fields (title, date, ...) via fields. Returns the created post.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | The post content/body. Required by the API. | |
| path | Yes | The post's URL slug/path. Required by the API. | |
| title | No | The post title. | |
| fields | No | Additional documented Raisely fields to send in the JSON write body's `data` object — merged OVER the typed fields above. | |
| photoUrl | No | URL of the post's photo. Required by the API. |
get_authenticated_userGet authenticated userRead-onlyInspect
Verify credentials and show the currently authenticated user plus their privileges. Raisely API: GET /authenticate. Use this first to confirm RAISELY_API_KEY works. Returns { data:{...} }.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_campaignGet a campaignRead-onlyInspect
Fetch a single campaign by id or path/slug. Raisely API: GET /campaigns/{campaign}. Returns { data:{...} }.
| Name | Required | Description | Default |
|---|---|---|---|
| campaign | Yes | The campaign uuid or URL path/slug. |
get_donationGet a donationRead-onlyInspect
Fetch a single donation by uuid. Raisely API: GET /donations/{uuid}. Returns { data:{...} }.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | The donation uuid. |
get_profileGet a fundraising profileRead-onlyInspect
Fetch a single fundraising profile by path (a URL slug OR the uuid — a string either way). Raisely API: GET /profiles/{path}. Returns { data:{...} }.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The profile path (URL slug) or uuid. |
get_subscriptionGet a subscriptionRead-onlyInspect
Fetch a single subscription (recurring donation) by uuid. Raisely API: GET /subscriptions/{uuid}. Returns { data:{...} }.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | The subscription uuid. |
get_userGet a userRead-onlyInspect
Fetch a single user (donor/supporter) by uuid. Raisely API: GET /users/{uuid}. Returns { data:{...} }.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | The user uuid. |
list_campaign_donationsList a campaign's donationsRead-onlyInspect
Convenience: list donations for a specific campaign. Raisely API: GET /campaigns/{campaign}/donations. Returns { data:[...], pagination }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max records to return (Raisely `limit`, default 20). | |
| offset | No | Records to skip for pagination (Raisely `offset`, default 0). | |
| params | No | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. | |
| campaign | Yes | The campaign uuid or URL path/slug. |
list_campaign_profilesList a campaign's profilesRead-onlyInspect
Convenience: list fundraising profiles for a specific campaign. Raisely API: GET /campaigns/{campaign}/profiles. Returns { data:[...], pagination }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max records to return (Raisely `limit`, default 20). | |
| offset | No | Records to skip for pagination (Raisely `offset`, default 0). | |
| params | No | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. | |
| campaign | Yes | The campaign uuid or URL path/slug. |
list_campaignsList campaignsRead-onlyInspect
List fundraising campaigns. Raisely API: GET /campaigns. Returns the list envelope { data:[...], pagination }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max records to return (Raisely `limit`, default 20). | |
| offset | No | Records to skip for pagination (Raisely `offset`, default 0). | |
| params | No | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
list_donationsList donationsRead-onlyInspect
List donations. Raisely API: GET /donations. Filter via params (e.g. campaign, status, sort, order). Returns { data:[...], pagination }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max records to return (Raisely `limit`, default 20). | |
| offset | No | Records to skip for pagination (Raisely `offset`, default 0). | |
| params | No | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
list_ordersList ordersRead-onlyInspect
List orders (ticket/product purchases). Raisely API: GET /orders. Filter via params. Returns { data:[...], pagination }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max records to return (Raisely `limit`, default 20). | |
| offset | No | Records to skip for pagination (Raisely `offset`, default 0). | |
| params | No | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
list_postsList postsRead-onlyInspect
List posts (campaign/profile updates). Raisely API: GET /posts. Filter via params. Returns { data:[...], pagination }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max records to return (Raisely `limit`, default 20). | |
| offset | No | Records to skip for pagination (Raisely `offset`, default 0). | |
| params | No | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
list_profilesList fundraising profilesRead-onlyInspect
List fundraising profiles (individual/team fundraising pages). Raisely API: GET /profiles. Filter via params (e.g. campaign, type, sort, order). Returns { data:[...], pagination }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max records to return (Raisely `limit`, default 20). | |
| offset | No | Records to skip for pagination (Raisely `offset`, default 0). | |
| params | No | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
list_segmentsList segmentsRead-onlyInspect
List saved audience segments. Raisely API: GET /segments. Returns { data:[...], pagination }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max records to return (Raisely `limit`, default 20). | |
| offset | No | Records to skip for pagination (Raisely `offset`, default 0). | |
| params | No | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
list_subscriptionsList subscriptionsRead-onlyInspect
List subscriptions (recurring donations). Raisely API: GET /subscriptions. Filter via params. Returns { data:[...], pagination }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max records to return (Raisely `limit`, default 20). | |
| offset | No | Records to skip for pagination (Raisely `offset`, default 0). | |
| params | No | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
list_tagsList tagsRead-onlyInspect
List tags used to label records. Raisely API: GET /tags. Returns { data:[...], pagination }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max records to return (Raisely `limit`, default 20). | |
| offset | No | Records to skip for pagination (Raisely `offset`, default 0). | |
| params | No | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
list_user_donationsList a user's donationsRead-onlyInspect
Convenience: a donor's giving history. Raisely API: GET /users/{uuid}/donations. Returns { data:[...], pagination }.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | The user uuid. | |
| limit | No | Max records to return (Raisely `limit`, default 20). | |
| offset | No | Records to skip for pagination (Raisely `offset`, default 0). | |
| params | No | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
list_usersList usersRead-onlyInspect
List users (donors/supporters/fundraisers). Raisely API: GET /users. Filter via params. Returns { data:[...], pagination }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max records to return (Raisely `limit`, default 20). | |
| offset | No | Records to skip for pagination (Raisely `offset`, default 0). | |
| params | No | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
raisely_requestRaw read requestRead-onlyInspect
Power-user escape hatch: GET any Raisely API path not wrapped by a dedicated tool. READ-ONLY — only GET is allowed. Pass the FULL API path after the base, starting with a slash, INCLUDING any query string, e.g. "/subscriptions/{uuid}/donations" or "/donations?limit=50". Returns the parsed JSON.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Full API path after the base, starting with "/", e.g. "/donations?limit=50". |
update_profileUpdate a fundraising profileDestructiveInspect
MUTATES Raisely data: updates a fundraising profile's goal/name/story. Raisely API: PATCH /profiles/{path} with the body wrapped as { data: {...} } (only included fields change). Use fields for goal, name, description/story, public, private, and any other documented field. Set overwriteCustomFields:true to overwrite (rather than preserve) unspecified custom fields. The path is never sent in the body.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | New fundraising goal (in the smallest currency unit). | |
| name | No | New profile name. | |
| path | Yes | The profile path (URL slug) or uuid to update (path only; required). | |
| fields | No | Additional documented Raisely fields to send in the JSON write body's `data` object — merged OVER the typed fields above. | |
| overwriteCustomFields | No | When true, overwrite (instead of preserve) custom fields not included in this update. |
upsert_userUpsert a userDestructiveInspect
MUTATES Raisely data: creates OR updates a supporter/donor, matched by email (safer than a plain create — no duplicates). Raisely API: POST /users/upsert with the body wrapped as { data: {...} }. Typed: email (the match key), firstName, lastName; everything else (phoneNumber, address, public, private, ...) via fields. Returns the upserted user.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The user's email address — the match key for upsert. Required. | ||
| fields | No | Additional documented Raisely fields to send in the JSON write body's `data` object — merged OVER the typed fields above. | |
| lastName | No | User last name. | |
| firstName | No | User first name. |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
23 tool updates
- Changed
create_donation1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
create_post1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_authenticated_user1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_campaign1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_donation1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_profile1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_subscription1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_user1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
list_campaign_donations3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / params / additionalProperties / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } -] - added
Input schema / properties / params / additionalProperties / typeAdded value: +[ + "string", + "number", + "boolean" +]
- Changed
list_campaign_profiles3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / params / additionalProperties / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } -] - added
Input schema / properties / params / additionalProperties / typeAdded value: +[ + "string", + "number", + "boolean" +]
- Changed
list_campaigns3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / params / additionalProperties / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } -] - added
Input schema / properties / params / additionalProperties / typeAdded value: +[ + "string", + "number", + "boolean" +]
- Changed
list_donations3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / params / additionalProperties / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } -] - added
Input schema / properties / params / additionalProperties / typeAdded value: +[ + "string", + "number", + "boolean" +]
- Changed
list_orders3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / params / additionalProperties / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } -] - added
Input schema / properties / params / additionalProperties / typeAdded value: +[ + "string", + "number", + "boolean" +]
- Changed
list_posts3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / params / additionalProperties / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } -] - added
Input schema / properties / params / additionalProperties / typeAdded value: +[ + "string", + "number", + "boolean" +]
- Changed
list_profiles3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / params / additionalProperties / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } -] - added
Input schema / properties / params / additionalProperties / typeAdded value: +[ + "string", + "number", + "boolean" +]
- Changed
list_segments3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / params / additionalProperties / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } -] - added
Input schema / properties / params / additionalProperties / typeAdded value: +[ + "string", + "number", + "boolean" +]
- Changed
list_subscriptions3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / params / additionalProperties / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } -] - added
Input schema / properties / params / additionalProperties / typeAdded value: +[ + "string", + "number", + "boolean" +]
- Changed
list_tags3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / params / additionalProperties / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } -] - added
Input schema / properties / params / additionalProperties / typeAdded value: +[ + "string", + "number", + "boolean" +]
- Changed
list_user_donations3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / params / additionalProperties / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } -] - added
Input schema / properties / params / additionalProperties / typeAdded value: +[ + "string", + "number", + "boolean" +]
- Changed
list_users3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / params / additionalProperties / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } -] - added
Input schema / properties / params / additionalProperties / typeAdded value: +[ + "string", + "number", + "boolean" +]
- Changed
raisely_request1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
update_profile1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
upsert_user1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
23 tool updates
- First observed
create_donation - First observed
create_post - First observed
get_authenticated_user - First observed
get_campaign - First observed
get_donation - First observed
get_profile - First observed
get_subscription - First observed
get_user - First observed
list_campaign_donations - First observed
list_campaign_profiles - First observed
list_campaigns - First observed
list_donations - First observed
list_orders - First observed
list_posts - First observed
list_profiles - First observed
list_segments - First observed
list_subscriptions - First observed
list_tags - First observed
list_user_donations - First observed
list_users - First observed
raisely_request - First observed
update_profile - First observed
upsert_user
Related MCP Connectors
Read Qgiv (Bloomerang Fundraising) donations, refunds, recurring gifts, P2P registrations, events.
211Read subscribers, groups, campaigns, fields, segments, automations, webhooks; safe additive writes.
Search Neon CRM accounts, donations, memberships and events; create accounts and activities.
Read Mailcoach lists, campaigns and templates; optionally draft campaigns and templates.
1
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables to interact with Funraise nonprofit fundraising platform, allowing read and write access to donor, donation, subscription, campaign site, household, and interaction data.MIT
- AlicenseAqualityCmaintenanceEnables MCP clients such as Claude and ChatGPT to browse an Engaging Networks account: campaign pages, supporter records, transaction and recurring-gift history, supporter fields and questions, and marketing automation statistics. When writes are explicitly enabled, it can also set a supporter's opt-ins, with contact details, payment data and free-text personal data redacted by default.10MIT
- AlicenseNot gradedqualityCmaintenanceEnables Claude, ChatGPT and other MCP clients to search a membership database's people and organisations, read a contact's summary and membership history, list events with ticket types and attendance lists, read invoices, and find and count segments. When writes are enabled, it also lets clients record who attended an event.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search donors, record donations, run reports, and manage tasks across multiple organizations (Mosads) in the Hecher CRM.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.