Priceminder — Shopee Price Monitoring

io.github.haidrauPublished by GitHub account haidrauv1.0.0Updated Nov 3, 2026

Shopee competitor price monitoring over MCP: price history, drop alerts, smart-follow pricing.

The publisher's own server: PriceWin

VerifiedStreamable HTTPWeb executableData & AnalyticsBusiness & Commerce

Overview

Priceminder — Shopee Price Monitoring's hosted MCP server (mcp.priceminder.online); OAuth sign-in required; Streamable HTTP.

No AI overview yet: these facts come from the registry entry and the server itself.

Endpoint
mcp.priceminder.online
Last checked

Installation

In SourceWeft

  1. Open Priceminder — Shopee Price Monitoring in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. 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.

Other MCP clients

Follow the launch instructions in the repository.

README

Priceminder MCP Server

[License: MIT] [Python] [MCP] [Website]

中文 | English

Priceminder — Same-day Shopee competitor price monitoring, powered by AI agents through the Model Context Protocol (MCP).

🌐 Sign up free: priceminder.online

Monitor competitor prices across Shopee Southeast Asia (SG, MY, TH, VN, ID, PH, BR). Let your AI agent track, analyze, and alert on price movements — all through natural language.


📌 Important: Where the Data Comes From — and What's Free

Bottom line first: calling the MCP server is free. MCP and API access are free on every tier, including Free. The Free tier is simply limited by your own watch quota — you can only query the products on your monitoring list.

You don't need to integrate any paid third-party data API yourself. When you click "Monitor Now" on a Shopee product page, the Priceminder backend collects the public product-page price at your plan's cadence (Free: 2×/day, Pro: 4×/day), stores it, and the MCP server reads it back for your AI agent.

Install Extension → Follow products you want to watch → Backend collects & stores → AI Can Query

In short: the MCP server is the open-source access layer; collection and storage are hosted by priceminder.online. All you need is a free account and the steps below.

⚠️ Prerequisites

StepActionDetails
Required① Install the browser extensionChrome / Edge / 360 Browser — see Extension Installation Guide
Required② Browse Shopee product pages, click "Monitor Now"Only products you manually add to monitoring are accessible via MCP
Required③ Get your credentials from the dashboardSee Quick Start below
Optional④ Configure MCP in your AI clientThen you can query prices via natural language

🔑 Two credentials — pick the one that matches your mode

ModeCredentialWhere it goes
Hosted HTTP (recommended, nothing to install)MCP Key (short)Inside the URL: https://priceminder.online/mcp_server?key=YOUR_MCP_KEY
Self-hosted stdio (developers, uvx / Docker)Long API tokenSENTINEL_TOKEN environment variable

