Namaste America

us.namasteamericaPublished by namasteamerica.usOfficial publisherv0.1.0Updated Oct 27, 2026

Agent-first directory for Indians from India in the USA — restaurants, temples, events & more.

Overview

AI-generated overview

Remote directory of Indian-American businesses and community listings in the USA, letting an assistant search restaurants, temples, groceries, events and more.

What you can do
  • Find restaurants, temples, groceries, professionals, salons, apparel and sweets shops, studios, services, community organizations and legal listings by location, radius, city or state, with filters such as region, dietary tags, open now and keywords
  • Run free-text and semantic searches per category, plus a cross-vertical search across all categories
  • Fetch full canonical records with version history for a single listing
  • Read published community reviews and rolled-up ratings for a listing
  • Submit a community review or propose a correction to a listing field
  • Search US employers that sponsor H-1B visas and list Indian-language movies in US theaters
When to use it
Useful when an assistant needs US-based Indian diaspora information: finding a nearby temple, vegetarian restaurant, grocery store, immigration attorney or upcoming garba or Diwali event, or answering questions about H-1B-sponsoring employers and Indian-language cinema.
Requirements
Remote streamable-HTTP endpoint; no installation, authentication, API key or environment variables are declared. Network access to the hosted service is required.
Before you install
The submit_review and submit_correction tools write data to the directory, so reviews and proposed edits are public and may be moderated. Listings are partly harvested from public sources such as OpenStreetMap and Wikidata, so details can be incomplete or inaccurate; featured listings are surfaced first in results.

Installation

In SourceWeft

  1. Open Namaste America in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/us.namasteamerica%2Fnamaste-america/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "namaste-america": {
      "type": "http",
      "url": "https://namasteamerica.us/mcp"
    }
  }
}

README

Indian–American Diaspora MCP Server

Agent-first, agent-only data layer for the Indian-American diaspora. Phase 1: Indian restaurants (USA). This repo is the walking skeleton from the architecture blueprint:

  • MCP server exposing restaurant capabilities (get_indian_restaurants, get_restaurant_details, search_restaurants_by_text, find_unclaimed_restaurants, draft_claim_outreach, submit_correction), temple capabilities (get_indian_temples, get_temple_details, search_temples_by_text) and grocery capabilities (get_indian_groceries, get_grocery_details, search_groceries_by_text) professional capabilities (get_indian_professionals, …), salon capabilities (get_indian_salons, …), and a cross-vertical search_all that searches every vertical at once (each result tagged with its vertical).
  • Data pipeline: scrape → raw → clean/enrich/score → approval queue → canonical table → versioning.
  • One real scraper: OpenStreetMap Overpass (public, ODbL-licensed, no login, ToS-safe).
  • Storage: PostgreSQL (+ pgvector for future embedding search) via Docker Compose.

Connect (live MCP server)

The hosted server is remote (no install) over streamable‑HTTP:

  • Endpoint: https://namasteamerica.us/mcp (transport: streamable-http, auth: none, read‑only)
  • Descriptor: https://namasteamerica.us/.well-known/mcp.json · Docs: https://namasteamerica.us/for-agents
json
{ "mcpServers": { "namaste-america": { "type": "streamable-http", "url": "https://namasteamerica.us/mcp" } } }

Tools (per vertical: restaurants, temples, groceries, professionals, salons, events, apparel, sweets, studios, services, community, legal, education, real estate, finance): get_indian_<category>, search_<category>_by_text, get_<category>_details, and a cross‑vertical search_all. Each result is JSON with address, geo, hours, contact, ratings, and languages.

Publishing to the official MCP registry: the manifest is server.json (namespace us.namasteamerica, verified via DNS). Install the CLI (mcp-publisher), authenticate the domain (mcp-publisher login dns --domain namasteamerica.us, then add the TXT record it prints), and run mcp-publisher publish.

Architecture (Phase 1)

 OSM Overpass ──▶ restaurant_raw ──▶ clean()+score() ──▶ approval_queue ──▶ restaurants   (scraper)        (JSONB)            (pipeline)         (high-risk only)   (canonical)                                                                                 │                                                                                 ▼                                                                        restaurant_versions                                                                                 │                                                                                 ▼                                                                     MCP tools (FastMCP)

Low-risk new inserts are auto-applied (configurable); updates to claimed/featured listings are routed to the human approval queue.

Quick start

Requires Docker Desktop and Python 3.11+.

