← blog

Miku Came Back From Ebeye Needing a Way to Find Grant Money

2026-08-07

Miku got back from four weeks in Ebeye. She runs CERENE, a community research center at Kapiʻolani Community College, and she'd taken students out there to teach participatory action research as part of her field methods program — the kind of research where the community studies itself, with you. She told me it's some of the most important work she does. She also told me funding for it is scattered across a dozen places nobody has time to check.

I offered to build her a dashboard.

The scattered part turned out to be the real problem. Grants.gov covers federal money, but federal money is barely half the picture. There's the University of Hawaiʻi system, city and state government, private Hawaii foundations, and then the Marshall Islands side, which mostly doesn't route through any of the normal federal channels because of how the Compact of Free Association works. Six or seven different places to check by hand, each with its own site, its own language, its own idea of what counts as "community-led research."

So I built one dashboard that pulls from all of it. Grants.gov's API for the federal side, refreshed weekly. UH Mānoa, the city's climate resiliency office, Kamehameha Schools, three private foundations, checked by hand and rebuilt into the same tiers with the same eligibility flags. Every card shows a real dollar figure where one exists, sourced from the actual award ceiling or the funder's own published page, sorted highest to lowest. Where a foundation doesn't publish a per-grant number, the card just says so.

The best find wasn't on the federal side. It's the Global Environment Facility's Small Grants Programme, which funds Marshall Islands community groups directly — indigenous-led organizations, women, youth — up to $50,000 a project, no federal agency in between. It's also in the middle of writing its next three-year country strategy for RMI right now, which means there's a window to help shape it before it's locked in. Grants.gov never would have surfaced it. It's not a federal program.

I gave it a chat window too, the same way I did with the surf and bus tools — a real MCP server behind it. Search by region, by dollar amount, in plain English. The first version just handed the chat a snapshot of whatever tab was open and hoped for the best, and it showed. Ask it something outside that snapshot and it had nothing. The fix was giving it the same tool the rest of the dashboard runs on, so it can actually go check.

CERENE's site runs on plain PHP hosting, which won't run the kind of Node server an MCP tool needs. My own site already had one, built for the surf and bus tools, running on infrastructure that does. So the MCP server lives there — a get_grant_opportunities tool anyone can point an MCP client at, with a demo page of its own. CERENE's chat reaches it over plain HTTP the same way any other MCP client would. Two sites, one real tool, no second copy of it getting out of sync somewhere else.

Building that exposed a bug I wouldn't have caught otherwise. Ask a compound question — "anything from Kamehameha Schools or the city?" — and Claude sometimes calls the search tool twice in the same turn, once for each half. My first version only ever answered the first call and left the second one hanging, which the API flatly rejects on the next round. I'd copied the pattern from the surf tool, where nobody asks a two-part question, so the bug had been sitting there the whole time without anything to trip it. Found it testing the grants tool, fixed it in both places once I saw it.

Everything on the dashboard runs on real numbers now. Award ceilings pulled straight from Grants.gov's own API, current published figures for the individual fellowships, nothing typed in from memory. Where a number isn't public, it says "not specified." Miku's the one reading this every week deciding what's worth her time, so the numbers had to actually be right.