Raisely MCP by usefulapi
Read campaigns, donations, profiles and supporters; record offline donations and upsert users.
- 1.11.1
- Version
- remote
- Transport
- 23
- Tools
Security review
Partly reviewedReviewed 1h ago.
- tools: 23 tools scanned
- metadata: scanned
- mediumReviewRemote tools take credentials as input
Whatever an agent passes to a remote tool leaves the machine. Never send connection strings, tokens or passwords to a third-party MCP server unless it is the service those credentials belong to.
get_authenticated_user
Tools (23)
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:{...} }.
list_campaigns
List fundraising campaigns. Raisely API: GET /campaigns. Returns the list envelope { data:[...], pagination }.
get_campaign
Fetch a single campaign by id or path/slug. Raisely API: GET /campaigns/{campaign}. Returns { data:{...} }.
list_profiles
List fundraising profiles (individual/team fundraising pages). Raisely API: GET /profiles. Filter via `params` (e.g. campaign, type, sort, order). Returns { data:[...], pagination }.
get_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:{...} }.
list_donations
List donations. Raisely API: GET /donations. Filter via `params` (e.g. campaign, status, sort, order). Returns { data:[...], pagination }.
get_donation
Fetch a single donation by uuid. Raisely API: GET /donations/{uuid}. Returns { data:{...} }.
list_users
List users (donors/supporters/fundraisers). Raisely API: GET /users. Filter via `params`. Returns { data:[...], pagination }.
get_user
Fetch a single user (donor/supporter) by uuid. Raisely API: GET /users/{uuid}. Returns { data:{...} }.
list_subscriptions
List subscriptions (recurring donations). Raisely API: GET /subscriptions. Filter via `params`. Returns { data:[...], pagination }.
get_subscription
Fetch a single subscription (recurring donation) by uuid. Raisely API: GET /subscriptions/{uuid}. Returns { data:{...} }.
list_posts
List posts (campaign/profile updates). Raisely API: GET /posts. Filter via `params`. Returns { data:[...], pagination }.
list_orders
List orders (ticket/product purchases). Raisely API: GET /orders. Filter via `params`. Returns { data:[...], pagination }.
list_segments
List saved audience segments. Raisely API: GET /segments. Returns { data:[...], pagination }.
list_tags
List tags used to label records. Raisely API: GET /tags. Returns { data:[...], pagination }.
list_campaign_donations
Convenience: list donations for a specific campaign. Raisely API: GET /campaigns/{campaign}/donations. Returns { data:[...], pagination }.
list_campaign_profiles
Convenience: list fundraising profiles for a specific campaign. Raisely API: GET /campaigns/{campaign}/profiles. Returns { data:[...], pagination }.
list_user_donations
Convenience: a donor's giving history. Raisely API: GET /users/{uuid}/donations. Returns { data:[...], pagination }.
raisely_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.
create_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.
upsert_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.
update_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.
create_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.