Negotiated 2025-11-25. The bar is 2025-06-18 or newer.
Pass
HTTPS
The endpoint URL is https.
Performance
Not measured
Fast (p50)
Median latency 104 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.
Not measured
Consistent (p95)
95th percentile 104 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.
Not measured
Reliable (uptime)
1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.
Not measured
Stable tool list
Fewer than two successful probes in 30 days, so tool-list stability is not measured.
Access
Pass
Open access
tools/list succeeded with no credential, and the record declares none.
Not measured
Standard auth
Auth is not required, so the OAuth metadata check does not apply.
Not measured
Free tier cited
No publisher quote has been checked.
Tools
Pass
Tools described
Every tool description is at least 20 characters.
Pass
Valid input schemas
Every inputSchema is a JSON Schema object.
Pass
Parameters documented
69 of 69 parameters have a description (100%). The bar is 80%.
Pass
Safety hints
Every tool sets readOnlyHint or destructiveHint.
Publisher
Pass
Verified namespace
Listed in the Official MCP Registry.
Pass
Website matches publisher
The website host matches the reverse-domain namespace.
Pass
Source repo linked
A repository URL is on file.
Not measured
Repo owner matches
This namespace is not an io.github login, so the owner comparison does not apply.
Pass
Recently updated
Updated 2026-11-10T23:33:33.679607Z, within 180 days.
Not measured
Open-source licence
The GitHub licence lookup has not returned an OSI result yet.
Start using Raisely MCP by usefulapi
Connect to this server
Choose your client, copy the configuration, then enable the server in your client’s MCP settings.
Run this command in your terminal, then restart Claude Code.
Claude Code
claude mcp add --transport http raisely-mcp-by-usefulapi https://raisely.usefulapi.io/mcp
Capabilities
Tools 23
raisely_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.
Discovered raisely_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.
Discovered raisely_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:{...} }.
Discovered raisely_get_campaign
Fetch a single campaign by id or path/slug. Raisely API: GET /campaigns/{campaign}. Returns { data:{...} }.
Discovered raisely_get_donation
Fetch a single donation by uuid. Raisely API: GET /donations/{uuid}. Returns { data:{...} }.
Discovered raisely_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:{...} }.
Discovered raisely_get_subscription
Fetch a single subscription (recurring donation) by uuid. Raisely API: GET /subscriptions/{uuid}. Returns { data:{...} }.
Discovered raisely_get_user
Fetch a single user (donor/supporter) by uuid. Raisely API: GET /users/{uuid}. Returns { data:{...} }.
Discovered raisely_list_campaign_donations
Convenience: list donations for a specific campaign. Raisely API: GET /campaigns/{campaign}/donations. Returns { data:[...], pagination }.
Discovered raisely_list_campaign_profiles
Convenience: list fundraising profiles for a specific campaign. Raisely API: GET /campaigns/{campaign}/profiles. Returns { data:[...], pagination }.
Discovered raisely_list_campaigns
List fundraising campaigns. Raisely API: GET /campaigns. Returns the list envelope { data:[...], pagination }.
Discovered raisely_list_donations
List donations. Raisely API: GET /donations. Filter via `params` (e.g. campaign, status, sort, order). Returns { data:[...], pagination }.
Discovered raisely_list_orders
List orders (ticket/product purchases). Raisely API: GET /orders. Filter via `params`. Returns { data:[...], pagination }.
Discovered raisely_list_posts
List posts (campaign/profile updates). Raisely API: GET /posts. Filter via `params`. Returns { data:[...], pagination }.
Discovered raisely_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 }.
Discovered raisely_list_segments
List saved audience segments. Raisely API: GET /segments. Returns { data:[...], pagination }.
Discovered raisely_list_subscriptions
List subscriptions (recurring donations). Raisely API: GET /subscriptions. Filter via `params`. Returns { data:[...], pagination }.
Discovered raisely_list_tags
List tags used to label records. Raisely API: GET /tags. Returns { data:[...], pagination }.
Discovered raisely_list_user_donations
Convenience: a donor's giving history. Raisely API: GET /users/{uuid}/donations. Returns { data:[...], pagination }.
Discovered raisely_list_users
List users (donors/supporters/fundraisers). Raisely API: GET /users. Filter via `params`. Returns { data:[...], pagination }.
Discovered 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.
Discovered raisely_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.
Discovered raisely_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.