Shopfront Chennai Local Commerce

io.github.jeeva-m-21由 GitHub 帳號 jeeva-m-21 發布v2.0.0更新於 Oct 27, 2026

Hyperlocal commerce and verified merchant directory MCP server for Chennai, India.

發布方自己的服務:ShopFront Locations

已驗證Streamable HTTP可網頁執行位置與生活商業與電商

概覽

AI 產生的概覽

針對清奈在地商家目錄的遠端 MCP 伺服器,讓助理查找店家、讀取菜單與營業時間,並產生 WhatsApp 或電話聯絡連結。

可以做什麼
  • 依地區、類別、距離、預算與是否營業篩選並排序清奈店家
  • 讀取店家公開資料:地址、座標、每週營業時段、近期公休與聯絡電話
  • 依分類分頁瀏覽店家的菜單或服務目錄
  • 在單一店家目錄內以文字搜尋項目,可限制價格上限與項目類型
  • 產生附帶預設詢問訊息的 WhatsApp 深層連結、預約連結或電話撥號連結
適用情境
當使用者詢問清奈的在地店家、服務或價格,並希望取得有依據的清單、營業時間以及直接聯絡商家的方式時適用。
執行需求
需要一個遠端 streamable HTTP 端點;未宣告帳號、API 金鑰或請求標頭。README 另提供本機 stdio 方式,需 Node.js 22+、含 PostGIS 的 PostgreSQL 16 以及 DATABASE_URL 設定。
安裝前請注意
涵蓋範圍僅限清奈商家。聯絡連結會代替使用者開啟 WhatsApp 或撥打電話,送出前應先確認。README 的本機部署需要 DATABASE_URL 中的資料庫連線字串,請勿放入共用設定。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Shopfront Chennai Local Commerce,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.jeeva-m-21%2Fshopfront/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "shopfront-chennai-local-commerce": {
      "type": "http",
      "url": "https://shopfront-rouge.vercel.app/mcp"
    }
  }
}

README

🏪 Shopfront: Local Shops, Found by AI

“Be the answer when people ask AI.”
Shopfront makes local businesses visible to AI assistants through the open Model Context Protocol (MCP).



⚡ Quick Links & Live Demos

ResourceDirect LinkDescription
🌐 Live Web Applicationshopfront-rouge.vercel.appReal-time discovery portal with verified Chennai merchant ledgers.
🤖 AI Agent Connect Portalshopfront-rouge.vercel.app/connect60-second MCP setup for Claude Desktop, Cursor, and custom agent sidecars.
🎨 Brand & Vector Assetsshopfront-rouge.vercel.app/brandOfficial Stitch multi-view SVG logo system, typography, and color tokens.
📖 Technical Architecture Case StudyTECHNICAL_CASE_STUDY.mdExhaustive problem-to-solution system design, PostGIS spatial indexing, and security architecture.
🔌 Streamable HTTP MCP EndpointPOST https://shopfront-rouge.vercel.app/api/mcpRFC-compliant Model Context Protocol streamable transport for agents.

📋 Table of Contents

  1. The Core Novelty & Positioning
  2. The Breakdown of Urban Apps vs. The AI Shift
  3. The Solution: Three Key Differentiators
  4. Deep Customization: You Decide What AI Says
  5. System Architecture & Request Lifecycle
  6. Live Endpoints & Model Context Protocol (MCP) Tools
  7. Connect to AI Assistants (Claude, Cursor, ChatGPT)
  8. Design System: "The Shutter Goes Up"
  9. Scientific Offline Evaluation & Benchmarks
  10. Local Development & Test Gates

1. The Core Novelty & Positioning

One line: Shopfront makes local businesses visible to AI assistants.
Tagline: “Be the answer when people ask AI.”
Short form: “Local shops, found by AI.”

┌────────────────────────────────────────────────────────────────────────┐│  CUSTOMER ASKS AI:                                                     ││  "Where can I get my iPhone battery replaced in Adyar right now under  ││   ₹2,000?"                                                             │├────────────────────────────────────────────────────────────────────────┤│  WITHOUT SHOPFRONT:                                                    ││  ❌ "I don't have real-time access to local shops or current prices.  ││      You may want to check Google Maps or call nearby stores."         │├────────────────────────────────────────────────────────────────────────┤│  WITH SHOPFRONT (MCP):                                                 ││  ✅ "I found A1 Electronics in Adyar (450m away). They are open right  ││      now (verified 9m ago). Their iPhone Battery Replacement is        ││      ₹1,800. Click here to chat with the owner on WhatsApp: wa.me/..." │└────────────────────────────────────────────────────────────────────────┘

