Raisely MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.37.5Updated Nov 8, 2026

Read campaigns, donations, profiles and supporters; record offline donations and upsert users.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableFinanceBusiness & Commerce

Overview

AI-generated overview

Hosted MCP server for Raisely fundraising: lets an assistant read campaigns, donations, profiles and supporters, and record offline donations or upsert donors.

What you can do
  • List and fetch campaigns, fundraising profiles and campaign-specific donations or profiles
  • List and fetch donations, recurring subscriptions, orders and posts, with filters and pagination
  • List and fetch supporters/users, saved segments and tags, plus a donor's giving history
  • Record offline donations, upsert supporters by email, update a profile's goal or story, and publish posts
  • Send a raw read-only GET to any other Raisely API path
  • Check monthly call usage, request a feature, upgrade or cancel the paid plan
When to use it
Useful for nonprofit or fundraising teams already on Raisely who want to ask an assistant about campaign totals, recent donations, donor giving history or supporter records, and to log cash or cheque donations and post updates without opening the admin UI.
Requirements
Remote streamable HTTP endpoint; no local package. Sign-in is via OAuth in the client, and the login page asks for the Raisely campaign Private API key (Raisely admin, Settings, Developers), sent as a Bearer token. Do not add an Authorization header or API key to the client config. A Raisely account with API access is required.
Before you install
Four tools write to Raisely: recording a donation, upserting a user, updating a profile and creating a post; confirm before running them. The server holds a Raisely private API key scoped to the user, so treat that key as sensitive. Usage is metered: the free plan allows 50 calls a month, and paid plans (Pro, Pro+) are billed through a Stripe checkout link, with no refund for the current period on cancellation. Donor names, emails and giving data pass through the third-party host.

Installation

In SourceWeft

  1. Open Raisely MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fraisely/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "raisely-by-usefulapi": {
      "type": "http",
      "url": "https://raisely.usefulapi.io/mcp"
    }
  }
}

README

Raisely MCP by usefulapi

Manage your nonprofit's Raisely fundraising from Claude, Cursor, or any MCP client — read campaigns, donations, profiles and supporters, record offline donations, upsert donors and post updates.

Live endpoint: https://raisely.usefulapi.io/mcp · Homepage: https://usefulapi.io/raisely

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://raisely.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http raisely https://raisely.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "raisely": {      "url": "https://raisely.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Raisely credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/raisely/

On first connect you'll paste your Raisely campaign Private API key (Raisely admin → Settings → Developers). It's sent as a Bearer token and scoped to you.

Tools

ToolTypeWhat it does
raisely_get_authenticated_userreadGet authenticated user
raisely_list_campaignsreadList campaigns
raisely_get_campaignreadGet a campaign
raisely_list_profilesreadList fundraising profiles
raisely_get_profilereadGet a fundraising profile
raisely_list_donationsreadList donations
raisely_get_donationreadGet a donation
raisely_list_usersreadList users
raisely_get_userreadGet a user
raisely_list_subscriptionsreadList subscriptions
raisely_get_subscriptionreadGet a subscription
raisely_list_postsreadList posts
raisely_list_ordersreadList orders
raisely_list_segmentsreadList segments
raisely_list_tagsreadList tags
raisely_list_campaign_donationsreadList a campaign's donations
raisely_list_campaign_profilesreadList a campaign's profiles
raisely_list_user_donationsreadList a user's donations
raisely_requestreadRaw read request
raisely_create_donationwriteRecord a donation
raisely_upsert_userwriteUpsert a user
raisely_update_profilewriteUpdate a fundraising profile
raisely_create_postwriteCreate a post
raisely_usage_statusmetaUsage status (free-tier meter)
raisely_request_featuremetaRequest a missing feature
raisely_upgrademetaUpgrade to Pro or Pro+
raisely_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with raisely_upgrade (it returns a Stripe Checkout link). Cancel any time with raisely_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running raisely_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by Raisely.

Source: servers/raisely/README.md at commit 4046075

Tools

23

raisely_get_authenticated_user

Get authenticated user

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

Takes no parameters.

raisely_list_campaigns

List campaigns

List fundraising campaigns. Raisely API: GET /campaigns. Returns the list envelope { data:[...], pagination }.

Parameterslimitoffsetparams

raisely_get_campaign

Get a campaign

Fetch a single campaign by id or path/slug. Raisely API: GET /campaigns/{campaign}. Returns { data:{...} }.

Parameterscampaignrequired

raisely_list_profiles

List fundraising profiles

List fundraising profiles (individual/team fundraising pages). Raisely API: GET /profiles. Filter via `params` (e.g. campaign, type, sort, order). Returns { data:[...], pagination }.

