Skip to main content
Glama
README.md
# CoolPC MCP Server

一個基於 Model Context Protocol (MCP) 的伺服器,提供台灣原價屋 (CoolPC) 電腦零組件價格查詢功能,讓 Claude Desktop 等 MCP 客戶端能夠透過 AI 協助生成電腦報價單。

## 功能特色

- 🔍 **智能搜尋**: 支援關鍵字、分類、價格範圍搜尋
- 📊 **產品分析**: 提供產品規格比較和價格分析  
- 💰 **報價生成**: 根據需求自動生成電腦配置報價單
- 🔥 **即時標記**: 顯示熱銷商品、降價商品、限時優惠等標記
- 🏷️ **分類瀏覽**: 完整的產品分類和統計資訊

## 專案結構

```
coolpc-mcp-server/
├── coolpc_parser.py             # Python 解析器
├── evaluate.html               # 範例 HTML 資料
├── product-sample.json         # 範例產品資料
├── src/
│   └── index.ts               # MCP Server 主程式
├── package.json               # Node.js 相依性
├── tsconfig.json              # TypeScript 設定
└── README.md                  # 說明文件
```

## 快速開始

### 1. 環境需求

- **Python 3.x** (用於資料解析)
- **Node.js 18+** (用於 MCP Server)
- **Claude Desktop** (作為 MCP 客戶端)

### 2. 安裝相依性

```bash
# 安裝 Node.js 相依性
npm install
```

### 3. 產生 product.json

從原價屋網站取得最新資料並產生產品資料檔:

```bash
# 方法一:直接下載最新資料並解析 (推薦)
python3 coolpc_parser.py --download --json product.json

# 方法二:使用本地 HTML 檔案
# 1. 開啟瀏覽器到 https://www.coolpc.com.tw/evaluate.php
# 2. 另存網頁為 evaluate.html
# 3. 執行解析器
python3 coolpc_parser.py evaluate.html --json product.json
```

### 4. 建置 MCP Server

```bash
# 開發模式 (即時編譯)
npm run dev

# 或建置生產版本
npm run build
npm start
```

## Claude Desktop 設定

在 Claude Desktop 中設定 MCP Server,讓 Claude 能夠使用電腦零組件查詢功能。

### 設定步驟

1. **開啟 Claude Desktop 設定檔**

   找到 Claude Desktop 的設定檔位置:
   - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
   - **Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`

2. **新增 MCP Server 設定**

   在設定檔中新增以下設定:

   ```json
   {
     "mcpServers": {
       "coolpc": {
         "command": "node",
         "args": ["/path/to/coolpc-mcp-server/build/index.js"],
         "env": {}
       }
     }
   }
   ```

   > 請將 `/path/to/coolpc-mcp-server` 替換為專案的實際路徑

3. **重新啟動 Claude Desktop**

   儲存設定檔後,重新啟動 Claude Desktop 讓設定生效。

### 使用範例

設定完成後,您可以在 Claude Desktop 中使用以下指令:

```
請幫我查詢 Intel CPU 的價格範圍

幫我配電腦菜單,能順跑 4K 解析度 3A 大作,並且 CP 值要非常高,儘可能節省預算

請推薦一套預算 3 萬元的遊戲電腦配置

整理一套預算 15000 元內的準系統文書機

比較 NVIDIA RTX 4070 和 RTX 4060 的規格和價格

列出所有主機板的分類和數量

查詢 AM5 腳位的 CPU,價格由低到高排序

找出 6 核心的處理器

搜尋 RTX 4060 顯示卡,價格由低到高

找出 DDR5 32GB 的記憶體

查詢 1TB 的 M.2 SSD