Shopfront bridges the gap between physical urban retail and conversational intelligence. By turning neighborhood shops into queryable, authenticated nodes on the Model Context Protocol (MCP), merchants gain direct customer inquiries without building custom mobile apps or forfeiting 30% aggregator commissions.


2. The Breakdown of Urban Apps vs. The AI Shift

Urban commerce is experiencing a structural paradigm shift driven by consumer app fatigue and conversational AI:

mermaid
flowchart TD    subgraph TheAppTrap["The Separate Franchise App & Marketplace Trap"]        A1["Separate App per Franchise<br/>(McDonald's app, Domino's app, Swiggy, Zomato, Urban Company)"]        A2["Severe App Fatigue<br/>(Users delete single-use apps; refuse to install 30 separate apps)"]        A3["20% to 30% Aggregator Commissions<br/>(High take-rates erode independent merchant margins)"]        A4["Walled-Garden Data Silos<br/>(Customer phone numbers masked; zero direct relationship)"]        A1 --> A2 --> A3 --> A4    end
    subgraph TheAIShift["The Conversational AI Revolution"]        B1["Users Ask AI Instead of Opening Apps<br/>('Find me a MacBook technician near Adyar')"]        B2["AI Assistants Get ZERO Data<br/>(LLMs cannot read fragmented closed apps)"]        B3["Result: Hallucinated defunct numbers or dead ends"]        B1 --> B2 --> B3    end
    TheAppTrap -.->|Broken Paradigm| Solution["Shopfront: The Authoritative Live Layer"]    TheAIShift -.->|Needs Ground Truth| Solution

The Three Critical Industry Breakdown Points:

  1. App Fatigue: Customers do not want to download, register, and update 30 different mobile apps for every local bakery, barber, and motorcycle garage.
  2. The Aggregator Tax: Conventional aggregators extract 20% to 30% of gross transaction volume and mask customer identities, preventing merchants from building long-term loyalty.
  3. The AI Search Blind Spot: When consumers ask Claude, Cursor, or ChatGPT for local recommendations, LLMs hallucinate or return generic blog scrapes because brick-and-mortar stores have no standard API or protocol representation.

3. The Solution: Three Key Differentiators

Shopfront replaces the fragmented app nightmare with a unified, protocol-driven architecture:

DifferentiatorTraditional Aggregators & Franchise AppsShopfront (MCP Engine)
1. AI-Native Protocol❌ Walled gardens; closed to AI assistants; invisible to conversational search.✅ Native Model Context Protocol (MCP) server readable by Claude, Cursor, ChatGPT, and custom agent sidecars.
2. One Listing vs. 20 Apps❌ Merchants spend ₹1,50,000+ building custom apps that users immediately uninstall.✅ One low-cost, commission-free listing that automatically syndicates across all AI assistants.
3. Owner-Controlled Direct Contact❌ Masked phone numbers; platform lock-in; delayed weekly payouts.✅ Direct WhatsApp & telephone connection with pre-filled enquiry templates. Merchants keep 100% of revenue.

4. Deep Customization: You Decide What AI Says

Shopfront provides local merchants with absolute sovereignty over their data. Through the mobile-first Owner Portal, owners decide exactly what AI assistants know and recommend:

mermaid
mindmap  root((Owner Customization))    Hours & Shift Breaks      Real-time IST schedule      Afternoon lunch breaks      Temple & festival closures    Exact Rupee Pricing      Fixed menu prices      Transparent price ranges      Warranty terms    Live Availability      1-thumb out-of-stock switches      Capacity limits    Service Area & Coordinates      Millimeter PostGIS location      Locality bounding polygon    Craftsmanship & Story      20+ years experience      Specialist certifications    WhatsApp Opening Template      Pre-filled item context      Direct wa.me deep links    Bilingual Localization      Tamil keywords ஷாப்ஃபிரண்ட்      English terminology

The 8 Signature Customization Levers:

  • 1. Operating Shifts & Lunch Breaks: Configure discrete shift intervals (e.g. 09:00–13:00 and 16:30–21:30) and upcoming holiday dates. AI never sends customers to a closed shutter.
  • 2. Exact Rupee Pricing: List precise prices (e.g. iPhone Battery: ₹1,800) to qualify high-intent customers and eliminate haggling.
  • 3. Instant Availability Toggle: Flip an item unavailable with a single thumb-tap from your phone when parts run out. AI updates immediately.
  • 4. Spatial Service Area: Pinpoint exact physical coordinates and service radiuses in PostGIS (SRID 4326).
  • 5. Authentic Brand Story: Provide background on your techniques, heritage, and quality guarantees for AI to champion.
  • 6. Pre-Formatted WhatsApp Message: Customize the greeting message generated when customers click your action link.
  • 7. Bilingual Tamil & English Support: Enable native Tamil script matching alongside standard English.
  • 8. Persistent "AI Preview": A live dashboard card in the Owner Portal showing the exact conversational response and raw MCP JSON that AI assistants receive.

5. System Architecture & Request Lifecycle

Shopfront combines sub-25ms PostGIS SQL retrieval with an LLM semantic decision reranker and a fail-open circuit breaker.

mermaid
flowchart TB    subgraph Ingress["1. Ingress Layer"]        User["🌐 Customer Browser<br/>Next.js 15 App"]        Agent["🤖 AI Agent (Claude Desktop)<br/>Streamable HTTP / Stdio"]        Merchant["📱 Shop Owner<br/>Mobile Web Portal"]    end
    subgraph SecurityLayer["2. Gateway Security & Auth"]        RateLimit["⏱️ Sliding Window Rate Limiter<br/>(60 req/min)"]        CSRF["🛡️ CSRF & Origin Guard<br/>(Sec-Fetch-Site Check)"]        Argon["🔐 Argon2id (m=64MB, t=3, p=1)<br/>SHA-256 Session Token Hash"]    end
    subgraph SearchPipeline["3. Two-Stage Retrieval Pipeline"]        Stage1["⚡ Stage 1: PostGIS Fast SQL<br/>• Spatial Radius & Bounding Box (H1)<br/>• Live Status & Admin Lock Checks (H2)<br/>• IST Temporal Shift Matching (H6)<br/>• Statement Timeout: 250ms"]                Sanitizer["🧹 Prompt Injection Stripper<br/>• Strip ASCII Control Chars<br/>• Exclude GPS coords, prices, hours"]                Stage2["🧠 Stage 2: Jev Decisions LLM Reranker<br/>• Parallel Candidate Scoring<br/>• Expected Score E[score] Formulation<br/>• Strict Time Budget: min(timeout, rem-30ms)"]                FailOpen["⚡ Fail-Open Circuit Breaker<br/>(On timeout/fault -> Fallback to Stage 1)"]    end
    subgraph Storage["4. Authoritative Database (PostgreSQL 16 + PostGIS 3.4)"]        PGPool["🐘 Dedicated Connection Pool (Zero ORM)"]        Shops[("shops & localities<br/>Spatial GIST Index")]        Catalog[("catalog_items<br/>Available Offerings")]        Shifts[("operating_shifts<br/>IST Intervals")]    end
    User --> RateLimit --> Stage1    Agent --> RateLimit --> Stage1    Merchant --> CSRF --> Argon --> PGPool
    Stage1 --> PGPool    PGPool --> Shops    PGPool --> Catalog    PGPool --> Shifts
    Stage1 -->|Top 10 Candidates| Sanitizer    Sanitizer --> Stage2    Stage2 -.->|Timeout / Error| FailOpen    FailOpen --> Output["📱 Verified WhatsApp Action Link"]    Stage2 -->|Reranked Output| Output

6. Live Endpoints & Model Context Protocol (MCP) Tools

Shopfront implements the Model Context Protocol (MCP 1.32.1) specification over Web Standard Streamable HTTP (POST /api/mcp) and local Stdio (scripts/mcp-stdio.ts).

Official MCP Registry Listing:

io.github.jeeva-m-21/shopfront

The 5 Core MCP Tools:

Tool NameParametersDescription
find_shopscategory?, locality?, latitude?, longitude?, radius_km?, query?, max_price_inr?, open_now?Discovers and ranks Chennai shops matching physical, budget, and operational constraints.
get_shop_infoshop_id or slugRetrieves complete shop profile, physical address, locality coordinates, weekly operating shifts, and upcoming 30-day closures.
get_catalogshop_id, cursor?, limit?Fetches available menu offerings and service rates grouped by section with keyset pagination.
search_catalogshop_id, query, kind?, max_price_inr?, limit?Executes text similarity search within a specific shop's catalog.
get_action_linkshop_id, item_id?, item_name?Generates verified WhatsApp deep-link (wa.me) or telephone link with pre-formatted enquiry message and disclaimer.

7. Connect to AI Assistants (Claude, Cursor, ChatGPT)

You can connect Shopfront to your AI assistant in under 60 seconds.

Option A: Claude Desktop (Local Stdio)

Add Shopfront to your claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
json
{  "mcpServers": {    "shopfront": {      "command": "node",      "args": [        "--import",        "tsx",        "/absolute/path/to/shopfront/scripts/mcp-stdio.ts"      ],      "env": {        "DATABASE_URL": "postgresql://postgres:postgres@localhost:5434/shopfront",        "APP_BASE_URL": "https://shopfront-rouge.vercel.app",        "STAGE1_TIMEOUT_MS": "250",        "RERANK_ENABLED": "false"      }    }  }}

