protogrid

Search / dev.cotlet/bloomerang

Bloomerang MCP Server and API by Cotlet

R1· needs a key

Bloomerang nonprofit donor CRM MCP server: search constituents, record received gift.

v1.0.2 · active · website · descriptor JSON · versions

An agent can connect on its own if it already holds BLOOMERANG_TOKEN.Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.
Quality97new
Trust83of 100
Uptime, 30 days100%
Latency p50182 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "bloomerang": {
      "type": "http",
      "url": "https://cotlet.dev/mcp/v1/bloomerang",
      "headers": {
        "Authorization": "Bearer ${BLOOMERANG_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http bloomerang https://cotlet.dev/mcp/v1/bloomerang --header "Authorization: Bearer ${BLOOMERANG_TOKEN}"
[mcp_servers.bloomerang]
url = "https://cotlet.dev/mcp/v1/bloomerang"
bearer_token_env_var = "BLOOMERANG_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "bloomerang": {
      "type": "remote",
      "url": "https://cotlet.dev/mcp/v1/bloomerang",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:BLOOMERANG_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "bloomerang": {
      "type": "http",
      "url": "https://cotlet.dev/mcp/v1/bloomerang",
      "headers": {
        "Authorization": "Bearer ${BLOOMERANG_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=bloomerang&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vY290bGV0LmRldi9tY3AvdjEvYmxvb21lcmFuZyIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciAke0JMT09NRVJBTkdfVE9LRU59In19"
}
{
  "servers": {
    "bloomerang": {
      "type": "http",
      "url": "https://cotlet.dev/mcp/v1/bloomerang",
      "headers": {
        "Authorization": "Bearer ${BLOOMERANG_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "bloomerang": {
      "httpUrl": "https://cotlet.dev/mcp/v1/bloomerang",
      "headers": {
        "Authorization": "Bearer ${BLOOMERANG_TOKEN}"
      }
    }
  }
}
extensions:
  "bloomerang":
    enabled: true
    name: "bloomerang"
    type: streamable_http
    uri: "https://cotlet.dev/mcp/v1/bloomerang"
    headers:
      "Authorization": "Bearer ${BLOOMERANG_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${BLOOMERANG_TOKEN}. The registry never accepts secret values.

Quality 97 / 100new

protocol100 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • pass
    protocol.list_ttltool list is cacheable (ttlMs 300000)
authorization100 · weight 15
  • pass
    auth.prmProtected Resource Metadata (RFC 9728) published
  • pass
    auth.as_metadataauthorization server metadata reachable
  • pass
    auth.cimdClient ID Metadata Documents supported
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene94 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations32 of 32 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints27 of 32 tools declare all four hints; missing: cotlet_whoami (idempotentHint); cotlet_apps (idempotentHint); cotlet_get_call (idempotentHint); …
  • pass
    tools.token_costabout 7,781 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
  • pass
    tools.hidden_textno hidden text in tool names, descriptions, schemas or annotations
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pull, stability.new_linkstool history recorded for 4 of the 7 days needed
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

32 tools, about 7,781 tokens to load them all · tool set 1f3b8a615788 · tools last changed 2026-11-12 · checked 2026-11-14 07:36 UTC

Tool changes

  • cotlet_browser_downloadchangeddescription
    before

    Gets the file that clicking `element` (a download link or button) or opening `url` starts: answers its name, type, size and a link valid 15 minutes; CSV, JSON and other text files also as text.

    after · 83% of words in common

    Gets the file that clicking `element` (a download link or button) or opening `url` starts, also an image or PDF it only opens: answers its name, type, size and a link valid 15 minutes; CSV, JSON and other text files also as text.

  • bloomerang_list_lapsed_donorsadded

    List lapsed donors in the user's own Bloomerang account from ChatGPT, Claude or any AI agent. Returns how to do it in Bloomerang step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Bloomerang Cloud Browser. Bloomerang's official API: Yes, Bloomerang has a REST API for server-to-server integrations, but no MCP server for AI agents (checked 22 Oct 2026).

  • bloomerang_merge_duplicate_constituentsadded

    Merge duplicate constituents in the user's own Bloomerang account from ChatGPT, Claude or any AI agent. Returns how to do it in Bloomerang step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Bloomerang Cloud Browser. Bloomerang's official API: Yes, Bloomerang has a REST API for server-to-server integrations, but no MCP server for AI agents (checked 22 Oct 2026).

  • bloomerang_create_taskadded

    Create task in the user's own Bloomerang account from ChatGPT, Claude or any AI agent. Returns how to do it in Bloomerang step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Bloomerang Cloud Browser. Bloomerang's official API: Yes, Bloomerang has a REST API for server-to-server integrations, but no MCP server for AI agents (checked 22 Oct 2026).

  • bloomerang_log_interactionadded

    Log interaction in the user's own Bloomerang account from ChatGPT, Claude or any AI agent. Returns how to do it in Bloomerang step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Bloomerang Cloud Browser. Bloomerang's official API: Yes, Bloomerang has a REST API for server-to-server integrations, but no MCP server for AI agents (checked 22 Oct 2026).

  • bloomerang_record_received_giftadded

    Record received gift in the user's own Bloomerang account from ChatGPT, Claude or any AI agent. Returns how to do it in Bloomerang step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Bloomerang Cloud Browser. Bloomerang's official API: Yes, Bloomerang has a REST API for server-to-server integrations, but no MCP server for AI agents (checked 22 Oct 2026).

  • bloomerang_search_constituentsadded

    Search constituents in the user's own Bloomerang account from ChatGPT, Claude or any AI agent. Returns how to do it in Bloomerang step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Bloomerang Cloud Browser. Bloomerang's official API: Yes, Bloomerang has a REST API for server-to-server integrations, but no MCP server for AI agents (checked 22 Oct 2026).

  • cotlet_app_guidechangeddescription
    before

    How to work in an app by clicking in the user's Cloud Browser with Cotlet's browser tools: which browser to use for this workspace and the sign-in link, the method step by step, the app's screens, menus and actions, notes, and the app's dedicated tools when Cotlet has them. Call it before the first browser step in an app. Works for any web app; one outside Cotlet's catalog gets the general method. Free, no browser session.

    after · 74% of words in common

    How to work in an app by clicking in the user's Cloud Browser with Cotlet's browser tools: which browser to use for this workspace and the sign-in link, the method step by step, the app's screens, menus and actions, notes, and the app's dedicated tools when Cotlet has them. Call it before the first browser step in an app. Works for any web app; one outside Cotlet's catalog gets the general method. Free, no browser session. For Bloomerang it covers these actions: Search constituents, Record received gift, Log interaction, Create task, Merge duplicate constituents, List lapsed donors.

  • cotlet_browser_openchangeddescription
    before

    Starts the user's Cloud Browser (a real Chrome on Cotlet, where the user is signed in to their sites) and opens `url`. Call it first. The URL goes to the site's open tab, else to a new tab, so the user's own tabs stay. Answers the page after it: the elements and text in view, with the same numbers.

    after · 71% of words in common

    Starts the user's Cloud Browser (a real Chrome on Cotlet, where the user is signed in to their sites) and opens `url`. Call it first. The URL goes to the site's open tab, else to a new tab, so the user's own tabs stay. Answers the page after it: the elements and text in view, with the same numbers. In Bloomerang it serves these actions: Search constituents, Record received gift, Log interaction, Create task, Merge duplicate constituents, List lapsed donors.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 83 / 100

no-repository
provenance55
liveness100
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-100% +updated-4d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://cotlet.dev/mcp/v1/bloomerang/connect streamable-httpoauth2 AS: https://cotlet.devyes100%182 ms–2026-11-14
https://cotlet.dev/mcp/v1/bloomerang streamable-httpapi_key ${BLOOMERANG_TOKEN}yes100%190 ms2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-052026-11-14

Tools (32)

bloomerang_create_taskread-onlyCreate task in the user's own Bloomerang account from ChatGPT, Claude or any AI agent. Returns how to do it in Bloomerang step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Bloomerang Cloud Browser. Bloomerang's official API: Yes, Bloomerang has a REST API for server-to-server integrations, but no MCP server for AI agents (checked 22 Oct 2026).
bloomerang_list_lapsed_donorsread-onlyList lapsed donors in the user's own Bloomerang account from ChatGPT, Claude or any AI agent. Returns how to do it in Bloomerang step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Bloomerang Cloud Browser. Bloomerang's official API: Yes, Bloomerang has a REST API for server-to-server integrations, but no MCP server for AI agents (checked 22 Oct 2026).
bloomerang_log_interactionread-onlyLog interaction in the user's own Bloomerang account from ChatGPT, Claude or any AI agent. Returns how to do it in Bloomerang step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Bloomerang Cloud Browser. Bloomerang's official API: Yes, Bloomerang has a REST API for server-to-server integrations, but no MCP server for AI agents (checked 22 Oct 2026).
bloomerang_merge_duplicate_constituentsread-onlyMerge duplicate constituents in the user's own Bloomerang account from ChatGPT, Claude or any AI agent. Returns how to do it in Bloomerang step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Bloomerang Cloud Browser. Bloomerang's official API: Yes, Bloomerang has a REST API for server-to-server integrations, but no MCP server for AI agents (checked 22 Oct 2026).
bloomerang_record_received_giftread-onlyRecord received gift in the user's own Bloomerang account from ChatGPT, Claude or any AI agent. Returns how to do it in Bloomerang step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Bloomerang Cloud Browser. Bloomerang's official API: Yes, Bloomerang has a REST API for server-to-server integrations, but no MCP server for AI agents (checked 22 Oct 2026).
bloomerang_search_constituentsread-onlySearch constituents in the user's own Bloomerang account from ChatGPT, Claude or any AI agent. Returns how to do it in Bloomerang step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's Bloomerang Cloud Browser. Bloomerang's official API: Yes, Bloomerang has a REST API for server-to-server integrations, but no MCP server for AI agents (checked 22 Oct 2026).
cotlet_app_guideread-onlyHow to work in an app by clicking in the user's Cloud Browser with Cotlet's browser tools: which browser to use for this workspace and the sign-in link, the method step by step, the app's screens, menus and actions, notes, and the app's dedicated tools when Cotlet has them. Call it before the first browser step in an app. Works for any web app; one outside Cotlet's catalog gets the general method. Free, no browser session. For Bloomerang it covers these actions: Search constituents, Record received gift, Log interaction, Create task, Merge duplicate constituents, List lapsed donors.
cotlet_appsread-onlyThe apps of the user's workspace and whether each works now: the app account in the user's Cloud Browser (connected, signed out, signed in but not connected), and the one step the user has to take, with the console link. Free. Needs the user's Cotlet API key or sign-in.
cotlet_balanceread-onlyThe user's current credit balance. Free. Needs the user's Cotlet API key or sign-in.
cotlet_browser_clickdestructiveClicks element `element`, or point `x`, `y` of the screenshot; `double` double-clicks, `button: right` right-clicks. Answers the page after it: the elements and text in view, with the same numbers. Says when nothing changed. A link that would open a new tab opens in this one. Buttons that pay or buy, and sign-in and account pages, are refused.
cotlet_browser_closeEnds the browser session when the task is done: the browser keeps its cookies and sleeps, and the per-minute charge stops. Answers the session's minutes and credits.
cotlet_browser_downloaddestructiveGets the file that clicking `element` (a download link or button) or opening `url` starts, also an image or PDF it only opens: answers its name, type, size and a link valid 15 minutes; CSV, JSON and other text files also as text.
cotlet_browser_dragdestructiveDrags from one element or point to another: a card between columns, a piece on a board, a slider's handle. Answers the page after it: the elements and text in view, with the same numbers.
cotlet_browser_evaluatedestructiveRuns a JavaScript function body on the page and answers what it returns, as JSON. Use it to extract data the page holds (a table, a list, attributes); act with the other tools. It cannot send requests, click, submit, or read cookies or storage; a filled field's value reads [hidden by Cotlet]. Example: return [...document.querySelectorAll('h2')].map(h => h.innerText)
cotlet_browser_fill_formdestructiveFills several fields in one step: text fields take text, drop-downs an option's label, checkboxes, radios and switches true or false. Stops at the first field that fails and names those filled. Does not send the form: click its button after. Answers the page after it: the elements and text in view, with the same numbers.
cotlet_browser_findread-onlyFinds `text` on the whole current page, frames included: the elements whose label holds it, with their numbers, and each line of text that holds it. Use it instead of reading or scrolling a long page for one thing.
cotlet_browser_hoverread-onlyRests the pointer on an element or a point, to open a hover menu, a tooltip or a preview. Answers the page after it: the elements and text in view, with the same numbers.
cotlet_browser_navigateread-onlyOpens `url` in the current tab, or goes `history` back or forward. Answers the page after it: the elements and text in view, with the same numbers.
cotlet_browser_openread-onlyStarts the user's Cloud Browser (a real Chrome on Cotlet, where the user is signed in to their sites) and opens `url`. Call it first. The URL goes to the site's open tab, else to a new tab, so the user's own tabs stay. Answers the page after it: the elements and text in view, with the same numbers. In Bloomerang it serves these actions: Search constituents, Record received gift, Log interaction, Create task, Merge duplicate constituents, List lapsed donors.
cotlet_browser_pressdestructivePresses a key on the focused element: Enter to send, Tab to the next field, Escape to close a pop-up, arrows in a list or slider, or one character (a site's shortcut). Answers the page after it: the elements and text in view, with the same numbers.
cotlet_browser_readread-onlyThe whole current page: its text (up to 20,000 characters) and a numbered list of its links, buttons, fields and other controls, open dialogs first. Use it on a new page or when a step's answer is not enough; `element` reads only inside one element (a dialog, a form, a list). Never returns field values, cookies or storage.
cotlet_browser_screenshotread-onlyA JPEG of the visible part of the page. Use it for boards, canvases, maps, charts and layout that the text does not show, then click or drag by `x`, `y` of the image.
cotlet_browser_scrollread-onlyScrolls with the mouse wheel: `down` or `up` by `screens`, to `top` or `bottom`, until `element` is in view, or inside a panel or list (`inside`). Content that loads on scroll appears. Answers the page after it: the elements and text in view, with the same numbers.
cotlet_browser_selectdestructiveChooses `option` (its label as listed, or its value) in drop-down `element`. For a home-made drop-down, click it, then click the option. Answers the page after it: the elements and text in view, with the same numbers.
cotlet_browser_tabsThe tabs of the user's web browser, where they keep their signed-in sites open. `list` (default) answers each tab's id, URL and title and which is shown; `switch` with `tab` shows that tab, and every later step acts on it; `new` with `url` opens a tab (at most 8); `close` with `tab` closes it. Work in the tab of the site the task is about and close only the tabs you opened.
cotlet_browser_typedestructiveTypes `text` into field `element`, replacing what it held; `submit` presses Enter after it. For several fields use fill_form. Without `element` the text goes where the focus is, as a person types after clicking: for spreadsheet cells and editors that read does not number (Google Sheets, Docs), click the place first; there a tab in `text` presses Tab and a line break Enter, so one call fills a table. Answers the page after it: the elements and text in view, with the same numbers. Password, card and one-time code fields are refused: the user types them.
cotlet_browser_uploaddestructivePuts files into file field or upload button `element`: each file is {"url": "https://..."} or {"file_id": "..."} of a file uploaded to Cotlet; up to 10 files, 20 MB each. Answers the page after it: the elements and text in view, with the same numbers.
cotlet_browser_waitread-onlyWaits until `text` shows on the page (at most `seconds`, default 5, up to 20), or just `seconds`: for results that load slowly. Says whether the text appeared. Answers the page after it: the elements and text in view, with the same numbers.
cotlet_get_callread-onlyStatus of an earlier Cotlet call, by its call_id: pending (waits for the owner's approval in the Cotlet console), approved, running, success, rejected, expired, blocked or failed. For a call that answered with status pending or running.
cotlet_report_issueSends a report to the Cotlet team: a tool that failed or returned wrong data, an error you could not get past, or a step the browser could not do, with the page, the step and what you saw. A missing dedicated tool is not a problem to report: do the task in the browser. A feature the user asks for goes as feature_request. A report promises nothing: tell the user it was sent, never that something will be built or fixed, or when. The report carries the error text and call_id when there is one, never passwords or tokens. Needs the user's Cotlet API key or sign-in.
cotlet_upload_fileReturns a one-time upload_url and a file_id for a local file (an image for a post, an attachment). The file is sent to upload_url with an HTTP PUT; an argument that takes a file accepts {"file_id": "..."}. Up to 25 MB, the URL works once. Free. Needs the user's Cotlet API key or sign-in.
cotlet_whoamiread-onlyThe Cotlet account this connection acts as: email, workspace, access status, the API key or OAuth client in use with its scope, the apps the workspace may call and its credit balance. Free. Needs the user's Cotlet API key or sign-in.

Schemas: list_tools.

Similar MCP servers

More from dev.cotlet

And 394 more from this publisher.

Official server.json
{
  "name": "dev.cotlet/bloomerang",
  "icons": [
    {
      "src": "https://cotlet.dev/icon-512.png",
      "sizes": [
        "512x512"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "Bloomerang MCP Server and API by Cotlet",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://cotlet.dev/mcp/v1/bloomerang/connect",
      "type": "streamable-http"
    },
    {
      "url": "https://cotlet.dev/mcp/v1/bloomerang",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "isRequired": true,
          "description": "Bearer followed by your Cotlet API key (cotlet.dev → API keys)"
        }
      ]
    }
  ],
  "version": "1.0.2",
  "websiteUrl": "https://cotlet.dev/integrations/bloomerang-api-mcp-server",
  "description": "Bloomerang nonprofit donor CRM MCP server: search constituents, record received gift."
}