raisely
Read campaigns, donations, profiles and supporters; record offline donations and upsert users.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"raisely": {
"url": "https://raisely.usefulapi.io/mcp"
}
}
}원격 엔드포인트
https://raisely.usefulapi.io/mcpstreamable-http할 수 있는 일
도구 목록
도구 (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:{...} }.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_campaigns(limit, offset, params)
List fundraising campaigns. Raisely API: GET /campaigns. Returns the list envelope { data:[...], pagination }.
입력 스키마
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return (Raisely `limit`, default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Records to skip for pagination (Raisely `offset`, default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_campaign(campaign)
Fetch a single campaign by id or path/slug. Raisely API: GET /campaigns/{campaign}. Returns { data:{...} }.
입력 스키마
{
"type": "object",
"properties": {
"campaign": {
"type": "string",
"description": "The campaign uuid or URL path/slug."
}
},
"required": [
"campaign"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_profiles(limit, offset, params)
List fundraising profiles (individual/team fundraising pages). Raisely API: GET /profiles. Filter via `params` (e.g. campaign, type, sort, order). Returns { data:[...], pagination }.
입력 스키마
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return (Raisely `limit`, default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Records to skip for pagination (Raisely `offset`, default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_profile(path)
Fetch a single fundraising profile by path (a URL slug OR the uuid — a string either way). Raisely API: GET /profiles/{path}. Returns { data:{...} }.
입력 스키마
{
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "The profile path (URL slug) or uuid."
}
},
"required": [
"path"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_donations(limit, offset, params)
List donations. Raisely API: GET /donations. Filter via `params` (e.g. campaign, status, sort, order). Returns { data:[...], pagination }.
입력 스키마
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return (Raisely `limit`, default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Records to skip for pagination (Raisely `offset`, default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_donation(uuid)
Fetch a single donation by uuid. Raisely API: GET /donations/{uuid}. Returns { data:{...} }.
입력 스키마
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "The donation uuid."
}
},
"required": [
"uuid"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_users(limit, offset, params)
List users (donors/supporters/fundraisers). Raisely API: GET /users. Filter via `params`. Returns { data:[...], pagination }.
입력 스키마
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return (Raisely `limit`, default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Records to skip for pagination (Raisely `offset`, default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_user(uuid)
Fetch a single user (donor/supporter) by uuid. Raisely API: GET /users/{uuid}. Returns { data:{...} }.
입력 스키마
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "The user uuid."
}
},
"required": [
"uuid"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_subscriptions(limit, offset, params)
List subscriptions (recurring donations). Raisely API: GET /subscriptions. Filter via `params`. Returns { data:[...], pagination }.
입력 스키마
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return (Raisely `limit`, default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Records to skip for pagination (Raisely `offset`, default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_subscription(uuid)
Fetch a single subscription (recurring donation) by uuid. Raisely API: GET /subscriptions/{uuid}. Returns { data:{...} }.
입력 스키마
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "The subscription uuid."
}
},
"required": [
"uuid"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_posts(limit, offset, params)
List posts (campaign/profile updates). Raisely API: GET /posts. Filter via `params`. Returns { data:[...], pagination }.
입력 스키마
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return (Raisely `limit`, default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Records to skip for pagination (Raisely `offset`, default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_orders(limit, offset, params)
List orders (ticket/product purchases). Raisely API: GET /orders. Filter via `params`. Returns { data:[...], pagination }.
입력 스키마
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return (Raisely `limit`, default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Records to skip for pagination (Raisely `offset`, default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_segments(limit, offset, params)
List saved audience segments. Raisely API: GET /segments. Returns { data:[...], pagination }.
입력 스키마
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return (Raisely `limit`, default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Records to skip for pagination (Raisely `offset`, default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_tags(limit, offset, params)
List tags used to label records. Raisely API: GET /tags. Returns { data:[...], pagination }.
입력 스키마
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return (Raisely `limit`, default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Records to skip for pagination (Raisely `offset`, default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_campaign_donations(campaign, limit, offset, params)
Convenience: list donations for a specific campaign. Raisely API: GET /campaigns/{campaign}/donations. Returns { data:[...], pagination }.
입력 스키마
{
"type": "object",
"properties": {
"campaign": {
"type": "string",
"description": "The campaign uuid or URL path/slug."
},
"limit": {
"description": "Max records to return (Raisely `limit`, default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Records to skip for pagination (Raisely `offset`, default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
}
},
"required": [
"campaign"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_campaign_profiles(campaign, limit, offset, params)
Convenience: list fundraising profiles for a specific campaign. Raisely API: GET /campaigns/{campaign}/profiles. Returns { data:[...], pagination }.
입력 스키마
{
"type": "object",
"properties": {
"campaign": {
"type": "string",
"description": "The campaign uuid or URL path/slug."
},
"limit": {
"description": "Max records to return (Raisely `limit`, default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Records to skip for pagination (Raisely `offset`, default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
}
},
"required": [
"campaign"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_user_donations(uuid, limit, offset, params)
Convenience: a donor's giving history. Raisely API: GET /users/{uuid}/donations. Returns { data:[...], pagination }.
입력 스키마
{
"type": "object",
"properties": {
"uuid": {
"type": "string",
"description": "The user uuid."
},
"limit": {
"description": "Max records to return (Raisely `limit`, default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Records to skip for pagination (Raisely `offset`, default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters to send verbatim (e.g. campaign, status, sort, order, private) — merged with the typed limit/offset above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
}
},
"required": [
"uuid"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢raisely_request(path)
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.
입력 스키마
{
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Full API path after the base, starting with \"/\", e.g. \"/donations?limit=50\"."
}
},
"required": [
"path"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴create_donation(amount, currency, email, type, method, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"amount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Total donation amount in the smallest currency unit (e.g. cents). Required."
},
"currency": {
"type": "string",
"description": "3-letter currency code, e.g. AUD, USD, GBP. Required."
},
"email": {
"type": "string",
"description": "Email address of the donor. Required."
},
"type": {
"description": "ONLINE or OFFLINE (default OFFLINE — this tool is for manual/offline donations).",
"type": "string"
},
"method": {
"description": "The payment gateway/method, e.g. \"OFFLINE\", \"CREDIT\". Required by the API.",
"type": "string"
},
"campaignUuid": {
"description": "Uuid of the campaign the donation belongs to.",
"type": "string"
},
"profileUuid": {
"description": "Uuid of the fundraising profile the donation is credited to.",
"type": "string"
},
"firstName": {
"description": "Donor first name.",
"type": "string"
},
"lastName": {
"description": "Donor last name.",
"type": "string"
},
"fields": {
"description": "Additional documented Raisely fields to send in the JSON write body's `data` object — merged OVER the typed fields above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"amount",
"currency",
"email"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴upsert_user(email, firstName, lastName, fields)
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.
입력 스키마
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "The user's email address — the match key for upsert. Required."
},
"firstName": {
"description": "User first name.",
"type": "string"
},
"lastName": {
"description": "User last name.",
"type": "string"
},
"fields": {
"description": "Additional documented Raisely fields to send in the JSON write body's `data` object — merged OVER the typed fields above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"email"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴update_profile(path, name, goal, overwriteCustomFields, fields)
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.
입력 스키마
{
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "The profile path (URL slug) or uuid to update (path only; required)."
},
"name": {
"description": "New profile name.",
"type": "string"
},
"goal": {
"description": "New fundraising goal (in the smallest currency unit).",
"type": "number"
},
"overwriteCustomFields": {
"description": "When true, overwrite (instead of preserve) custom fields not included in this update.",
"type": "boolean"
},
"fields": {
"description": "Additional documented Raisely fields to send in the JSON write body's `data` object — merged OVER the typed fields above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"path"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴create_post(path, body, photoUrl, title, fields)
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.
입력 스키마
{
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "The post's URL slug/path. Required by the API."
},
"body": {
"type": "string",
"description": "The post content/body. Required by the API."
},
"photoUrl": {
"description": "URL of the post's photo. Required by the API.",
"type": "string"
},
"title": {
"description": "The post title.",
"type": "string"
},
"fields": {
"description": "Additional documented Raisely fields to send in the JSON write body's `data` object — merged OVER the typed fields above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"path",
"body"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}권장 프롬프트
get_authenticated_userget_authenticated_userlist_campaignslist_campaignslist_campaignsget_authenticated_user커뮤니티
증거