usefulapi

Bloomerang MCP server. Search Bloomerang constituents and donations; log interactions, notes and tasks.

Claude

  1. Open Settings → Connectors → Add custom connector
  2. Paste this URL:
    https://bloomerang.usefulapi.io/mcp
  3. Authenticate with Bloomerang when prompted

Cursor · VS Code · Windsurf · Cline

Add to your MCP config, then reload & authorize:

{
  "mcpServers": {
    "bloomerang": {
      "url": "https://bloomerang.usefulapi.io/mcp"
    }
  }
}
live22 toolsFree 100 tool calls / monthPro $9/mo · $90/yr

Tools 22

ToolTypeWhat it does
bloomerang_get_current_userread
Get the current user
Fetch the Bloomerang user the API key belongs to — name, email and permission level. A cheap way to confirm the key works and see what it may do. Bloomerang: GET /user/current.
bloomerang_search_constituentsread
Search constituents
Full-text search across constituents (individuals and organizations) and households by name, email, etc. Start here to find a donor's Id. Bloomerang: GET /constituents/search.
bloomerang_list_constituentsread
List constituents
List constituents with filters — by Id, type, favorites, last-modified date, or a custom field value — and sorting. Good for syncing recent changes. Bloomerang: GET /constituents.
bloomerang_get_constituentread
Get one constituent
Fetch one constituent's full profile — names, primary and secondary contact details, household, communication preferences, engagement score and custom values. Bloomerang: GET /constituent/{id}.
bloomerang_get_constituent_timelineread
Get a constituent's timeline
The activity timeline for a constituent — gifts, interactions, notes, tasks and more, newest first. Pass a household Id to get the timeline of every member. Bloomerang: GET /constituent/{id}/timeline.
bloomerang_list_constituent_relationshipsread
List a constituent's relationships
Relationships between this constituent and others (spouse, employer, board member ...), with the role on each side. Bloomerang: GET /constituent/{id}/relationships.
bloomerang_get_householdread
Get one household
Fetch a household — its names, head of household (HeadId) and member constituent Ids. A constituent's HouseholdId points here. Bloomerang: GET /household/{id}.
bloomerang_list_transactionsread
List transactions (gifts)
List transactions — donations, pledges, pledge payments, recurring donations and their payments — with their designations (fund, campaign, appeal). Filter by constituent, amount range, type or last-modified date. Read only. Bloomerang: GET /transactions.
bloomerang_get_transactionread
Get one transaction
Fetch one transaction with its payment method, amounts, refund status and every designation (fund, campaign, appeal, tribute, acknowledgement status). Bloomerang: GET /transaction/{id}.
bloomerang_list_fundsread
List funds
List the funds gifts can be designated to (e.g. General Operating, Scholarship). Bloomerang: GET /funds.
bloomerang_list_campaignsread
List campaigns
List fundraising campaigns with their goals and dates. Bloomerang: GET /campaigns.
bloomerang_list_appealsread
List appeals
List appeals — the specific asks (a year-end letter, a gala invitation) that gifts are attributed to. Bloomerang: GET /appeals.
bloomerang_list_interactionsread
List interactions
List logged interactions (calls, emails, meetings, letters ...) — filter by constituent, channel or purpose. Bloomerang: GET /interactions.
bloomerang_list_notesread
List notes
List notes, optionally for specific constituents. Bloomerang: GET /notes.
bloomerang_list_tasksread
List tasks
List tasks (follow-ups) — filter by status, due-date range, assignee user, constituent, channel or purpose. Bloomerang: GET /tasks.
bloomerang_create_constituentwrite
Create a constituent
WRITE: create a new individual or organization constituent. For an individual give first_name/last_name; for an organization give full_name. Search first (bloomerang_search_constituents) to avoid creating a duplicate donor. Bloomerang: POST /constituent.
bloomerang_update_constituentwrite
Update a constituent
WRITE: update fields on an existing constituent's profile (names, job, status, primary address/email/phone). Only the fields you supply are sent. Bloomerang: PUT /constituent/{id}.
bloomerang_create_interactionwrite
Log an interaction
WRITE: log an interaction with a constituent — a call, email, meeting, letter, etc. — on their timeline. Bloomerang: POST /interaction.
bloomerang_create_notewrite
Add a note
WRITE: add a note to a constituent's record. Bloomerang: POST /note.
bloomerang_create_taskwrite
Create a task
WRITE: create a follow-up task, optionally tied to a constituent and assigned to a user (find user Ids via bloomerang_get_current_user or existing tasks). Bloomerang: POST /task.
bloomerang_usage_statusmeta
Usage status (free-tier meter)
Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter.
bloomerang_upgrademeta
Upgrade to Pro (unlimited)
Subscribe to the Pro plan for UNLIMITED Bloomerang tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Read-only; does not count against the meter.

Pricing

PlanPriceLimit
Free$0100 tool calls / month
Proper user$9/mo · $90/yrUnlimited

This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.