Back to Browse

Shopfront MCP Server

Developer ToolsLow Risk9.0MCP RegistryRemote
Free

Server data from the Official MCP Registry

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

About

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

Remote endpoints: streamable-http: https://shopfront-rouge.vercel.app/mcp

Security Report

9.0
Low Risk9.0Low Risk

Valid MCP server (4 strong, 4 medium validity signals). 2 known CVEs in dependencies Imported from the Official MCP Registry.

5 tools verified ยท Open access ยท 2 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Found in Source Code

Found by scanning the linked source code. This listing connects to a hosted endpoint, so none of this runs on your machine: it describes what the server software does where it is hosted.

file_system

Applies to the server that hosts this plugin, not to your machine.

HTTP Network Access

Connects to external APIs or services over the internet.

How to Connect

Remote Plugin

No local installation needed. Your AI client connects to the remote endpoint directly.

Add this to your MCP configuration to connect:

{
  "mcpServers": {
    "io-github-jeeva-m-21-shopfront": {
      "url": "https://shopfront-rouge.vercel.app/mcp"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub 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).


Production Status MCP Registry Technical Case Study Test Gates Playwright E2E

TypeScript 5.8 Next.js 15 PostgreSQL 16 / PostGIS 3.4 Tailwind CSS v4 Docker Ready Zero ORM License: MIT


โšก 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:

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:

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.

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
{
  "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 HorizontalHorizontal Light4:1 Lockup on Light Surface
02 / Brand HeroHorizontal DarkHigh-contrast on Marina Teal (#0E6B66)
03 / Stacked EmblemStacked Emblem1:1 Square Splash Emblem
06 / App Icon SquirclesApp Icon80ร—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

# 1. Clone the repository
git clone https://github.com/your-username/shopfront.git
cd shopfront

# 2. Install pinned dependencies
npm ci

# 3. Environment configuration
cp .env.example .env

# 4. Start PostGIS container
docker-compose up -d db

# 5. Run database migrations & seed fixtures
npm run db:migrate
npm run db:seed

# 6. Execute native check gates (40 suites, 234 tests)
npm test

# 7. Execute Playwright E2E lifecycle test
npx playwright test

# 8. Run offline evaluation benchmark
npm run eval

# 9. Start development server
npm run dev

Reviews

No reviews yet

Be the first to review this server!