Taiwan Price Compare MCP
Price Compare MCP
台灣電商比價工具 MCP Server,支援 momo、PChome、Coupang、ETMall、Rakuten、Yahoo購物中心、Yahoo拍賣、Costco、全聯全電商、萬家福、博客來、露天市集、生活市集、松果購物 共 14 個平台的價格搜尋與比較。
目前版本:v0.5.0 | 更新日誌
功能
工具 | 說明 |
| 跨平台搜尋最低價商品 |
參數說明
compare_prices
參數 | 類型 | 預設值 | 說明 |
| str | (必填) | 搜尋關鍵字 |
| int | 20 | 回傳筆數 |
| int | 0 | 最低價格過濾 (0=不過濾) |
| int | 0 | 最高價格過濾 (0=不過濾) |
| list[list[str]] | None | 關鍵字分組過濾。組與組是 AND 關係,組內是 OR 關係。例:[["SONY", "索尼"], ["電視", "TV"]] = (SONY OR 索尼) AND (電視 OR TV) |
| bool | False | 是否包含競標商品,影響 Yahoo 拍賣與露天市集 (預設僅含立即購買) |
| str | None | 指定單一平台搜尋。None = 搜尋所有平台。可選:pchome, momo, coupang, etmall, rakuten, yahoo_shopping, yahoo_auction, costco, pxbox, uniprosperity, books, ruten, buy123, pcone |
| str | "full" | 多平台搜尋的覆蓋範圍。 |
回傳值:str (TOON 格式) - 壓縮序列化的產品列表,以降低 LLM token 消耗
使用範例
# 搜尋所有平台最低價(預設)
compare_prices(query="SONY 50吋電視")
# 只搜尋 momo 平台
compare_prices(query="SONY 50吋電視", platform="momo")
# 只搜尋 PChome 平台的 Apple 產品
compare_prices(query="Apple AirPods Pro", platform="pchome")
# 搜尋特定品牌(符合其中一個即可)
compare_prices(
query="無線耳機",
require_words=[["Apple", "Beats", "Sony"]] # 品牌過濾
)
# 複雜過濾:品牌 AND 功能
compare_prices(
query="藍牙喇叭",
require_words=[["JBL", "BOSE"], ["防水", "IP67"]], # (JBL OR BOSE) AND (防水 OR IP67)
min_price=500,
max_price=5000
)
# 搜尋包含 Yahoo 拍賣競標商品
compare_prices(query="iPhone 15", include_auction=True)提示:Coupang 等平台的搜尋結果有時會包含不相關的低價商品,使用
require_words可有效過濾。
延遲:全平台併發的總時間等於最慢的平台。pcone 約 1.9 秒、coupang 與 momo 約 0.9 秒都是站方伺服器 render 時間,經三方獨立量測確認無法從 client 端改善(HTTP 版本、TLS 指紋、連線池、壓縮、較輕端點皆無效)。需要次秒回應時用
mode="fast"。
安裝
pip install mcp-taiwan-price-compare
# 或
uv pip install mcp-taiwan-price-compareMCP Server 配置
Claude Desktop / Claude Code
CLI 快速安裝(推薦):
claude mcp add price-compare -- uv run --directory /path/to/price_compare price-compare-mcp手動編輯配置檔:
系統 | 路徑 |
macOS |
|
Windows |
|
Linux |
|
{
"mcpServers": {
"price-compare": {
"command": "uv",
"args": ["run", "--directory", "/path/to/price_compare", "price-compare-mcp"]
}
}
}Gemini CLI
安裝 Gemini CLI:
npm install -g @google/gemini-cli@latest編輯 ~/.gemini/settings.json:
{
"mcpServers": {
"price-compare": {
"command": "uv",
"args": ["run", "--directory", "/path/to/price_compare", "price-compare-mcp"]
}
}
}ChatGPT(Developer Mode)
需要 ChatGPT Plus/Pro/Team/Enterprise 方案
ChatGPT 僅支援遠端 HTTPS MCP server,需先部署或使用 ngrok:
# 本地開發:使用 ngrok 建立 HTTPS 通道
ngrok http 8000開啟 ChatGPT → Settings → Developer mode → 啟用
Settings → Connectors → Create
輸入 MCP server URL(ngrok 提供的 HTTPS URL)
詳細說明:OpenAI MCP 文件
Perplexity AI(Mac 本地)
目前 Perplexity 僅支援 macOS 桌面版的本地 MCP
開啟 Perplexity Mac App → Settings → Connectors
首次使用需安裝 Helper:點擊安裝 PerplexityXPC
點擊 Add Connector → Simple 分頁
填入設定:
Server Name:
price-compareCommand:
uvx --from mcp-taiwan-price-compare price-compare-mcp
測試:輸入「幫我搜尋 iPhone 16 最低價」
詳細說明:Perplexity MCP 文件
其他安裝方式
直接使用 (CLI)
除了作為 MCP Server,你也可以直接在終端機使用此工具進行比價:
# 安裝後可直接使用系統指令
price-compare "Nintendo Switch"
price-compare "Sony 耳機" --top 5 --min 1000 --max 5000 --desc
# 或透過 uv 執行 (如果你沒有全域安裝)
uv run price-compare "Nintendo Switch"CLI 參數說明
參數 | 說明 |
| 搜尋關鍵字 (必填) |
| 顯示筆數 (預設: 10) |
| 最低價格過濾 |
| 最高價格過濾 |
| 價格由高到低排序 (預設為低到高) |
使用 uvx(無需安裝):
{
"mcpServers": {
"price-compare": {
"command": "uvx",
"args": ["--from", "mcp-taiwan-price-compare", "price-compare-mcp"]
}
}
}使用 npx + stdio wrapper:
{
"mcpServers": {
"price-compare": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-proxy", "--", "uv", "run", "price-compare-mcp"]
}
}
}CLI 使用
# 搜尋最便宜的 10 筆
uv run python -m price_compare "iPhone 15"
# 指定數量與價格範圍
uv run python -m price_compare "藍牙耳機" -n 20 --min 500 --max 3000
# 價格由高到低
uv run python -m price_compare "機械鍵盤" --desc參考資料
版本歷史
v0.5.0 (2026-08-03)
🏗️ 架構深化:
BasePlatform由純介面宣告改為承載共用管線(去重、價格轉型、價格上下界、關鍵字分組、排序、截斷)。各平台只需實作_fetch(連網)與_extract(純函式),規則無法在平台間漂移🐛 ETMall 靜默失效:
PageSize超過約 45 會回 400,而 service 固定傳 100,等於該平台在每次全平台搜尋都回 0 筆。改為分頁抓取後恢復🐛 排序宣稱不可信:Coupang 的
salePriceAsc(實測 16 處逆序)與 Rakuten 的LowestPrice(前 5 筆為贊助排序 720/2160/740/1080/1160)都不是真正升冪。改為一律由管線排序,ordered_by_price這個會出錯的宣告直接移除🧹 依平台的基礎過濾:各站以自身的資料特性排除「不是該商品售價」的刊登
Rakuten/Yahoo拍賣:站方回報價格區間者為多規格賣場的地板價(Rakuten 咖啡查詢中 47/100 是多規格,一個 $1~$140 的咖啡紙杯賣場會以 $1 排在最前)。實測 206 筆區間刊登的價差分佈在 6 倍與 10 倍之間有明顯谷底,超過 8 倍者排除。Yahoo購物中心沒有回報區間的欄位,不適用此規則
PChome:
【加價購】無法單獨購買Yahoo拍賣:【徵】/求購/收購中(買方刊登)、請勿下標等佔位刊登、訂金專區、一元起標、滿額贈。比對的是交易意圖用語而非主題字,因此「維修工具」「訂製印章」這類以用途命名的正常商品會保留(早期版本比對裸的維修/訂製/客製化,60 筆結果丟掉 49 筆)
仍會保留的是關鍵字灌水造成的偶然命中(例如 $1 髮圈因有「咖啡色」選項而命中「咖啡」),那屬相關性問題,請用
require_words過濾
🐛 ETMall 與 PChome 缺少去重:其餘 12 個平台都有,這兩個沒有,共用管線一併補上
🐛 分頁的 all-or-nothing 讓 ETMall 常態消音:任一頁失敗就丟棄整組結果,實測 8 次搜尋有 3 次因此完全無結果,而每一次重試都會成功。改為逐頁重試,但仍拒絕有破洞的結果集(缺的若是第一頁,回的甚至不是站方最便宜的那批)
🐛 商品名含跳脫引號被截斷:先對整頁 unescape 再比對,
"會變成裸引號提前關掉屬性比對,SONY 27"LCD只解析出SONY 27。改為只對捕獲值做 unescape,並加上三個平台的跳脫引號 fixture 釘住🛒 平台擴充:7 → 14 個平台,新增 Costco、全聯全電商、萬家福、博客來、露天市集、生活市集、松果購物,各附完整整合測試
🐛 Coupang 修復:該站改版為 Next.js 後舊選擇器全數失效、靜默回傳 0 筆。改以 CSS Module 前綴比對,並將已失效的
sorter=LOWEST_PRICE_ASC換成salePriceAsc恢復低價優先⚡
mode參數:full(預設,14 平台,約 2.1 秒)/fast(9 個次秒級平台,約 0.5 秒)。指定platform時不受影響,慢平台一律可查🔬 離線解析測試:新增
tests/fixtures/與tests/test_parsers.py,解析回歸不再需要真實網路才驗得出來(70 個測試、約 1.2 秒)。另附tests/fixtures/regenerate.py一次重抓全部 17 個 fixture,寫入前先用測試同一套 parser 讀回來,解析結果比現有 fixture 差就拒寫🔧 CI:移除無 cp313 wheel 的
regex-rs(改用 stdlibre,實測快 2.4 倍)、平台矩陣補齊至 14 個、連網測試以livemarker 與離線測試分層(單一站台掛掉只紅該平台),發版流程加上閘門,版本號與測試未過不會上傳🚀 效能:pcone 改用持久連線(2.42 → 2.00 秒)、rakuten 修正結果數上限(原本寫死只回 60 筆)、service 層加上單平台 3 秒上限
v0.4.0 (2026-05-13)
📦 CLI 全域指令:新增
price-compare與price-compare-mcp進入點⬆️ 依賴升級
v0.3.3 (2025-12-08)
🔄 工具統一:合併
compare_prices和search_platform為單一工具platform=None(預設):搜尋所有 14 平台platform="momo"等:搜尋指定單一平台
📝 Prompt 強化:優化 MCP 工具描述,讓 LLM 更容易理解使用方式
v0.3.2 (2025-12-08)
🚀 搜尋優化:動態調整搜尋量,根據
require_words過濾條件自動增加搜尋範圍🎯 結果完整性:確保過濾品牌/型號時不漏掉最低價商品
📝 Prompt 強化:改進工具描述,明確標示 ✅ 正確用法和 ❌ 錯誤用法
v0.3.1 (2025-12-08)
🐛 Bug 修復:修正 Yahoo 拍賣價格解析問題
📝 文件更新:完善 README 和 API 文件
v0.3.0 (2025-12-08)
✨ 重大重構:大規模架構重構,優化平台搜尋效率
🔄 參數優化:
重命名
coupang_keywords→require_words(支援多平台)新增關鍵字分組邏輯(組間 AND、組內 OR)
新增
include_auction參數支援 Yahoo 拍賣競標商品
🚀 性能改進:
使用 TOON 格式壓縮回應,降低 LLM token 消耗 ~30%
優化平台架構,改進並發搜尋效率
🧪 完整測試:新增 CI/CD pipeline 和全平台測試覆蓋
📦 依賴更新:新增
toon_format用於結果序列化
v0.2.1 (2025-12-07)
✨ 更新 momo 和 rakuten 平台的 GraphQL 實現
📝 新增 yahoo 購物中心規劃文檔
🔧 優化 coupang 平台實現
v0.2.0
新增多個電商平台支持
初版功能完善
v0.1.0
項目初始版本
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/coseto6125/mcp-taiwan-price-compare'
If you have feedback or need assistance with the MCP directory API, please join our Discord server