{"ok":true,"site":{"host":"nagara-webmcp.vercel.app","url":"https://nagara-webmcp.vercel.app/create","type":"live","desc":"A Bengaluru map that a person and a WebMCP agent share. You add a photo and an area name. The app matches the GBA ward, pins the voice, and shows public stormwater, lake, and UGD records next to it.","tools":[{"name":"list_ui_actions","kind":"answer","impl":"imperative","description":"Start here. Lists every meaningful link, button, form control, map action, and its matching WebMCP tool for the current Nagara page.","title":"List visible Nagara actions","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/create"},{"name":"navigate_app","kind":"act","impl":"imperative","description":"Use Nagara navigation and call-to-action links without guessing at the DOM. Opens the home, city overview, filing map, How it works section, agent guide, or latest voice.","title":"Navigate Nagara","inputSchema":{"type":"object","properties":{"destination":{"type":"string","enum":["home","overview","map","how-it-works","agent-guide","latest-voice"],"description":"The labeled destination to open."}},"required":["destination"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/create"},{"name":"get_workspace_state","kind":"answer","impl":"imperative","description":"Read Nagara first. Returns voice counts, the selected pin, and the filing form (photo, area name, title, body, category).","title":"Read the Nagara workspace","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/create"},{"name":"set_draft","kind":"act","impl":"imperative","description":"Fill the filing form the human can see. Pass areaName (HSR Layout, Bellandur, Whitefield) and optional photoUrl, title, body, category. Then call file_voice.","title":"Fill the visible filing form","inputSchema":{"type":"object","properties":{"photoUrl":{"type":"string","format":"uri","description":"Public evidence image URL."},"photoName":{"type":"string","description":"Human-readable evidence filename."},"areaName":{"type":"string","description":"Bengaluru locality, for example HSR Layout."},"title":{"type":"string","description":"Short, factual civic issue title."},"body":{"type":"string","description":"What failed and what the evidence shows."},"category":{"type":"string","enum":["flooding","water","lakes","works","encroach","footpaths","lights","waste","other"]},"lng":{"type":"number"},"lat":{"type":"number"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/create"},{"name":"select_category","kind":"act","impl":"imperative","description":"Press one of the visible issue-category chips on the filing form. The selected chip updates immediately.","title":"Choose an issue category","inputSchema":{"type":"object","properties":{"category":{"type":"string","enum":["flooding","water","lakes","works","encroach","footpaths","lights","waste","other"]}},"required":["category"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/create"},{"name":"clear_draft","kind":"act","impl":"imperative","description":"Clear the visible evidence, area, title, description, category, and coordinates from the filing form.","title":"Clear the filing form","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/create"},{"name":"attach_photo","kind":"act","impl":"imperative","description":"Host a public image URL through UploadThing and put it on the form. Use this when Codex or ChatGPT has a photo URL. Then set_draft areaName and file_voice.","title":"Attach an evidence photo","inputSchema":{"type":"object","properties":{"photoUrl":{"type":"string","format":"uri"},"name":{"type":"string"}},"required":["photoUrl"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/create"},{"name":"resolve_ward","kind":"answer","impl":"imperative","description":"Resolve a Bengaluru area name or lng/lat to a GBA ward and corporation.","title":"Resolve a GBA ward","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"areaName":{"type":"string"},"lng":{"type":"number"},"lat":{"type":"number"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/create"},{"name":"classify_issue","kind":"act","impl":"imperative","description":"Suggest Flooding, Water, Lakes, or Works from a caption. Pass caption if the form is still empty. Never default to pothole or waste.","title":"Classify a civic issue","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"caption":{"type":"string"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/create"},{"name":"file_voice","kind":"act","impl":"imperative","description":"File the voice and drop a pin. Needs a photo (photoUrl or the form) and an area name. Resolves the ward, classifies if needed, then selects the new pin.","title":"File a civic voice","inputSchema":{"type":"object","properties":{"title":{"type":"string"},"body":{"type":"string"},"areaName":{"type":"string"},"category":{"type":"string","enum":["flooding","water","lakes","works","encroach","footpaths","lights","waste","other"]},"lng":{"type":"number"},"lat":{"type":"number"},"photoUrl":{"type":"string","format":"uri"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/create"},{"name":"use_current_location","kind":"act","impl":"imperative","description":"Equivalent to the visible Use my location button. Requests browser geolocation, updates the visible draft coordinates, and resolves the matching GBA ward. The browser may ask the person for permission.","title":"Use the resident's location","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/create"},{"name":"list_voices","kind":"answer","impl":"imperative","description":"List civic voices, optionally filtered by ward, category, or status.","title":"List civic voices","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"wardId":{"type":"string"},"category":{"type":"string","enum":["flooding","water","lakes","works","encroach","footpaths","lights","waste","other"]},"status":{"type":"string"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/create"},{"name":"get_voice","kind":"answer","impl":"imperative","description":"Read one voice: photos, ward, supporters, timeline, related public records.","title":"Read a civic voice","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"voiceId":{"type":"string"}},"required":["voiceId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/create"},{"name":"focus_voice","kind":"act","impl":"imperative","description":"Pan the shared map to a voice so the human and agent look at the same pin.","title":"Focus a map pin","inputSchema":{"type":"object","properties":{"voiceId":{"type":"string"}},"required":["voiceId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/create"},{"name":"support_voice","kind":"act","impl":"imperative","description":"Join this voice instead of filing a duplicate.","title":"Join a civic voice","inputSchema":{"type":"object","properties":{"voiceId":{"type":"string"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/create"},{"name":"list_related_tenders","kind":"answer","impl":"imperative","description":"Return public stormwater, lake, UGD, and water records for an area or category.","title":"List related public records","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"areaName":{"type":"string"},"wardId":{"type":"string"},"category":{"type":"string","enum":["flooding","water","lakes","works","encroach","footpaths","lights","waste","other"]},"query":{"type":"string"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/create"},{"name":"get_link_target","kind":"answer","impl":"imperative","description":"Resolve the URL behind Nagara's visible Source, live app, or selected public-record link so the agent can open it deliberately.","title":"Get a visible link target","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"link":{"type":"string","enum":["source-code","live-app","selected-record"]}},"required":["link"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/create"},{"name":"enrich_source","kind":"act","impl":"imperative","description":"Firecrawl-scrape an allowlisted civic URL (OpenCity, karnatakatenders.in, The News Minute) into JSON.","title":"Enrich a civic source","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"url":{"type":"string","format":"uri"}},"required":["url"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/create"},{"name":"refresh_tenders","kind":"act","impl":"imperative","description":"Pull live OpenCity stormwater and lake records into the map catalog.","title":"Refresh public records","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/create"}],"favicon":"/favicons/nagara-webmcp.vercel.app.ico","apiSurface":"spec","category":"Productivity & Business","toolCount":19}}