Log in to the Priceminder dashboard → Settings → MCP Setup → Generate MCP Key. (The browser extension's settings page shows the same key.) Regenerating the key invalidates the old one immediately. The long API token is your account token, shown in the same settings area.

⚠️ The two are not interchangeable: a short key in SENTINEL_TOKEN, or a long token in the URL, both return 401.

🤖 AI Capability Boundaries

Priceminder's MCP tools can only query products you've manually added to your monitoring list. It cannot arbitrarily search all of Shopee.

AI Can Do ✅AI Cannot Do ❌
List my monitored products and pricesSearch Shopee for products I haven't monitored
View price history and trends of monitored itemsGet pricing for any arbitrary product ID
Check price drop alerts and push recordsAnalyze competitor stores I'm not tracking
Add new products to monitor (requires extension scan first)Auto-discover new competitors
Run smart-follow analysis and log pricing decisionsModify my account password or settings

In short: You tell the system which competitors to watch, MCP lets AI analyze what's been collected.

For full capability details, see the MCP Tools Overview →


💰 Free Usage, Quota & Rate Limits (read this first)

Does MCP / API cost extra?

No. MCP and API are free on all tiers, including Free. The Free tier is naturally limited by your watch quota — you can only query data for the products on your own monitoring list. Source: pricing page · FAQ

Getting the most out of the open-source build

Your goalWhat to do
Use it out of the boxFollow the Free-user flow: register a free account → install the extension and add products → generate an MCP Key (hosted HTTP) or long API token (stdio) → wire it into your AI client. No cost, no credit card
Modify or extend the codeThis repository is MIT licensed — change the transport, add tools, plug in your own scheduler. As long as SENTINEL_API_BASE still points at priceminder.online, you read data within your own account's quota
Monitor more competitors through the priceminder.online APIUpgrade to Pro: 50 watch slots instead of 5, 4×/day collection instead of 2×/day, no MCP / API quota cap. See pricing

About the 120 requests/minute limit

Open-source clients share one public API key (the SENTINEL_API_KEY default, sentinel-oss-client-2026), and the backend rate-limits it to 120 requests per minute per user.

This exists to keep the server healthy for everyone — it is not a paywall. Normal conversational use (one question usually triggers 1–3 tool calls) never comes close. What actually limits how many competitors you can watch is your plan's watch quota (Free: 5 products total), not the call rate.

If you genuinely need high-frequency automation (batch sweeps, using MCP as a data source for scripts), upgrading to Pro gives you uncapped API calls.


📊 Why Priceminder?

Same-day data, not yesterday's. Most price monitoring tools — including alternative MCP servers — return T-1 (yesterday's cached) data. Priceminder collects on your plan's cadence — Free: twice a day (morning and afternoon), Pro: four times a day — so you act on today's collected price, not an overnight cache.

CapabilityAlternative MCP ServersPriceminder
Data freshnessT-1 (yesterday)T-0 (same-day; 2×/day on Free, 4×/day on Pro)
Price change detectionNext daySame day (within ~6 hours on Pro)
Flash sale / 7.7 / 9.9 / 11.11Misses intra-day movesCollected at several points during the day + drop alerts
Push notifications❌ Query-only✅ Desktop + Feishu (Pro adds Telegram / Slack)
Smart-follow decision loop❌ None✅ Analyze → Decide → Review → Stats
Self-hosted✅ Supported✅ Supported

In short: If you're using other tools, you're making decisions on yesterday's data. Priceminder gives you today's collected prices — and pushes alerts when competitors move.


🌟 Features — 22 MCP Tools

10 basic tools for querying and monitoring, plus 12 smart-follow tools that close the loop from price movement → competitor response → pricing decision → post-hoc review.

Tier 1 — Query

#ToolDescriptionAPI
1get_monitor_listList all products you're trackingGET /monitors
2get_price_summaryBatch price summary across all tracked productsGET /price/summary
3get_price_historyPrice history time-series for a specific productGET /price/history
4get_alertsList price drop alerts (supports site filter)GET /alerts

Tier 2 — Action

#ToolDescriptionAPI
5add_monitorAdd a new product to your monitor listPOST /monitors
6update_monitor_statusPause or resume monitoringPUT /monitors/{id}
7mark_alert_readMark an alert as readPUT /alerts/{id}/read

Tier 3 — Insight

#ToolDescriptionAPI
8get_crawl_healthCheck crawler engine health & statsGET /telemetry/summary + /telemetry/site-stats
9get_monitor_overviewDashboard overview of all monitorsGET /user/dashboard
10search_my_productsSearch your monitored productsGET /monitors?keyword=xxx

Tier 4 — Smart Follow (12 tools)

#ToolDescriptionExample prompt
11run_smart_follow_analysisTrigger one smart-follow analysis run (sync batch + status check)"Run the smart-follow analysis"
12get_smart_follow_resultsLatest analysis results: suggested action, target price, rationale"What pricing changes do you suggest for my own products?"
13mark_self_ownedMark / unmark a product as your own (self-owned)"Mark this product as mine"
14map_competitorsReplace the competitor set for a self-owned product"Set Competitor A as a competitor of my storage box"
15get_competitor_mappingView the full self-owned → competitor mapping"Which competitors are linked to my products?"
16create_decisionLog a pricing decision"I'll follow the price down to THB 195"
17list_decisionsBrowse decision history"Show the decision history for the storage box"
18review_decisionReview a decision after the fact (free-text outcome + effectiveness enum)"Review that last price-following decision"
19adopt_decisionAdopt a suggested decision"Adopt this suggestion"
20reject_decisionReject a suggested decision"Reject this suggestion"
21get_smart_follow_statsLast 30 days decision stats"What's the adoption and effectiveness rate?"
22get_algorithm_listAlgorithm list, toggles and parameters"Which algorithms are in use?"

