Grant Scout is a live, search-grounded funding research agent for solo, non-incorporated founders — every answer comes from a real SerpApi/grants.gov search, reasoned by Gemini, with real cited sources, never invented.
Why this is a strong fit for WebMCP
Grant Scout already solves a real problem for a real audience (solo founders finding funding they can actually apply for). WebMCP lets us extend that from "a page a human visits" to "a real capability an agent can call directly" — without building a second, parallel, disconnected demo.
What's new for this challenge
The app's existing live search — the exact same pipeline a human visitor triggers by typing a question and pressing Send — is now registered as a real WebMCP tool via document.modelContext.registerTool():
document.modelContext.registerTool({
name: "search_funding_programs",
description: "Search for real, currently-open funding programs ...",
inputSchema: { type: "object", properties: { query: { type: "string" } }, required: ["query"] },
execute: async (input) => {
const data = await runQuery(input.query); // the SAME function the UI form calls
return { answer: data.answer, sources: data.sources };
},
});
An agent-native browser (ChatGPT's in-app browser, or Chrome 149+ with chrome://flags/#enable-webmcp-testing) can now call search_funding_programs directly and get back a real, live, cited answer — the identical pipeline a human sees, not a mock or a shadow path. The tool call drives the same visible UI state (pipeline ticket, rendered answer, sources) that a human's own search would, so the page stays truthful about what just happened.
Feature-detected: on any browser without WebMCP support, this code no-ops entirely — zero effect on the default experience.
What people and agents can now do together that was hard before
Before: a founder had to remember to visit Grant Scout, type their situation, and read the results themselves. After: an agent working on a founder's behalf — inside a WebMCP-aware browser — can call the real search directly as part of a larger task (e.g., "find me funding I don't need a company for, then draft an application checklist"), grounded in the same live, cited, non-fabricated results a human would get.
How it works (full stack)
Agent: Google's Agent Development Kit (google-adk), a single Agent with two live-grounding tools — SerpApi's Google Search API and grants.gov's public Search API, chosen deterministically based on whether the question signals US federal funding.
Reasoning: gemini-flash-lite-latest reviews only the real returned results and cites every claim to a real source URL.
Backend: Vercel Python serverless function (frontend/api/chat.py).
Frontend: Next.js 16, React 19, Tailwind CSS v4.
WebMCP: frontend/components/gs/TryIt.tsx registers the tool in a useEffect, sharing its query-execution logic with the human-facing form via a single runQuery function — one pipeline, two callers.
Try it live
https://grant-scout-jayblast.vercel.app — the human UI. The WebMCP tool registers automatically in any WebMCP-capable browser visiting the same page.
Repo: https://github.com/jayblast-spec/grant-scout (see frontend/components/gs/TryIt.tsx for the tool registration)
Built With
- gemini
- google-adk
- nextjs
- python
- react
- typescript
- vercel
- webmcp
Log in or sign up for Devpost to join the conversation.