powershell
# 1. Start Postgres (with pgvector)docker compose up -d
# 2. Create a virtualenv and installpython -m venv .venv.\.venv\Scripts\Activate.ps1pip install -e .
# 3. Configure envcopy .env.example .env   # default DATABASE_URL already points at the docker container
# 4. Initialise the schemapython -m indo_usa_mcp.cli init-db
# 5. Scrape one metro from OpenStreetMap, then process raw -> canonicalpython -m indo_usa_mcp.cli scrape --metro bay_areapython -m indo_usa_mcp.cli process
# 6. Inspectpython -m indo_usa_mcp.cli stats
# 7. Run the MCP server (stdio transport)python -m indo_usa_mcp.server

CLI

CommandPurpose
init-dbApply SQL migrations (extensions, tables, indexes).
scrape --metro <name>Run the OSM scraper for a metro bbox into restaurant_raw.
processClean/score unprocessed raw rows; auto-apply low-risk, queue high-risk.
approvalsList pending approval-queue items.
approve <id> / reject <id>Resolve an approval item.
outreach [--limit N]Draft claim outreach for unclaimed restaurants (creates claim links + messages).
verify-claim <token>Owner-side: verify a claim token and take ownership.
agentsList the registered autonomous agents.
agent <name>Run one agent now (audited in agent_runs).
agents-loop [--once]Run the scheduler (worker loop over due agents).
query [--city/--text/--lat --lng/--id/...]Call the MCP tool functions from the terminal.
seedLoad fictional seed restaurants for local testing (no scrape needed).
enrichBackfill region/dietary cultural tags on under-tagged restaurants.
deactivate-stale [--days 60]Mark unclaimed listings not seen recently as inactive.
approval-digestHuman-readable summary of the pending approval queue.
feedback --id N --field F --value VSubmit a field correction (applied by the feedback agent).
scrape --metro usaNationwide sweep (occasional; slower than a single metro).
feature --id N [--days 30 | --permanent]Mark a paid featured listing.
unfeature --id NRemove a featured listing.
backfill-embeddings [--all](Re)compute embeddings for canonical rows.
statsRow counts and coverage summary.

Monetization & delivery

  • Featured listings (feature/unfeature) — a paid tier; effectively-featured rows (flagged and within their featured_until window) surface first in every tool result.
  • Stripe checkout (optional) — claimed owners get a "Get Featured" button → Stripe Checkout → a signature-verified webhook (/stripe/webhook) auto-features them. Disabled until STRIPE_SECRET_KEY is set (then it's pay-per-sale, no monthly fee). See DEPLOY.md.
  • Outreach email delivery — optional and zero-cost: set Gmail SMTP + an app password in .env (see .env.example) and the Outreach Agent will auto-send claim emails to restaurants that have a public email; otherwise it stays draft-only.
  • Enrichment agent — strengthens the cultural "data moat" by inferring region/dietary tags from restaurant names (free, keyword-based).

Coverage spans 15 metros (Bay Area, NYC/NJ, Dallas, Houston, Chicago, LA, Seattle, Atlanta, Phoenix, Austin, Boston, Philadelphia, Raleigh, Detroit, Central NJ) plus an on-demand nationwide sweep (scrape --metro usa).

WhatsApp outreach is delivered as free click-to-send wa.me links (message pre-filled); true auto-send WhatsApp needs a paid API and is intentionally not used.

Trying it without a live scrape

powershell
python -m indo_usa_mcp.cli init-dbpython -m indo_usa_mcp.cli seed     # 12 fictional restaurants across the 5 metrospython -m indo_usa_mcp.cli stats

Then exercise the MCP tools (e.g. get_indian_restaurants near the Bay Area, or search_restaurants_by_text "vegetarian dosa").

Search quality (for LLM agents)

Records are optimized for agent retrieval:

  • Natural-language description per record (e.g. "Saffron House is a Gujarati Indian restaurant in Edison, NJ. Offers vegetarian, jain options. Price: $$.") — generated from the structured fields, returned to agents, and used as the text that gets embedded.
  • Reverse-geocoded location — missing city/state are filled offline from coordinates (reverse_geocoder), so "near me / in " queries work for every record.
  • Keyword + attribute tags (e.g. biryani, dosa, halal, delivery, takeout, outdoor-seating, wheelchair-accessible, wifi, cards-accepted, organic) — derived from names and rich OSM attributes; agents filter with tag=..., and they boost embedding recall + appear in the description ("Amenities: …").
  • open_now — opening_hours are parsed into structured per-day intervals; each result carries an open_now flag (true/false/null) and the tools accept an open_now=true filter, enabling "what's open near me right now".
  • Dedup-merge — the admin Quality view lists duplicate groups with a one-click merge (fills the keeper's empty fields, soft-deletes the rest).

search_*_by_text ranks by embedding cosine distance (pgvector <=>), falling back to trigram. Providers (EMBEDDING_PROVIDER):

  • hashing (default) — feature-hashing, zero extra deps; lexical.
  • fastembed (recommended, prod default) — real semantic embeddings via BAAI/bge-small-en-v1.5 (384-dim, ONNX, no torch). The Docker image includes it and the prod compose defaults EMBEDDING_PROVIDER=fastembed; after deploying run python -m indo_usa_mcp.cli enhance-data once to re-embed existing rows. Set EMBEDDING_PROVIDER=hashing if the VPS is RAM-constrained.
  • sentence_transformers — all-MiniLM-L6-v2 (heavier, pulls torch).
  • none — trigram only.

enhance-data (re)generates descriptions, fills geocoding, and re-embeds existing rows — run it after enabling a new embedder. New records get all of this automatically on ingest.

Outreach & claiming (blueprint §7)

powershell
# Draft claim messages + single-use claim links for unclaimed restaurantspython -m indo_usa_mcp.cli outreach --limit 10
# Later, an owner verifies their claim token (normally via the claim web page)python -m indo_usa_mcp.cli verify-claim <token> --email [email protected]

After claiming, owners get an edit page (/manage?token=...) to update their phone, hours, menu, price, dietary tags, etc. — changes go live immediately and are protected from scraper overwrites (scraper updates to claimed listings route to the approval queue). Stale listings not re-seen for 60 days are auto-deactivated (is_active=false) and reactivated if they reappear in a later scrape.

The Outreach Agent finds unclaimed restaurants (skipping anything with an open claim or contacted within OUTREACH_COOLDOWN_DAYS), creates a single-use claim token + link, and drafts an honest, opt-out-friendly message per restaurant. Messages are not auto-sent — delivery needs channel integrations, and chains / featured / high-value targets are flagged requires_human. Once an owner verifies, restaurants.is_claimed flips to true and future scraper updates to that listing are routed to the approval queue. Agents can drive this via the find_unclaimed_restaurants and draft_claim_outreach MCP tools.

Autonomous agents (blueprint §6)

Each agent wraps a pipeline step, is idempotent, and writes a full audit row to agent_runs (errors captured, never half-written canonical data).

AgentDoes
discoveryReports metro coverage and proposes scrape targets.
scraperRuns every scraper across every metro into restaurant_raw.
cleanerProcesses raw → canonical via clean/score/approval.
outreachDrafts claim outreach for eligible unclaimed restaurants.
monitoringDetects anomalies (backlogs, scraper failures, stale data) → agent_alerts.
submissionSubmits the MCP to directories (manual stub for now).
powershell
python -m indo_usa_mcp.cli agents              # list agentspython -m indo_usa_mcp.cli agent scraper       # run one, auditedpython -m indo_usa_mcp.cli agents-loop --once  # one scheduler pass (scrape→clean→monitor…)python -m indo_usa_mcp.agents.scheduler        # long-lived scheduler (VPS worker)

Data sources

Two independent public scrapers feed the pipeline: osm_overpass (OpenStreetMap, ODbL) and wikidata (Wikidata SPARQL, CC0). Pick one with scrape --source <name>; the Scraper Agent runs both.

Phase 2: Temples vertical

An independent vertical (Hindu/Sikh/Jain places of worship) sharing the same pipeline, agents, embeddings and deployment — per the blueprint's "independent verticals, shared infra" principle. Own table (temples), own OSM scraper (amenity=place_of_worship + religion), own agents (temple_scraper, temple_cleaner), own MCP tools. Cultural enrichment infers deity (Venkateswara, Krishna, Lakshmi…) and region (Punjabi for Sikh, Gujarati for Swaminarayan, Telugu for Venkateswara…) from the name.

powershell
python -m indo_usa_mcp.cli temples-scrape --metro bay_areapython -m indo_usa_mcp.cli temples-processpython -m indo_usa_mcp.cli temples-statspython -m indo_usa_mcp.cli temples-query --religion hindu --city Fremontpython -m indo_usa_mcp.cli temples-query --text "swaminarayan gujarati mandir"

Phase 2: Groceries vertical

Same recipe as temples — independent groceries table + OSM scraper (grocery-type shops whose name signals Indian groceries: Patel, India, Apna, Swad, Masala…) + own agents (grocery_scraper, grocery_cleaner) + 3 MCP tools. Infers store_type and region_tag.

powershell
python -m indo_usa_mcp.cli groceries-scrape --metro bay_areapython -m indo_usa_mcp.cli groceries-processpython -m indo_usa_mcp.cli groceries-query --city Fremontpython -m indo_usa_mcp.cli groceries-query --text "patel brothers indian grocery"

Admin dashboard, reporting & owner portal

The web app (:8080) now serves three audiences:

  • Public/owner — /, /claim, /manage, /upgrade (existing)
  • Admin (/admin/*, password-gated) — overview KPIs, cross-vertical data control (browse/search/edit/feature/deactivate/soft-delete), Geography drill-down (country → state → city, click to filter records), Quality control (records flagged for missing region/contact/geo/city + duplicate groups, with a one-click city/state normalizer), approvals & feedback queues, agents (last-run health, run-now, resolve alerts), Traffic (every MCP tool call logged: by tool / agent-client / day, plus most-shown listings), payments, and reports. Set ADMIN_PASSWORD to enable; blank disables it.
  • Owners see a reach number per listing in the portal ("shown N times by AI assistants", from per-listing impression tracking) — a concrete hook for selling featured placement.
  • Customer portal (/portal/*) — owners sign in via passwordless magic-link email and manage all their listings across verticals (edit, featured status, upgrade).

Daily report: the reporting agent computes a health + growth snapshot nightly into daily_reports, shows it on /admin/reports, and emails it (via SMTP) to REPORT_EMAIL. Run on demand with python -m indo_usa_mcp.cli report.

Security: enable HTTPS (the Caddy tls profile) and set a strong ADMIN_PASSWORD + random SECRET_KEY before exposing /admin publicly.

Phase 2: Professionals vertical (doctors/health)

Indian-American healthcare professionals — doctors, dentists, clinics, pharmacies — found from OSM healthcare amenities + an Indian-name signal (surnames / Ayurveda). Same recipe as the other verticals: own professionals table, scraper, agents (professional_scraper, professional_cleaner), 3 MCP tools, plus profession_type/speciality filters. Because name-matching is heuristic, each record carries a confidence_score and the admin Quality view helps curate false positives.

powershell
python -m indo_usa_mcp.cli professionals-scrape --metro bay_areapython -m indo_usa_mcp.cli professionals-processpython -m indo_usa_mcp.cli professionals-query --type dentist --city "San Jose"

Phase 2: Salons vertical (beauty / threading)

Indian beauty salons — eyebrow threading, henna/mehndi, hair, bridal — from OSM hairdresser/beauty shops with a strong South-Asian service/name signal. Same recipe; tags capture services (threading, henna, bridal…). Best OSM coverage of the verticals so far.

powershell
python -m indo_usa_mcp.cli salons-scrape --metro bay_areapython -m indo_usa_mcp.cli salons-processpython -m indo_usa_mcp.cli salons-query --tag threading --city Sunnyvale

Phase 2: Events vertical (automated, admin-approved)

Indian-American community events (festivals, garba, concerts, puja). Fully automated — an agent auto-discovers iCal feeds by scanning the websites of orgs already in the database (temples first) for calendar links, and agents ingest events from those feeds plus any in EVENT_ICAL_FEEDS. The cleaner auto-approves high-confidence events and queues the rest under Admin → Events for one-click approval (no manual entry). Past events are kept, not deleted — they're date-filtered out of upcoming results (get_indian_events returns upcoming by default; include_past=true for history) and an 18-month retention purges very old ones.

powershell
python -m indo_usa_mcp.cli events-discover     # scan org websites for iCal feedspython -m indo_usa_mcp.cli events-scrape      # ingest configured + discovered iCal feedspython -m indo_usa_mcp.cli events-process     # auto-approve / queue for adminpython -m indo_usa_mcp.cli events-approvals   # list pendingpython -m indo_usa_mcp.cli events-query --city Edison --category garba

Connecting an MCP client

Point any MCP client (Claude Desktop, etc.) at:

json
{  "mcpServers": {    "indo-usa-diaspora": {      "command": "python",      "args": ["-m", "indo_usa_mcp.server"],      "env": { "DATABASE_URL": "postgresql://diaspora:diaspora@localhost:5433/diaspora" }    }  }}

Deployment (VPS, blueprint §10)

The full hosted stack — Postgres + MCP server (HTTP) + agent worker — is in docker-compose.prod.yml:

powershell
$env:POSTGRES_PASSWORD = "choose-a-strong-password"docker compose -f docker-compose.prod.yml up -d --build
  • server runs migrations (idempotent) then serves MCP over streamable-http on :8000.
  • worker runs the agent scheduler (scrape → clean → monitor …); it waits for the schema before starting, so service start order doesn't matter.
  • db stays on the internal network (not published).

Put a TLS-terminating reverse proxy (Caddy/nginx/Traefik) in front of :8000 for HTTPS, and add a firewall + scheduled pg_dump backups. The MCP endpoint is https://<host>/mcp.

Checking it with MCP Inspector

The standard visual way to exercise the tools:

powershell
# stdio (local)npx @modelcontextprotocol/inspector .\.venv\Scripts\python.exe -m indo_usa_mcp.server
# or point the Inspector at a running HTTP server: http://localhost:8000/mcp

Guardrails honoured

  • Public data only (OSM/ODbL), no login-required scraping, no personal data, rate-limited.
  • Confidence scoring, soft deletes, full version history.
  • Human approval for high-risk updates; is_featured is an explicit, visible flag.

Status / roadmap

Phase 1 is implemented and runs end-to-end: schema + versioning + approval queue, the pipeline, two scrapers (OSM + Wikidata), all 5 MCP tools, semantic (pgvector) search, outreach & claiming, six autonomous agents with a scheduler, seed fixtures, and a hosted deployment stack. Remaining "last mile": real outreach channel delivery, a claim web page, the Approval-Assistant + Feedback agents, monetization logic, and production hardening (HTTPS, backups). Each future vertical (temples, events, groceries…) gets its own table/scrapers/tools but shares this infra.

Source: README.md at commit 1d9f974

Tools

66

get_indian_restaurants

Find Indian restaurants by location and/or filters. Provide either a point (`lat`+`lng`, optionally `radius_miles`) or `city`/`state`. Optional filters: `region_tag` (e.g. "Gujarati", "South Indian"), `dietary_tags` (any of "vegetarian", "vegan", "halal", "jain"), `tag` (a keyword/dish like "biryani", "dosa", "catering"), `open_now` (only places open at the current time), `featured_only`. Use `offset` (e.g. offset=25 after a limit=25 page) to page further; the response's `has_more` says whether another page exists. Each record includes a `description`, `tags`, a `confidence_score` (0-1), an `is_featured` flag, an `open_now` flag (true/false/null), and `distance_miles` when a point was supplied.

Parameterslatlngtagcitylimitstateoffsetopen_nowregion_tagdietary_tagsradius_milesfeatured_only

get_indian_movies_in_theaters

List Indian-language movies currently playing in US theaters (Hindi, Telugu, Tamil, Malayalam, Kannada, Punjabi, Bengali, Marathi, Gujarati). Optional `language` filters to one (e.g. "Telugu"). Each movie includes `title`, `language`, `poster_url`, `overview`, `release_date`, `genres`, and a `ticket_url` — a "find showtimes / buy tickets" search link (per-theater showtimes are not available via a free source). Data from TMDB.

Parameterslimitlanguage

search_h1b_sponsors

Search US employers that sponsor H-1B visas — the visa most Indians-from-India use to work in the USA. Filter by employer name (`query`) and/or worksite `state` (2-letter). Ranked by number of certified Labor Condition Applications. Each result has `certified` (count), `median_wage`, `top_titles`, `top_states`, `top_cities`. Aggregated public figures from U.S. DOL disclosure data.

Parameterslimitquerystate

get_restaurant_details

Fetch the full canonical record for one restaurant, plus its version history.

Parametersrestaurant_idrequired

search_restaurants_by_text

Free-text search over restaurant name/cuisine/region, ranked by relevance. Optionally constrain to a `city`/`state`. Featured listings are surfaced first. Use `offset` to page further (the response's `has_more` says whether another page exists).

Parameterscitylimitqueryrequiredstateoffset

submit_correction

Propose a correction to a listing field (agents/users reporting bad data). `vertical` is the category key (default 'restaurants'); `listing_id` is the id from that category's get_/search_ tools. Correctable restaurant fields: phone, email, website, menu_url, address_full, city, state, region_tag, price_range, cuisine_type, festival_specials. The correction is stored and applied by the Feedback agent — automatically for unclaimed listings, or routed to a human for claimed/featured ones. Identity fields (name, coordinates) are not correctable. Structured field corrections currently apply to restaurants; for other categories use submit_review to flag issues (or the owner portal). Returns {ok, feedback_id|error}.

Parametersfieldrequiredvaluerequiredreasonverticallisting_idrequired

submit_review

Submit a community review (1-5 star rating + optional text) for a listing. `vertical` is the category key (restaurants, temples, groceries, professionals, salons, apparel, sweets, studios, services, community, legal, education, realestate, finance) and `listing_id` is the id returned by that category's get_/search_ tools. Reviews are moderated: clean ones publish immediately and spam/abusive ones are held for human review. Returns {'ok', 'id', 'status'}.

Parametersnametextratingrequiredverticalrequiredlisting_idrequired

get_reviews

Published community reviews for a listing (newest first) + its rolled-up community rating. The community rating is first-party (visitor-submitted) and is separate from any web-harvested `rating` returned by the get_/search_ tools. Each review includes the business owner's public reply when they've responded. Returns {'community_rating', 'community_rating_count', 'reviews': [{rating, title, body, author, created_at, owner_reply, owner_reply_at}]}.

Parameterslimitverticalrequiredlisting_idrequired

get_indian_temples

Find Indian-American temples (Hindu/Sikh/Jain places of worship). Provide a point (`lat`+`lng`, optional `radius_miles`) or `city`/`state`. Filter by `religion` ("hindu", "sikh", "jain"), `denomination` (e.g. "swaminarayan"), `tag`, or `open_now`. Records include description, deity, region, tags, hours and `open_now`.

Parameterslatlngtagcitylimitstateoffsetopen_nowreligiondenominationradius_miles

get_temple_details

Full canonical record for one temple, plus its version history.

Parameterstemple_idrequired

search_temples_by_text

Free-text/semantic search over temples (name/deity/denomination/region).

Parameterscitylimitqueryrequiredstateoffset

get_indian_groceries

Find Indian grocery stores (desi groceries / supermarkets). Provide a point (`lat`+`lng`, optional `radius_miles`) or `city`/`state`. Optional `region_tag` (e.g. "Gujarati"), `tag` (e.g. "spices", "halal"), `open_now`. Records include description, store type, tags, hours, region and `open_now`.

Parameterslatlngtagcitylimitstateoffsetopen_nowregion_tagradius_miles

get_grocery_details

Full canonical record for one grocery store, plus its version history.

Parametersgrocery_idrequired

search_groceries_by_text

Free-text/semantic search over Indian grocery stores (name/region/store type).

Parameterscitylimitqueryrequiredstateoffset

get_indian_professionals

Find Indian-American healthcare professionals (doctors, dentists, clinics, pharmacies). Provide a point (`lat`+`lng`, optional `radius_miles`) or `city`/`state`. Filter by `profession_type` ("doctors", "dentist", "clinic", "pharmacy"), `speciality` (e.g. "pediatrics", "cardiology", "ayurveda"), `tag`, or `open_now`. Note: these are matched from public data via an Indian-name signal, so a `confidence_score` is included.

Parameterslatlngtagcitylimitstateoffsetopen_nowspecialityradius_milesprofession_type

get_professional_details

Full canonical record for one professional/practice, plus its version history.

Parametersprofessional_idrequired

search_professionals_by_text

Free-text/semantic search over Indian-American healthcare professionals.

Parameterscitylimitqueryrequiredstateoffset

get_indian_salons

Find Indian beauty salons (threading, henna/mehndi, hair, bridal). Provide a point (`lat`+`lng`, optional `radius_miles`) or `city`/`state`. Filter by `tag` (e.g. "threading", "henna", "bridal") or `open_now`. Records include description, services (tags), hours and an `open_now` flag.

Parameterslatlngtagcitylimitstateoffsetopen_nowradius_miles

get_salon_details

Full canonical record for one salon, plus its version history.

Parameterssalon_idrequired

search_salons_by_text

Free-text/semantic search over Indian beauty salons.

Parameterscitylimitqueryrequiredstateoffset

get_indian_events

Find upcoming Indian-American community events (festivals, garba, concerts, puja). Provide a point (`lat`+`lng`, optional `radius_miles`) or `city`/`state`. Filter by `category` ("festival", "garba", "concert", "puja", …) or `tag` ("diwali", "holi", …). Returns UPCOMING events by default (soonest first); set `include_past=true` for history. Each event has `start_at`/`end_at`, venue, category and a description. Use `offset` to page (the response's `has_more` says whether another page exists).

Parameterslatlngtagcitylimitstateoffsetcategoryinclude_pastradius_miles

get_event_details

Full canonical record for one event, plus its version history.

Parametersevent_idrequired

search_events_by_text

Free-text/semantic search over Indian-American events (incl. past, for history). `offset` pages.

Parameterscitylimitqueryrequiredstateoffset

get_indian_apparel

Find Indian apparel & jewelry stores (sarees, lehengas, ethnic wear, gold jewelers). Provide a point (`lat`+`lng`, optional `radius_miles`) or `city`/`state`. Filter by `tag` (e.g. "saree", "bridal", "gold", "jewelry", "tailoring") or `open_now`.

Parameterslatlngtagcitylimitstateoffsetopen_nowradius_miles

get_apparel_details

Full canonical record for one apparel/jewelry store, plus its version history.

Parametersapparel_idrequired

search_apparel_by_text

Free-text/semantic search over Indian apparel & jewelry stores.

Parameterscitylimitqueryrequiredstateoffset

get_indian_sweets

Find Indian sweets shops (mithai) & bakeries. Provide a point (`lat`+`lng`, optional `radius_miles`) or `city`/`state`. Filter by `tag` (e.g. "mithai", "jalebi", "bakery", "eggless") or `open_now`.

Parameterslatlngtagcitylimitstateoffsetopen_nowradius_miles

get_sweets_details

Full canonical record for one sweets shop / bakery, plus its version history.

Parameterssweets_idrequired

search_sweets_by_text

Free-text/semantic search over Indian sweets shops & bakeries.

Parameterscitylimitqueryrequiredstateoffset

get_indian_studios

Find Indian yoga & cultural studios (yoga, classical dance, music, language classes). Provide a point (`lat`+`lng`, optional `radius_miles`) or `city`/`state`. Filter by `tag` (e.g. "yoga", "bharatanatyam", "kathak", "tabla", "carnatic") or `open_now`.

Parameterslatlngtagcitylimitstateoffsetopen_nowradius_miles

get_studio_details

Full canonical record for one studio, plus its version history.

Parametersstudio_idrequired

search_studios_by_text

Free-text/semantic search over Indian yoga/dance/music studios.

Parameterscitylimitqueryrequiredstateoffset

get_indian_services

Find Indian community services (money transfer/remittance, banks, immigration/visa, travel agents, tax/insurance). Provide a point (`lat`+`lng`, optional `radius_miles`) or `city`/`state`. Filter by `tag` (e.g. "money-transfer", "immigration", "travel", "tax") or `open_now`.

Parameterslatlngtagcitylimitstateoffsetopen_nowradius_miles

get_service_details

Full canonical record for one service business, plus its version history.

Parametersservice_idrequired

search_services_by_text

Free-text/semantic search over Indian community services.

Parameterscitylimitqueryrequiredstateoffset

get_indian_community

Find Indian community organizations & cultural associations (regional samaj/sangam, cultural centers, Indo-American associations). Provide a point (`lat`+`lng`) or `city`/`state`. Filter by `tag` (e.g. a region like "telugu", "gujarati", or "association"/"cultural_center").

Parameterslatlngtagcitylimitstateoffsetopen_nowradius_miles

get_community_details

Full canonical record for one community organization, plus its version history.

Parameterscommunity_idrequired

search_community_by_text

Free-text/semantic search over Indian community organizations & associations.

Parameterscitylimitqueryrequiredstateoffset

get_indian_education

Find Indian-American education & tutoring (heritage/language schools, Bal Vihar, coaching). Provide a point (`lat`+`lng`, optional `radius_miles`) or `city`/`state`. Filter by `tag` (e.g. "language_school", "heritage", "tutoring").

Parameterslatlngtagcitylimitstateoffsetopen_nowradius_miles

get_education_details

Full canonical record for one education/tutoring listing, plus its version history.

Parameterseducation_idrequired

search_education_by_text

Free-text/semantic search over Indian-American education & tutoring.

Parameterscitylimitqueryrequiredstateoffset

get_indian_realestate

Find Indian-American realtors & real-estate agencies. Provide a point (`lat`+`lng`, optional `radius_miles`) or `city`/`state`. Filter by `tag` (e.g. "agency", "mortgage").

Parameterslatlngtagcitylimitstateoffsetopen_nowradius_miles

get_realestate_details

Full canonical record for one real-estate listing, plus its version history.

Parametersrealestate_idrequired

search_realestate_by_text

Free-text/semantic search over Indian-American realtors & real-estate agencies.

Parameterscitylimitqueryrequiredstateoffset

get_indian_finance

Find Indian-American CPAs, tax preparers & financial advisors. Provide a point (`lat`+`lng`, optional `radius_miles`) or `city`/`state`. Filter by `tag` (e.g. "cpa", "tax", "financial_advisor").

Parameterslatlngtagcitylimitstateoffsetopen_nowradius_miles

get_finance_details

Full canonical record for one finance/tax listing, plus its version history.

Parametersfinance_idrequired

search_finance_by_text

Free-text/semantic search over Indian-American CPAs, tax preparers & financial advisors.

Parameterscitylimitqueryrequiredstateoffset

search_all

Search across ALL Indian-American verticals at once — restaurants, temples, groceries, healthcare professionals, beauty salons, events, apparel & jewelry, sweets & bakeries, yoga/dance studios, and community services. Use for broad queries like "Indian things near me in Edison NJ" or "vegetarian South Indian". Results are ranked by relevance: an exact name match ranks first, then by keyword/semantic similarity, proximity (pass `lat`+`lng`) and freshness. Each result is tagged with its `vertical`. Optionally constrain by `city`/`state`.

Parameterslatlngcitylimitqueryrequiredstateoffset

get_festival_dates

Upcoming Indian & South-Asian festival dates for planning in the USA. With no `query`, returns the next `limit` festivals soonest-first. With a `query` (e.g. "Diwali", "when is holi"), returns the single soonest matching festival. Each item has name, date (ISO), days_until, emoji and a greeting. IMPORTANT: many Hindu/Sikh/Jain/Muslim festivals follow lunar calendars, so these dates are best-effort — always tell the user to confirm the exact date with their local temple, gurdwara, mosque or a panchang. Returns {'results': [...], 'note': ...}.

Parameterslimitquery

search_knowledge

Grounded answers from the Namaste America knowledge base — culture, festivals, visa/H-1B, tax, banking, and newcomer/settling-in guides for Indians from India living in the USA. Returns the top matching passages, each with the source document's title + url so you can cite it. Optionally scope to a `vertical`. Use this for factual "how/what/when" questions rather than the listing-search tools. Returns {'count', 'results': [{text, title, url, source_type, vertical}]}.

Parameterslimitqueryrequiredvertical

submit_listing

Submit a new Indian-American business/listing for REVIEW — it does NOT go live automatically. `vertical` is the category key (restaurants, temples, groceries, professionals, salons, apparel, sweets, studios, services, community, legal, education, realestate, finance — not events, which are agent-managed). The submission enters a human moderation queue and is published only after an admin approves it. `name` is required; provide as much else as you can. Returns {'ok', 'id'} or {'ok': False, 'error': 'bad_vertical'|'name_required'}.

Parameterscitynamerequiredphonestatewebsiteverticalrequiredaddress_fullcontact_email

get_movie_details

Full details for one Indian movie (the id from get_indian_movies_in_theaters). Returns the movie record (title, language, overview, release_date, genres, poster_url, ...) or {'error': 'not_found'}. Movie data from TMDB; this product uses the TMDB API but is not endorsed or certified by TMDB.

Parametersmovie_idrequired

get_h1b_sponsor_details

Full details for one H-1B sponsor (the id from search_h1b_sponsors). Returns the sponsor record (employer, certified counts, wages, top titles/states/cities, ...) or {'error': 'not_found'}. Aggregated from U.S. Department of Labor LCA disclosure data.

Parameterssponsor_idrequired

search_community_questions

Search the Namaste America community Q&A — real questions Indians in the USA ask and answer ("Telugu-speaking pediatrician in Plano?", "best sweets for Diwali in Edison?"). Returns published questions matching the query, most-answered first, each with a `slug` you can pass to get_community_answers. A grounded, community-sourced complement to the listings + knowledge base. Returns {'count', 'results': [{slug, title, city, state, vertical, answer_count}]}.

Parameterslimitqueryrequired

get_community_answers

A community question + its published answers (Dost's AI answer first, then community answers by upvotes). `slug` comes from search_community_questions. Returns the question with an `answers` list, or {'error': 'not_found'}.

Parametersslugrequired

get_today_highlights

What's happening in Indian America today, optionally for a city + languages — the upcoming festival (+ approximate tithi), soonest events nearby, Indian movies in theaters, places newly added in the city, a culture/immigration nugget, and trending community questions. `languages` is a comma-separated list (e.g. "Telugu,Hindi"). Great for a daily briefing. Returns the assembled feed; date fields are ISO. Lunar festival/tithi dates are approximate — tell users to confirm locally.

Parameterscitystatelanguages

get_offers

Live offers & announcements posted by Indian-American business owners (e.g. "20% off thalis this week", "new weekend Garba class"), optionally filtered by city/state/vertical. Returns current, non-expired owner posts with the listing they belong to. Great for "any deals near me this week". Returns {'count', 'results': [{title, body, kind, vertical, listing_id, name, city, state, created_at, expires_at}]}.

Parameterscitylimitstatevertical

ask_community_question

Ask the Namaste America community a question on behalf of a signed-in member. `member_email` must be the authenticated member's email (not free text) — it attributes the question and guards against spam. Questions are moderated: clean ones publish immediately, others are held for review. Returns {'ok', 'id', 'slug', 'status'} or {'ok': False, 'error'}.

Parameterscityquestionrequiredverticalmember_emailrequired

save_place

Save a listing to a signed-in member's list. `member_email` must be the authenticated member's email. `vertical` + `listing_id` come from the get_/search_ tools. Returns {'ok', 'name'} or {'ok': False, 'error'}.

Parametersverticalrequiredlisting_idrequiredmember_emailrequired

unsave_place

Remove a listing from a member's saved list. `member_email` must be the authenticated member's email. Returns {'ok': True}.

Parametersverticalrequiredlisting_idrequiredmember_emailrequired

list_saved_places

A member's saved places (each joined to its live listing). `member_email` must be the authenticated member's email. Returns {'count', 'results': [{vertical, id, name, city, state}]}.

Parameterslimitmember_emailrequired

follow_city

Follow a city so the member is notified of new events there (e.g. "Plano, TX"). `member_email` must be the authenticated member's email. Returns {'ok'} or {'ok': False, 'error'}.

Parameterscityrequiredmember_emailrequired

list_follows

What a member follows (cities + categories). `member_email` must be the authenticated member's email. Returns {'count', 'results': [{kind, value}]}.

Parametersmember_emailrequired

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.