Smart-Follow Loop Example

You: Run today's smart-follow analysisAI : run_smart_follow_analysis() → status=done, 7 rules fired     get_smart_follow_results() → storage box: follow price to THB 195 (competitor cut 8.5%)You: Let's follow the priceAI : create_decision(monitor_id=101, action=follow_price, target_price=195) → decision_id=88     review due in 14 daysYou: Adopt that decisionAI : adopt_decision(decision_id=88, actual_price=195)(14 days later)You: How did the last price change perform?AI : get_price_history(...) + comparison → review_decision(decision_id=88,       review_outcome="sales +12% in 7 days", review_result="effective")     Overall: get_smart_follow_stats() → 62% adopted, 71% effective

⚠️ Contract notes: the backend /run endpoint executes synchronously (up to 180s) and swallows internal exceptions, so the tool re-checks /run/{id}/status to report the real outcome. get_smart_follow_results reads /latest and does not accept a run id. list_decisions / get_competitor_mapping have limited server-side filtering and pagination — the tools filter and truncate client-side.

See the full tool documentation here: MCP Tools Overview →


🚀 Quick Start

Install Extension → Add Products → Get MCP Key (hosted) or Long API Token (stdio) → Configure AI Client

For a visual step-by-step guide with screenshots, see the official docs: Quick Start Guide →

Step 1: Install the Browser Extension

BrowserInstallation
ChromeSearch "Priceminder" on Chrome Web Store
EdgeSearch "Priceminder" on Edge Add-ons
360 BrowserDownload offline installer from the official website
OperaOpera add-ons store

See Extension Installation Guide → for screenshots.

Step 2: Add Products to Monitor

Open any Shopee product page (supports SG/MY/TH/ID/TW/PH/VN). A "Monitor Now" button will appear at the top-right:

  1. Click "Monitor Now" → product added to your monitor list
  2. The system automatically starts collecting price data at your chosen interval
  3. Configure crawl frequency and alert thresholds in the extension settings

💡 You need monitored products first. Without them, the AI will return empty results when queried. Start with a few competitor products — Free covers 5 total, Pro 50.

Step 3: Get Your MCP Key

Log in to the Priceminder dashboard → Settings → MCP Setup → Generate MCP Key.

This short key is for hosted HTTP mode only. If you plan to run the server locally (stdio via uvx or Docker), skip to the self-hosted stdio section — that mode needs your long API token instead.

Then copy the full connection URL shown in the dashboard (the key is already embedded, no extra fields needed):

https://priceminder.online/mcp_server?key=YOUR_MCP_KEY

⚠️ The endpoint is priceminder.online, not mcp.priceminder.online — the latter only serves /health checks.

Step 4: Configure Your AI Client

Supported AI clients (hosted mode — recommended, no local install required):

