io.usefulapi/raisely
REMOTE · RAISELY.USEFULAPI.IO · SCANNED AUG 3
Read campaigns, donations, profiles and supporters; record offline donations and upsert users.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security46
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the tool list to see what that exposes. View diagnostics → Unverified
- HTTPS not yet verified: we couldn't determine whether a plaintext access path exists. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability0
- Transport check failed: declared streamable-http, but the endpoint returned HTTP 429. See how to fix → View diagnostics → Fail
Schema Quality & AI Usability0
- Schema not yet verified: we couldn't read the endpoint's schema.Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage not yet verified: we couldn't read the endpoint's tools.Unverified
Capabilities0
- Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified
Unverified: 4 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · raisely.usefulapi.io
claude mcp add --transport http io-usefulapi-raisely https://raisely.usefulapi.io/mcp
[mcp_servers.io-usefulapi-raisely] url = "https://raisely.usefulapi.io/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"io-usefulapi-raisely": {
"type": "remote",
"url": "https://raisely.usefulapi.io/mcp",
"enabled": true
}
}
} openclaw mcp add io-usefulapi-raisely --url https://raisely.usefulapi.io/mcp --transport streamable-http
mcp_servers:
io-usefulapi-raisely:
url: "https://raisely.usefulapi.io/mcp" {
"mcpServers": {
"io-usefulapi-raisely": {
"type": "http",
"url": "https://raisely.usefulapi.io/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 −54
- Endpoint reachability: reachable → not serving MCP ▼ security
- Authorization: pass → unverified ▼ security
- Stability: 0.23 → unverified ▼ security
- Transport: pass → fail ▼ security
- Tool coverage: 100 → unverified ▼ functional
- Capabilities: fail → unverified ▼ functional
- 2 Aug 26 +54
- Authorization: unverified → pass ▲ security
- Transport: fail → pass ▲ security
- MCP protocol: unverified → fail ▼ functional
- Endpoint reachability: not serving MCP → reachable ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- Stability: unverified → 0.23 ▲ functional
- 1 Aug 26 −53
- Endpoint reachability: reachable → not serving MCP ▼ security
- Authorization: pass → unverified ▼ security
- Stability: 0.17 → unverified ▼ security
- Transport: pass → fail ▼ security
- Capabilities: fail → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 31 Jul 26 +3
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 −2
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 +9
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 60
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://raisely.usefulapi.io/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=usefulapi.io | CN=WE1,O=Google Trust Services,C=US | 18 Jul 2026 | 16 Oct 2026 | ECDSA 256 | ECDSA-SHA256 | 601dd8114a6e878b0e43373dae55642b |
| SANs: usefulapi.io, raisely.usefulapi.io, *.raisely.usefulapi.io | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
DNSSEC insecure
Validation of raisely.usefulapi.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 57355 | 8 | Verified |
| usefulapi.io. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 429 |
| Header | Value |
|---|---|
| x-frame-options | SAMEORIGIN |
| referrer-policy | same-origin |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://raisely.usefulapi.io/mcp | HTTP error | 429 | |
| http (plaintext) | http://raisely.usefulapi.io/mcp | Inconclusive | 429 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
create_donation Record a donation ~341
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 | Type | Req | Description |
|---|---|---|---|
| amount | integer | yes | Total donation amount in the smallest currency unit (e.g. cents). Required. |
| campaignUuid | string | — | Uuid of the campaign the donation belongs to. |
| currency | string | yes | 3-letter currency code, e.g. AUD, USD, GBP. Required. |
| string | yes | Email address of the donor. Required. | |
| fields | object | — | Additional documented Raisely fields to send in the JSON write body's `data` object — merged OVER the typed fields above. |
| firstName | string | — | Donor first name. |
| lastName | string | — | Donor last name. |
| method | string | — | The payment gateway/method, e.g. "OFFLINE", "CREDIT". Required by the API. |
| profileUuid | string | — | Uuid of the fundraising profile the donation is credited to. |
| type | string | — | ONLINE or OFFLINE (default OFFLINE — this tool is for manual/offline donations). |
No output schema declared.
No examples provided.
create_post Create a post ~186
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 | Type | Req | Description |
|---|---|---|---|
| body | string | yes | The post content/body. Required by the API. |
| fields | object | — | Additional documented Raisely fields to send in the JSON write body's `data` object — merged OVER the typed fields above. |
| path | string | yes | The post's URL slug/path. Required by the API. |
| photoUrl | string | — | URL of the post's photo. Required by the API. |
| title | string | — | The post title. |
No output schema declared.
No examples provided.
get_authenticated_user Get authenticated user ~50
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:{...} }.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_campaign Get a campaign ~53
Fetch a single campaign by id or path/slug. Raisely API: GET /campaigns/{campaign}. Returns { data:{...} }.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign | string | yes | The campaign uuid or URL path/slug. |
No output schema declared.
No examples provided.
get_donation Get a donation ~45
Fetch a single donation by uuid. Raisely API: GET /donations/{uuid}. Returns { data:{...} }.
| Name | Type | Req | Description |
|---|---|---|---|
| uuid | string | yes | The donation uuid. |
No output schema declared.
No examples provided.
get_profile Get a fundraising profile ~62
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 | Type | Req | Description |
|---|---|---|---|
| path | string | yes | The profile path (URL slug) or uuid. |
No output schema declared.
No examples provided.
get_subscription Get a subscription ~48
Fetch a single subscription (recurring donation) by uuid. Raisely API: GET /subscriptions/{uuid}. Returns { data:{...} }.
| Name | Type | Req | Description |
|---|---|---|---|
| uuid | string | yes | The subscription uuid. |
No output schema declared.
No examples provided.
get_user Get a user ~49
Fetch a single user (donor/supporter) by uuid. Raisely API: GET /users/{uuid}. Returns { data:{...} }.
| Name | Type | Req | Description |
|---|---|---|---|
| uuid | string | yes | The user uuid. |
No output schema declared.
No examples provided.
list_campaign_donations List a campaign's donations ~140
Convenience: list donations for a specific campaign. Raisely API: GET /campaigns/{campaign}/donations. Returns { data:[...], pagination }.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign | string | yes | The campaign uuid or URL path/slug. |
| limit | integer | — | Max records to return (Raisely `limit`, default 20). |
| offset | integer | — | Records to skip for pagination (Raisely `offset`, default 0). |
| params | object | — | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
No output schema declared.
No examples provided.
list_campaign_profiles List a campaign's profiles ~138
Convenience: list fundraising profiles for a specific campaign. Raisely API: GET /campaigns/{campaign}/profiles. Returns { data:[...], pagination }.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign | string | yes | The campaign uuid or URL path/slug. |
| limit | integer | — | Max records to return (Raisely `limit`, default 20). |
| offset | integer | — | Records to skip for pagination (Raisely `offset`, default 0). |
| params | object | — | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
No output schema declared.
No examples provided.
list_campaigns List campaigns ~116
List fundraising campaigns. Raisely API: GET /campaigns. Returns the list envelope { data:[...], pagination }.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max records to return (Raisely `limit`, default 20). |
| offset | integer | — | Records to skip for pagination (Raisely `offset`, default 0). |
| params | object | — | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
No output schema declared.
No examples provided.
list_donations List donations ~130
List donations. Raisely API: GET /donations. Filter via `params` (e.g. campaign, status, sort, order). Returns { data:[...], pagination }.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max records to return (Raisely `limit`, default 20). |
| offset | integer | — | Records to skip for pagination (Raisely `offset`, default 0). |
| params | object | — | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
No output schema declared.
No examples provided.
list_orders List orders ~119
List orders (ticket/product purchases). Raisely API: GET /orders. Filter via `params`. Returns { data:[...], pagination }.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max records to return (Raisely `limit`, default 20). |
| offset | integer | — | Records to skip for pagination (Raisely `offset`, default 0). |
| params | object | — | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
No output schema declared.
No examples provided.
list_posts List posts ~119
List posts (campaign/profile updates). Raisely API: GET /posts. Filter via `params`. Returns { data:[...], pagination }.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max records to return (Raisely `limit`, default 20). |
| offset | integer | — | Records to skip for pagination (Raisely `offset`, default 0). |
| params | object | — | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
No output schema declared.
No examples provided.
list_profiles List fundraising profiles ~133
List fundraising profiles (individual/team fundraising pages). Raisely API: GET /profiles. Filter via `params` (e.g. campaign, type, sort, order). Returns { data:[...], pagination }.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max records to return (Raisely `limit`, default 20). |
| offset | integer | — | Records to skip for pagination (Raisely `offset`, default 0). |
| params | object | — | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
No output schema declared.
No examples provided.
list_segments List segments ~112
List saved audience segments. Raisely API: GET /segments. Returns { data:[...], pagination }.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max records to return (Raisely `limit`, default 20). |
| offset | integer | — | Records to skip for pagination (Raisely `offset`, default 0). |
| params | object | — | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
No output schema declared.
No examples provided.
list_subscriptions List subscriptions ~120
List subscriptions (recurring donations). Raisely API: GET /subscriptions. Filter via `params`. Returns { data:[...], pagination }.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max records to return (Raisely `limit`, default 20). |
| offset | integer | — | Records to skip for pagination (Raisely `offset`, default 0). |
| params | object | — | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
No output schema declared.
No examples provided.
list_tags List tags ~114
List tags used to label records. Raisely API: GET /tags. Returns { data:[...], pagination }.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max records to return (Raisely `limit`, default 20). |
| offset | integer | — | Records to skip for pagination (Raisely `offset`, default 0). |
| params | object | — | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
No output schema declared.
No examples provided.
list_user_donations List a user's donations ~133
Convenience: a donor's giving history. Raisely API: GET /users/{uuid}/donations. Returns { data:[...], pagination }.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max records to return (Raisely `limit`, default 20). |
| offset | integer | — | Records to skip for pagination (Raisely `offset`, default 0). |
| params | object | — | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
| uuid | string | yes | The user uuid. |
No output schema declared.
No examples provided.
list_users List users ~123
List users (donors/supporters/fundraisers). Raisely API: GET /users. Filter via `params`. Returns { data:[...], pagination }.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max records to return (Raisely `limit`, default 20). |
| offset | integer | — | Records to skip for pagination (Raisely `offset`, default 0). |
| params | object | — | Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above. |
No output schema declared.
No examples provided.
raisely_request Raw read request ~107
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 | Type | Req | Description |
|---|---|---|---|
| path | string | yes | Full API path after the base, starting with "/", e.g. "/donations?limit=50". |
No output schema declared.
No examples provided.
update_profile Update a fundraising profile ~201
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 | Type | Req | Description |
|---|---|---|---|
| fields | object | — | Additional documented Raisely fields to send in the JSON write body's `data` object — merged OVER the typed fields above. |
| goal | number | — | New fundraising goal (in the smallest currency unit). |
| name | string | — | New profile name. |
| overwriteCustomFields | boolean | — | When true, overwrite (instead of preserve) custom fields not included in this update. |
| path | string | yes | The profile path (URL slug) or uuid to update (path only; required). |
No output schema declared.
No examples provided.
upsert_user Upsert a user ~167
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 | Type | Req | Description |
|---|---|---|---|
| string | yes | The user's email address — the match key for upsert. Required. | |
| fields | object | — | Additional documented Raisely fields to send in the JSON write body's `data` object — merged OVER the typed fields above. |
| firstName | string | — | User first name. |
| lastName | string | — | User last name. |
No output schema declared.
No examples provided.