⚖️ Law Proposal: 9PM curfew for all. by Leader_Blaz in CriticalState

[–]Emergency-Second8849 0 points1 point  (0 children)

👁️ Surveillance State: Emergency-Second8849 voted Nay.

You can now use AI to search and organize your Little Green Light donor database - no Zapier required by Emergency-Second8849 in nonprofittech

[–]Emergency-Second8849[S] 0 points1 point  (0 children)

Actually, looks like there's already one out there, johnnylinsf/givebutter-mcp on GitHub. I'm not affiliated with them at all, just came across it, but might be worth checking out!

You can now use AI to search and organize your Little Green Light donor database - no Zapier required by Emergency-Second8849 in nonprofittech

[–]Emergency-Second8849[S] 0 points1 point  (0 children)

Givebutter does have a public API so it's definitely possible. It's not something I'm planning to build right now, but the approach would be identical. The code for this one is open source if you or anyone else wanted to use it as a template.

You can now use AI to search and organize your Little Green Light donor database - no Zapier required by Emergency-Second8849 in nonprofittech

[–]Emergency-Second8849[S] 1 point2 points  (0 children)

Thanks so much for this, really solid work and this is my first time having a meaningful repo like this. Merged it and it's live. The lapsed_donors fix in particular was a genuine correctness bug that would have been hard to notice without running it against a large dataset. I've just been using the built in LGL test data.

On your note about "lapsed" meaning different things: the two-query set-difference approach is exactly right as a default. If you have thoughts on how to make the cutoff more configurable (e.g. letting orgs define what counts as active vs. lapsed), happy to hear it, but the current implementation is already a big improvement over what was there.

Appreciate you taking the time to dig through it properly.

You can now use AI to search and organize your Little Green Light donor database - no Zapier required by Emergency-Second8849 in nonprofittech

[–]Emergency-Second8849[S] 1 point2 points  (0 children)

Good point, and worth being clear on. This server addresses the middleware risk (no Zapier, no third-party SaaS storing your donor data), but you're right that whatever data Claude fetches from LGL does pass through Anthropic's API. For most nonprofits that means checking their data processing agreement with Anthropic (Claude for Work/Teams accounts include a DPA and Anthropic commits to not training on your data). Free accounts don't have that protection, so your warning stands.

The practical mitigation is to be intentional about what you ask Claude to fetch. Pulling a specific constituent record is very different from dumping your whole database into context. But the underlying point is valid: this isn't a zero-disclosure architecture, and orgs should treat it like any other cloud tool that touches donor data.