ClientTransportConfig file / path
Cherry Studiostreamable-http (in-app form)none (Settings → MCP Servers)
OpenClawin-app form / YAMLnone (Settings → MCP Servers)
WorkBuddy (Tencent)httpuser ~/.workbuddy/mcp.json; project <project-root>/.workbuddy/mcp.json
Claude Desktopstreamable-httpWin %APPDATA%\Claude\claude_desktop_config.json; mac ~/Library/Application Support/Claude/claude_desktop_config.json
Cursorstreamable-httpproject .cursor/mcp.json; user ~/.cursor/mcp.json
TRAEno type fieldnone (Settings → MCP)
Cline (VS Code)streamable-http / stdio%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
Hermes Agentstdio (YAML)~/.hermes/config.yaml (Win %USERPROFILE%\.hermes\config.yaml)
QwenWorkstreamable-http (in-app connector)none (Extensions → Connectors)
Windsurfstreamable-http~/.codeium/windsurf/mcp_config.json
Doubao (desktop only)HTTP (in-app form)none (custom connector form)
Generic form (Cherry Studio / OpenClaw / Claude Desktop / Cursor / Cline / Windsurf)
json
{  "mcpServers": {    "shopee-sentinel": {      "type": "streamable-http",      "url": "https://priceminder.online/mcp_server?key=YOUR_MCP_KEY"    }  }}
WorkBuddy (Tencent)

"Experts · Skills · Connectors" → Connectors tab → Custom Connector (top right) → Configure MCP, paste:

json
{  "mcpServers": {    "shopee-sentinel": {      "type": "http",      "url": "https://priceminder.online/mcp_server?key=YOUR_MCP_KEY"    }  }}

After saving, you must click "Trust" on the entry — without it the tools will not load on first connection. It's connected once the status shows Connected and 22 tools are listed.

Some builds are strict about the type value: if it isn't recognized, try "type": "streamableHttp" first; if that still fails, remove the whole type line — with url present the client infers HTTP automatically. WorkBuddy supports http (streaming), sse and stdio; Priceminder uses http.

TRAE

Settings → MCP → + Add → Manual / Raw config, paste (omit type):

json
{  "mcpServers": {    "shopee-sentinel": {      "url": "https://priceminder.online/mcp_server?key=YOUR_MCP_KEY"    }  }}
QwenWork

Extensions → Connectors → + Add, paste (transport type streamable-http):

json
{  "mcpServers": {    "shopee-sentinel": {      "type": "streamable-http",      "url": "https://priceminder.online/mcp_server?key=YOUR_MCP_KEY"    }  }}
Doubao (ByteDance, desktop client only)

Custom connectors are a form, not pasted JSON: "Plugins · Skills · Partners" → Plugins → + Add → New custom connector:

FieldValue
Server namePriceminder
Transport typeHTTP
Server URLthe full URL from Step 3
Custom Headersleave empty (the key is already in the URL)

The web version does not support custom connectors; Priceminder is a public HTTPS service, no local install needed.

For detailed client setup guides with screenshots, see: Client Setup Guides →

Step 5: Verify the Connection

Test your setup by asking these questions:

Your PromptTool CalledExpected Result
"What am I monitoring?"get_monitor_listYour current monitor list
"How are my competitors' prices?"get_price_summaryPrice summary (current/baseline/high/low/avg)
"Any new price drop alerts?"get_alertsUnread price drop records
"Is the crawler healthy?"get_crawl_healthCrawler engine status
"Run the smart-follow analysis"run_smart_follow_analysisAnalysis batch result (status, rules fired)
"What pricing changes do you suggest?"get_smart_follow_resultsPer-product suggested action and target price

Your client's tool list should show 22 tools (10 basic + 12 smart follow).

✅ If the AI returns your monitoring data, setup is successful.

❌ If results are empty, make sure you've added products to monitor via the extension first.

Step 6: Troubleshooting

SymptomCheck
Connection fails / no tools listedIs the URL complete with ?key=…? Is the host priceminder.online (not mcp.)? Does the client support Streamable HTTP?
401 UnauthorizedKey is invalid or was regenerated — copy a fresh one from the dashboard
WorkBuddy lists 0 toolsYou didn't click Trust, or type isn't recognized (see the fallback above)
Using one key on multiple devicesSupported — Cherry Studio / Claude Desktop / Cursor can all be configured simultaneously
Disconnect completelyRemove the MCP server in the client; to revoke every connection, regenerate the key in the dashboard

Self-hosted stdio mode (developers)

To run the server locally instead of using the hosted endpoint:

json
{  "mcpServers": {    "sentinel": {      "command": "uvx",      "args": ["sentinel-mcp-server"],      "env": {        "SENTINEL_API_BASE": "https://priceminder.online/shopee",        "SENTINEL_TOKEN": "your-api-token"      }    }  }}

In stdio mode use the long API token from the dashboard — not the short MCP Key that goes in the hosted URL.

Hermes Agent uses YAML (mcp_servers section of ~/.hermes/config.yaml):

yaml
mcp_servers:  sentinel:    command: uvx    args: ["sentinel-mcp-server"]    env:      SENTINEL_API_BASE: "https://priceminder.online/shopee"      SENTINEL_TOKEN: "your-api-token"    enabled: true

💬 Prompt Scenarios

Here are 3 real-world scenarios you can run — each demonstrates a different use case:

1️⃣ Store-Level Price Watch

"Monitor all products from Shopee store 'ABC Official Store' on Shopee SG. If any product drops more than 5% in the last 24 hours, summarize the changes."

Your AI agent will:

  1. Check your monitor list for this store's products
  2. Compare latest crawl prices
  3. Return products that dropped below the threshold

Best for: Brand competition — keep tabs on a specific competitor's entire catalog.

2️⃣ Flash Sale / Campaign Alert

"During the 7.7 sale, list every price change of 3% or more across the products I track. Show only the products that changed."

Your AI agent will:

  1. Call get_price_summary to get current vs previous prices
  2. Filter for products with ≥3% movement
  3. Present a clean before/after comparison

Best for: Campaign periods — don't wake up to yesterday's data when competitors adjust prices several times a day.

3️⃣ Price Drop Intelligence

"Show me all price drop alerts from the last 2 days. Which products dropped the most? Highlight any drops over 10%."

Your AI agent will:

  1. Call get_alerts for recent notifications
  2. Call get_price_history on the biggest movers for context
  3. Rank by drop percentage and highlight critical moves

Best for: Buying decisions — spot the deepest discounts.

4️⃣ Smart-Follow Decision Loop

"Run the smart-follow analysis for my own products, show me the suggestions, and log a decision for the ones I agree with. Then tell me the adoption rate for the last 30 days."

Your AI agent will:

  1. Call run_smart_follow_analysis and check the run status
  2. Call get_smart_follow_results for suggested actions and target prices
  3. Call create_decision for each suggestion you confirm
  4. Call get_smart_follow_stats for the 30-day summary

Best for: Operations teams — turn price intelligence into a documented, reviewable pricing workflow.

More real-world prompt examples: Scenarios & Best Practices →


🔗 n8n Integration

Priceminder ships with a ready-to-import n8n workflow template.

File: priceminder-mcp-n8n.json

Workflow

Schedule ─► Get Price Summary ─► Parse Drops ─► Has Drops? ─┬► Telegram Alert(4h cron)                                                     ├► Email Alert                                                              └► Log (no drops)

Import

  1. Open n8n → Workflows → Import from File
  2. Select priceminder-mcp-n8n.json
  3. Configure credentials:
    • SENTINEL_TOKEN (env var on the n8n host)
    • Telegram bot token + chat ID (optional)
    • SMTP credentials (optional)
  4. Activate the workflow

🏗️ Architecture

┌─────────────────────────────────────────────────────┐│                  AI Client                          ││  (Claude Desktop / Cursor / Cherry Studio / Hermes) │└──────────────┬──────────────────────────────────────┘               │  MCP Protocol (stdio or HTTP/SSE)               ▼┌──────────────────────────────────────┐│     Priceminder MCP Server           ││  ┌────────────────────────────────┐  ││  │  Tool Registry (22 tools)      │  ││  │  Tier 1–3: query/action/insight│  ││  │  Tier 4: smart follow          │  ││  └──────────────┬─────────────────┘  ││                 │ HTTP + Token Auth│  ┌──────────────▼─────────────────┐  ││  │  API Client (httpx)           │  ││  └──────────────┬─────────────────┘  │└─────────────────┼────────────────────┘                  │ HTTPS┌─────────────────▼────────────────────┐│     Priceminder REST API             ││  (User / Monitor / Price / Alert /   ││   Telemetry / Smart-Follow)          │└─────────────────┬────────────────────┘                  │┌─────────────────▼────────────────────┐│     PostgreSQL 16                    ││  (Price History / Users / Alerts /   ││   Decisions / Competitor Maps)       │└──────────────────────────────────────┘