找 AM5 腳位的 B650 晶片組主機板
```

## 可用工具

MCP Server 提供以下工具供 Claude 使用:

### `search_products`
搜尋產品,支援關鍵字、分類、價格範圍篩選
```typescript
search_products({
  keyword?: string,    // 搜尋關鍵字
  category?: string,   // 產品分類
  minPrice?: number,   // 最低價格
  maxPrice?: number    // 最高價格
})
```

### `get_product_by_model`
根據型號取得特定產品資訊
```typescript
get_product_by_model({
  model: string       // 產品型號
})
```

### `list_categories`
列出所有產品分類及統計資訊
```typescript
list_categories()
```

### `get_category_products`
取得特定分類的所有產品
```typescript
get_category_products({
  category: string    // 分類名稱
})
```

### `search_cpu`
專門搜尋 CPU 處理器,支援腳位、核心數篩選和價格排序
```typescript
search_cpu({
  socket?: string,     // CPU 腳位 (如 'AM5', '1700', '1851', 'AM4')
  cores?: number,      // 核心數量
  sort_by?: string,    // 排序方式 ('price_asc' | 'price_desc')
  limit?: number       // 結果數量限制 (預設: 10)
})
```

### `search_gpu`
專門搜尋顯示卡,支援晶片型號、記憶體容量篩選和價格排序
```typescript
search_gpu({
  chipset?: string,    // GPU 晶片 (如 'RTX 4060', 'RTX 4070', 'RX 7600')
  memory?: number,     // 記憶體容量 (GB)
  sort_by?: string,    // 排序方式 ('price_asc' | 'price_desc')
  limit?: number       // 結果數量限制 (預設: 10)
})
```

### `search_ram`
專門搜尋記憶體,支援類型、容量、頻率篩選和價格排序
```typescript
search_ram({
  type?: string,       // 記憶體類型 (如 'DDR4', 'DDR5')
  capacity?: number,   // 總容量 (GB)
  frequency?: number,  // 頻率 (MHz,如 3200, 4800, 5600)
  sort_by?: string,    // 排序方式 ('price_asc' | 'price_desc')
  limit?: number       // 結果數量限制 (預設: 10)
})
```

### `search_ssd`
專門搜尋固態硬碟,支援介面、容量篩選和價格排序
```typescript
search_ssd({
  interface?: string,  // 介面類型 (如 'M.2', 'SATA', 'NVMe', 'PCIe')
  capacity?: number,   // 容量 (GB)
  sort_by?: string,    // 排序方式 ('price_asc' | 'price_desc')
  limit?: number       // 結果數量限制 (預設: 10)
})
```

### `search_motherboard`
專門搜尋主機板,支援腳位、晶片組、尺寸規格篩選和價格排序
```typescript
search_motherboard({
  socket?: string,     // CPU 腳位 (如 'AM5', '1700', '1851', 'AM4')
  chipset?: string,    // 晶片組 (如 'B650', 'X670', 'Z790', 'B760')
  form_factor?: string,// 尺寸規格 (如 'ATX', 'mATX', 'ITX')
  sort_by?: string,    // 排序方式 ('price_asc' | 'price_desc')
  limit?: number       // 結果數量限制 (預設: 10)
})
```

## 開發指南

### 更新產品資料

定期更新產品資料以確保價格和庫存資訊準確:

```bash
# 方法一:直接下載最新資料 (推薦)
python3 coolpc_parser.py --download --json product.json

# 方法二:手動下載 HTML 檔案
# 1. 從 https://www.coolpc.com.tw/evaluate.php 下載最新 HTML
# 2. 解析資料
python3 coolpc_parser.py evaluate.html --json product.json

# 重新建置 MCP Server
npm run build
```

### 開發模式

```bash
# 開發模式 (自動重載)
npm run dev
```

### 除錯

檢查 Claude Desktop 的 MCP 連線狀態:
1. 開啟 Claude Desktop
2. 檢查左下角是否顯示 🔌 圖示
3. 點擊查看 MCP Server 連線狀態

## 故障排除

### 常見問題

**Q: Claude Desktop 無法連接到 MCP Server**
- 檢查設定檔路徑是否正確
- 確認 Node.js 和相依性已正確安裝
- 檢查 product.json 檔案是否存在

**Q: 搜尋結果為空**
- 確認 product.json 包含資料
- 檢查搜尋關鍵字是否正確
- 嘗試使用不同的搜尋條件

**Q: 產品資料過舊**
- 重新從原價屋網站取得 HTML 資料
- 執行解析器更新 product.json
- 重新啟動 MCP Server

### 日誌檢查

```bash
# 檢查 MCP Server 輸出
npm run dev

# 檢查解析器輸出
python3 coolpc_parser.py evaluate.html --summary
```

## 授權條款

本專案僅供學習和研究用途。使用時請遵守原價屋網站的使用條款。

## 貢獻

歡迎提交 Issue 和 Pull Request 來改善這個專案。

---

**注意**: 本工具僅提供價格參考,實際價格請以原價屋官網為準。

TDQS

A3.7/5.0

Scored across 9 tools

Disambiguation4/5

Most tools have distinct purposes, with dedicated search tools for specific components (CPU, GPU, motherboard, RAM, SSD) and general tools for browsing categories and products. However, there is some overlap between 'search_products' and the specialized search tools, as the description suggests using the general tool when component type is uncertain, which could lead to confusion about when to choose which.

Naming Consistency5/5

All tool names follow a consistent snake_case pattern with clear verb_noun structures (e.g., get_category_products, search_cpu, list_categories). The naming is predictable and readable, making it easy for agents to understand the action and target resource.

Tool Count5/5

With 9 tools, the count is well-scoped for a computer component catalog server. It covers essential operations like browsing categories, retrieving specific products, and searching across general and specialized components, ensuring each tool has a clear role without being overwhelming.

Completeness4/5

The tool set provides strong coverage for browsing and searching computer components, including categories, specific products, and specialized searches for key parts like CPU, GPU, and RAM. A minor gap is the lack of tools for actions like adding to a cart or checking out, but these might be outside the server's intended scope, and core retrieval and search workflows are well-covered.

Maintenance

ActivityInactive
ResponsivenessNo issues