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

Share this project:

Updates