Data Flow

① User selects products to monitor via extension      │      ▼② Backend collects public product-page prices at your plan's cadence → PostgreSQL      │      ▼③ MCP Server reads via API      │      ▼④ AI client queries via MCP protocol

Key point: Data flows one way — user selects products → backend collects on the hosted side → MCP reads. The extension only tells the system which products to watch; collection and storage happen in the cloud, so you don't wire up a data source yourself and you don't pay extra (the Free tier is bounded by your watch quota — see pricing).


🔧 Configuration

Environment Variables

VariableDescriptionDefault
SENTINEL_API_BASEBackend API base URLhttps://priceminder.online/shopee
SENTINEL_TOKENYour long API token (stdio mode). Hosted HTTP mode does not use it — put your short MCP Key in the URL instead(required in stdio)
SENTINEL_API_KEYShared public API key marking open-source MCP clients. Rate-limited at 120 requests/min per token purely to keep the server healthy for everyone (not a paywall)sentinel-oss-client-2026
SENTINEL_TIMEOUTHTTP request timeout (s)30
MCP_MODERun mode: stdio or httpstdio
MCP_HOSTHTTP server bind address127.0.0.1
MCP_PORTHTTP server port8020
SENTINEL_MCP_INTERNAL_KEYInternal key for hosted-mode auth checks—
LOG_LEVELLog levelINFO

📡 API Reference

Authentication

All backend API calls require these headers:

bash
X-Api-Key: YOUR_API_KEYX-Sentinel-Token: YOUR_TOKEN

🆓 Free vs Pro

MCP and API are free on all tiers — the difference between Free and Pro is watch quota, collection frequency and data retention, not whether you can call the server.

FeatureFreePro
Supported sitesID / VN / TH / PH / MY / SG / BR (7 sites)Same
Monitored products5 total50 total
Collection frequency2×/day (morning and afternoon)4×/day (all day)
Price trendLast 7 daysLast 30 days
Push channelsDesktop + FeishuDesktop + Feishu + Telegram / Slack
MCP / API✅ Free, bounded by your watch quota✅ Free, no quota cap
Smart-follow✅ Free until 2026-12-31✅ Permanent entitlement

Full entitlements and current pricing: priceminder.online/en/pricing →

Want the priceminder.online API to watch many more competitors at 4×/day? Upgrade to Pro 👉 pricing


🛠️ Development

bash
git clone https://github.com/haidrau/sentinel-mcp-server.gitcd sentinel-mcp-server
# Install dev dependenciespip install -e ".[dev]"
# Verify all 22 tools are registeredpython -c "import asyncio, sentinel_mcp.server as s; print(len(asyncio.run(s.mcp.list_tools())))"
# Run testspython -m pytest tests/
# Start in dev modeexport SENTINEL_TOKEN=your-test-tokenpython -m sentinel_mcp.server

📄 License

MIT License — see LICENSE for details.


🤝 Contributing

Contributions are welcome! Feel free to:

  • Open issues for bugs or feature requests
  • Submit PRs for new tools or improvements
  • Ask questions in the discussions

💌 Contact

Questions, bug reports, feature requests or partnership inquiries — all welcome. We reply within 24 hours on business days.

Email: [email protected]


🌐 Links

Source: README.md at commit 1a33bcd

Tools

0
This server asks for a credential such as an API key, so SourceWeft could not read its tools without one and has not indexed them.

Version history

3
  1. v1.0.0LatestNov 3, 2026
  2. v0.3.0Nov 1, 2026
  3. v0.2.0Sep 16, 2026

Score

75% 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 listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.

Other Price integrations