integrations tools profundo

    ProFundo MCP for your AI agent

    Cogny's ProFundo integration exposes 8 tools (8 read) to an AI agent over MCP. The same tools are available on every plan, from your own AI client or inside the Cogny app.

    • 8readonly reads data.
    • 0writecreates or changes something.
    • 0destructivedeletes, removes or replaces something.

    Over MCP your own AI client asks before it runs a write. To take a tool away from your agent, block it in Settings → Integrations. Plans, approvals and limits

    set it up.

    Add Cogny to your AI client once, then connect ProFundo in Cogny. Every ProFundo tool below appears in the client.

    • Claude CodeRun claude mcp add --transport http cogny https://app.cogny.com/mcp, then authorise in the browser.
    • Claude.aiSettings → Connectors → Add custom connector, URL https://app.cogny.com/mcp, then log in and pick your workspace.
    • ChatGPTSettings → Apps → Advanced settings → Developer mode → Create app, URL https://app.cogny.com/mcp, authentication OAuth.
    • CursorIn Cogny, Settings → Data & Integrations → Connect AI Clients shows the block to paste into .mcp.json, with an API key.
    • CodexRun codex mcp add cogny --url https://app.cogny.com/mcp.

    Full setup, and how to undo it

    Notes

    ProFundo connects through the data-export web service ProFundo sets up for your organisation (the same one they offer for Power BI). Ask ProFundo support to set it up. They send you an API key, and you enter it in Cogny together with your ProFundo address (the part before .profundo.se, for example yourorg for yourorg.profundo.se). ProFundo decides which tables and fields the key can read. get_data_overview shows what your organisation exports.

    Everything is read-only. Nothing is written back to ProFundo.

    National ID numbers, names, phone numbers, e-mail addresses and street addresses are removed in the integration before any AI model sees the data. Personal numbers, e-mail addresses and phone numbers are also masked inside free-text fields such as agreement comments. Postal code, city, municipality, county and birth year are kept for segmentation. Every table links to the donor through constituentId, so unique donors are counted with count_distinct: ["constituentId"].

    aggregate_records totals a table by any field, for example donations per campaign and month, new monthly donors per week, or ended agreements by end reason. On activities it can group by utm_source, utm_medium, utm_campaign, utm_content and utm_term read from the UTM codes in text4. The list tools return up to 1,000 rows per call and page with page_token. They can also return only the rows changed since a date (updated_since).

    Known gaps

    • ProFundo's web service has no filters other than "changed since a date", so a total over a whole table reads it page by page, about 1,000 rows a second. A large table takes several calls: the answer says complete: false and gives a continue_token, and the next call reads on with the totals carried over. Unique counts (count_distinct) can't be carried over, so leave them out of a whole-table total. A date range on paymentDate or createdDate reads only the rows changed since its start, which is usually one call.
    • No search for a single donor and no donor history view. Rows can only be listed and totalled.
    • Names, national IDs and contact details are never available, even if your key can read them.
    • The tables and fields come from ProFundo's export, not from the full CRM. To get a field that's missing, ask ProFundo to add it to your web service.

    what each tool does.

    Read 8 · only reads data

    • get_data_overviewReadSee which ProFundo CRM tables your organisation exports and the fields each one has.
    • list_constituentsReadList donors and members from ProFundo CRM with their campaign, region, birth year and start/end dates.
    • list_paymentsReadList incoming donations and payments from ProFundo CRM with date, amount, campaign and payment method.
    • list_payment_postingsReadList how ProFundo payments were split across projects and products (gift type, membership), one row per posting.
    • list_recurring_agreementsReadList monthly giving, membership and other recurring agreements from ProFundo CRM with status, amounts and end reasons.
    • list_activitiesReadList activities registered on donors in ProFundo CRM, with type, channel, campaign, product and UTM codes.
    • list_campaignsReadList the fundraising campaigns defined in ProFundo CRM.
    • aggregate_recordsReadTotal ProFundo CRM data by campaign, channel, payment method, period or any other field.

    Exact input schemas come from tools/list once ProFundo is connected; the free plan is enough to check. Missing something? Your agent can ask for it with request_feature.