Option B: Remote Streamable HTTP (Cursor / Web Agents)

In Cursor (Settings $\rightarrow$ Features $\rightarrow$ MCP Servers):

  • Type: command or sse / streamable-http
  • URL: https://shopfront-rouge.vercel.app/api/mcp

8. Design System: "The Shutter Goes Up"

The brand identity avoids generic SaaS gradients in favor of an authentic Chennai visual identity rooted in physical urban commerce: the rolling metal shop shutter.

Master ViewAsset PreviewSpec
01 / Primary Horizontal[Horizontal Light]4:1 Lockup on Light Surface
02 / Brand Hero[Horizontal Dark]High-contrast on Marina Teal (#0E6B66)
03 / Stacked Emblem[Stacked Emblem]1:1 Square Splash Emblem
06 / App Icon Squircles[App Icon]80×80 Squircle ($r = 25%$)
  • Marina Teal (#0E6B66): Inspired by Marina Beach at dusk. Primary buttons, active indicators, and focus rings.
  • Motion Turmeric (#F4B000): Single focal accent per screen. Used for the lifted top slat and live verified badges.
  • Stone Neutrals (#FAF9F6 to #100F0D): Warm paper-and-ink gray tones.
  • Explore All Assets: Visit shopfront-rouge.vercel.app/brand to download standalone SVGs.

9. Scientific Offline Evaluation & Benchmarks

Shopfront incorporates a rigorous offline evaluation framework executing 40 golden benchmark queries (30 Dev, 10 Held-out) across 4 query topologies:

┌────────────────────────────────────────────────────────────────────────┐│  OFFLINE EVALUATION HARNESS RESULTS (eval/results/latest-report.md)     │├────────────────────────────────┬───────────────┬───────────────────────┤│ Metric                         │ Stage 1 SQL   │ Stage 2 LLM Reranked  │├────────────────────────────────┼───────────────┼───────────────────────┤│ Overall NDCG@5                 │ 0.8853        │ 0.8873 (+0.0020)      ││ Direct Service NDCG@5          │ 0.8379        │ 0.8423 (+0.0044)      ││ Specificity NDCG@5             │ 0.9176        │ 0.9210 (+0.0034)      ││ Overall MRR@5                  │ 0.8000        │ 0.8000                ││ Overall Recall@10              │ 1.0000        │ 1.0000                ││ Inter-Annotator Agreement      │ Cohen's κ = 0.864 (90.0% agreement)   ││ Latency P50 / P95              │ 22.4 ms / 147 ms                      ││ 95% Confidence Intervals       │ 10,000-sample Mulberry32 Bootstrap    │└────────────────────────────────┴───────────────┴───────────────────────┘

Read the full engineering deep dive in TECHNICAL_CASE_STUDY.md.


10. Local Development & Test Gates

Prerequisites

  • Node.js 22+ (pinned via .nvmrc)
  • PostgreSQL 16 with PostGIS 3.4 extension
  • Docker & Docker Compose (optional for local DB)

Setup & Run

bash
# 1. Clone the repositorygit clone https://github.com/your-username/shopfront.gitcd shopfront
# 2. Install pinned dependenciesnpm ci
# 3. Environment configurationcp .env.example .env
# 4. Start PostGIS containerdocker-compose up -d db
# 5. Run database migrations & seed fixturesnpm run db:migratenpm run db:seed
# 6. Execute native check gates (40 suites, 234 tests)npm test
# 7. Execute Playwright E2E lifecycle testnpx playwright test
# 8. Run offline evaluation benchmarknpm run eval
# 9. Start development servernpm run dev

Crafted with engineering discipline for the streets of Chennai and the global agentic AI ecosystem.

來源:README.md,提交 3dbddb4

工具

5

find_shops

Find and rank local shops in Chennai for a customer request. Always provide locality when the customer has told you where they are. If the customer has not said where they are, ask them for a Chennai area before calling this tool. Use category when it is clear. Results already satisfy distance, budget, and open-now constraints.

輸入參數latlnglimitquerycategorylocalityopen_nowradius_kmmax_price_inr

get_shop_info

Retrieve detailed public shop profile including address, locality, coordinates, weekly opening hours, upcoming closures, contact numbers, action mode, and latest menu timestamp.

輸入參數shop_slug必填

get_catalog

Retrieve available menu or service catalog items for a shop grouped by category, with price display and duration, supporting cursor-based pagination.

輸入參數kindcursorshop_slug必填

search_catalog

Search items within a specific shop catalog using text similarity and full-text search with optional price ceiling and item kind filtering.

輸入參數kindlimitquery必填shop_slug必填max_price_inr

版本歷史

1
  1. v2.0.0最新Oct 18, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。

其他 Shopfront 整合