Parameterslimitoffsetparams

raisely_get_profile

Get a fundraising profile

Fetch a single fundraising profile by path (a URL slug OR the uuid — a string either way). Raisely API: GET /profiles/{path}. Returns { data:{...} }.

Parameterspathrequired

raisely_list_donations

List donations

List donations. Raisely API: GET /donations. Filter via `params` (e.g. campaign, status, sort, order). Returns { data:[...], pagination }.

Parameterslimitoffsetparams

raisely_get_donation

Get a donation

Fetch a single donation by uuid. Raisely API: GET /donations/{uuid}. Returns { data:{...} }.

Parametersuuidrequired

raisely_list_users

List users

List users (donors/supporters/fundraisers). Raisely API: GET /users. Filter via `params`. Returns { data:[...], pagination }.

Parameterslimitoffsetparams

raisely_get_user

Get a user

Fetch a single user (donor/supporter) by uuid. Raisely API: GET /users/{uuid}. Returns { data:{...} }.

Parametersuuidrequired

raisely_list_subscriptions

List subscriptions

List subscriptions (recurring donations). Raisely API: GET /subscriptions. Filter via `params`. Returns { data:[...], pagination }.

Parameterslimitoffsetparams

raisely_get_subscription

Get a subscription

Fetch a single subscription (recurring donation) by uuid. Raisely API: GET /subscriptions/{uuid}. Returns { data:{...} }.

Parametersuuidrequired

raisely_list_posts

List posts

List posts (campaign/profile updates). Raisely API: GET /posts. Filter via `params`. Returns { data:[...], pagination }.

Parameterslimitoffsetparams

raisely_list_orders

List orders

List orders (ticket/product purchases). Raisely API: GET /orders. Filter via `params`. Returns { data:[...], pagination }.

Parameterslimitoffsetparams

raisely_list_segments

List segments

List saved audience segments. Raisely API: GET /segments. Returns { data:[...], pagination }.

Parameterslimitoffsetparams

raisely_list_tags

List tags

List tags used to label records. Raisely API: GET /tags. Returns { data:[...], pagination }.

Parameterslimitoffsetparams

raisely_list_campaign_donations

List a campaign's donations

Convenience: list donations for a specific campaign. Raisely API: GET /campaigns/{campaign}/donations. Returns { data:[...], pagination }.

Parameterslimitoffsetparamscampaignrequired

raisely_list_campaign_profiles

List a campaign's profiles

Convenience: list fundraising profiles for a specific campaign. Raisely API: GET /campaigns/{campaign}/profiles. Returns { data:[...], pagination }.

Parameterslimitoffsetparamscampaignrequired

raisely_list_user_donations

List a user's donations

Convenience: a donor's giving history. Raisely API: GET /users/{uuid}/donations. Returns { data:[...], pagination }.

Parametersuuidrequiredlimitoffsetparams

raisely_request

Raw read request

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.

Parameterspathrequired

raisely_create_donation

Record a donation

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.

ParameterstypeemailrequiredamountrequiredfieldsmethodcurrencyrequiredlastNamefirstNameprofileUuidcampaignUuid

raisely_upsert_user

Upsert a user

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.

ParametersemailrequiredfieldslastNamefirstName

raisely_update_profile

Update a fundraising profile

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.

ParametersgoalnamepathrequiredfieldsoverwriteCustomFields

raisely_create_post

Create a post

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.

ParametersbodyrequiredpathrequiredtitlefieldsphotoUrl

Version history

23
  1. v1.37.5LatestNov 8, 2026
  2. v1.37.4Nov 7, 2026
  3. v1.36.3Nov 5, 2026
  4. v1.36.2Nov 5, 2026
  5. v1.36.1Nov 4, 2026
  6. v1.36.0Nov 3, 2026
  7. v1.35.1Nov 3, 2026
  8. v1.34.0Nov 1, 2026
  9. v1.32.0Oct 31, 2026
  10. v1.31.0Oct 31, 2026
  11. v1.30.2Oct 30, 2026
  12. v1.30.0Oct 30, 2026
  13. v1.25.0Oct 26, 2026
  14. v1.22.3Oct 25, 2026
  15. v1.22.0Oct 25, 2026
  16. v1.21.0Oct 24, 2026
  17. v1.18.0Oct 23, 2026
  18. v1.16.4Oct 22, 2026
  19. v1.16.3Oct 21, 2026
  20. v1.11.1Oct 9, 2026
  21. v1.10.0Oct 9, 2026
  22. v1.0.1Sep 29, 2026
  23. v1.0.0Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations