Namaste America

us.namasteamerica由 namasteamerica.us 发布官方发布者v0.1.0更新于 Oct 27, 2026

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

已验证Streamable HTTP可网页运行位置与生活网页搜索与抓取商业与电商

概览

AI 生成的概览

面向美国印度裔社群的远程目录服务,让助手查找餐厅、寺庙、杂货店、活动等商家与社区信息。

可以做什么
  • 按坐标半径、城市或州查找餐厅、寺庙、杂货店、医疗专业人士、美容院、服饰珠宝店、甜品店、工作室、社区服务、社团组织及移民律师等条目,并可按地区、饮食标签、营业中、关键词等筛选
  • 按类别进行自由文本与语义搜索,并提供跨类别的统一搜索
  • 获取单条目的完整规范记录及其版本历史
  • 读取某条目的已发布社区评价与汇总评分
  • 提交社区评价,或对条目字段提出更正
  • 查询为 H-1B 签证提供担保的美国雇主,以及正在美国影院上映的印度语电影
适用场景
当助手需要美国印度裔社群相关信息时适用,例如查找附近的寺庙、素食餐厅、印度杂货店、移民律师,或即将举行的九夜节、排灯节活动,也可回答 H-1B 担保雇主与印度语电影相关问题。
运行要求
远程 streamable-HTTP 端点,无需安装;未声明需要身份验证、API 密钥或环境变量。需要能访问该托管服务的网络。
安装前请注意
submit_review 与 submit_correction 工具会向目录写入数据,评价与更正建议会公开并可能经过审核。条目部分来自 OpenStreetMap、Wikidata 等公开来源,信息可能不完整或不准确;搜索结果中付费推荐条目会优先展示。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Namaste America,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/us.namasteamerica%2Fnamaste-america/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "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.

来源:README.md,提交 1d9f974

工具

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.

输入参数latlngtagcitylimitstateoffsetopen_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.

输入参数limitlanguage

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.

输入参数limitquerystate

get_restaurant_details

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

输入参数restaurant_id必填

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).

输入参数citylimitquery必填stateoffset

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}.

输入参数field必填value必填reasonverticallisting_id必填

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'}.

输入参数nametextrating必填vertical必填listing_id必填

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}]}.

输入参数limitvertical必填listing_id必填

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`.

输入参数latlngtagcitylimitstateoffsetopen_nowreligiondenominationradius_miles

get_temple_details

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

输入参数temple_id必填

search_temples_by_text

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

输入参数citylimitquery必填stateoffset

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`.

输入参数latlngtagcitylimitstateoffsetopen_nowregion_tagradius_miles

get_grocery_details

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

输入参数grocery_id必填

search_groceries_by_text

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

输入参数citylimitquery必填stateoffset

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.

输入参数latlngtagcitylimitstateoffsetopen_nowspecialityradius_milesprofession_type

get_professional_details

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

输入参数professional_id必填

search_professionals_by_text

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

输入参数citylimitquery必填stateoffset

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.

输入参数latlngtagcitylimitstateoffsetopen_nowradius_miles

get_salon_details

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

输入参数salon_id必填

search_salons_by_text

Free-text/semantic search over Indian beauty salons.

输入参数citylimitquery必填stateoffset

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).

输入参数latlngtagcitylimitstateoffsetcategoryinclude_pastradius_miles

get_event_details

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

输入参数event_id必填

search_events_by_text

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

输入参数citylimitquery必填stateoffset

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`.

输入参数latlngtagcitylimitstateoffsetopen_nowradius_miles

get_apparel_details

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

输入参数apparel_id必填

search_apparel_by_text

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

输入参数citylimitquery必填stateoffset

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`.

输入参数latlngtagcitylimitstateoffsetopen_nowradius_miles

get_sweets_details

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

输入参数sweets_id必填

search_sweets_by_text

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

输入参数citylimitquery必填stateoffset

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`.

输入参数latlngtagcitylimitstateoffsetopen_nowradius_miles

get_studio_details

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

输入参数studio_id必填

search_studios_by_text

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

输入参数citylimitquery必填stateoffset

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`.

输入参数latlngtagcitylimitstateoffsetopen_nowradius_miles

get_service_details

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

输入参数service_id必填

search_services_by_text

Free-text/semantic search over Indian community services.

输入参数citylimitquery必填stateoffset

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").

输入参数latlngtagcitylimitstateoffsetopen_nowradius_miles

get_community_details

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

输入参数community_id必填

search_community_by_text

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

输入参数citylimitquery必填stateoffset

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").

输入参数latlngtagcitylimitstateoffsetopen_nowradius_miles

get_education_details

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

输入参数education_id必填

search_education_by_text

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

输入参数citylimitquery必填stateoffset

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").

输入参数latlngtagcitylimitstateoffsetopen_nowradius_miles

get_realestate_details

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

输入参数realestate_id必填

search_realestate_by_text

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

输入参数citylimitquery必填stateoffset

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").

输入参数latlngtagcitylimitstateoffsetopen_nowradius_miles

get_finance_details

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

输入参数finance_id必填

search_finance_by_text

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

输入参数citylimitquery必填stateoffset

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`.

输入参数latlngcitylimitquery必填stateoffset

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': ...}.

输入参数limitquery

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}]}.

输入参数limitquery必填vertical

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'}.

输入参数cityname必填phonestatewebsitevertical必填address_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.

输入参数movie_id必填

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.

输入参数sponsor_id必填

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}]}.

输入参数limitquery必填

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'}.

输入参数slug必填

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.

输入参数citystatelanguages

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}]}.

输入参数citylimitstatevertical

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'}.

输入参数cityquestion必填verticalmember_email必填

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'}.

输入参数vertical必填listing_id必填member_email必填

unsave_place

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

输入参数vertical必填listing_id必填member_email必填

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}]}.

输入参数limitmember_email必填

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'}.

输入参数city必填member_email必填

list_follows

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

输入参数member_email必填

版本历史

1
  1. v0.1.0最新Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。