Goofish MCP Server
by mercy719
README.md
# Goofish MCP Server
独立的 Goofish / 闲鱼 MCP server,使用 **Node.js + Playwright**,并通过**页面上下文里的 `window.lib.mtop.request(...)`** 获取搜索数据。
## 当前状态
- ✅ `search_items`:已按真实 Goofish 页面 + mtop 路线实现
- ✅ `get_item_detail`:已接入 `mtop.taobao.idle.pc.detail`,可结构化返回价格、卖家、地区、图片、属性、描述
- ✅ `monitor_keyword`:复用 `search_items`
- ✅ 浏览器登录态持久化:使用 Playwright persistent context
## 安装
```bash
cd goofish-mcp-server
npm install
```
## 运行
```bash
npm start
```
默认使用:
- 浏览器 profile 目录:`./.profiles/goofish`
- 非 headless
可选环境变量:
```bash
GOOFISH_PROFILE_DIR=/path/to/profile
GOOFISH_HEADLESS=1
```
## 第一次登录
首次启动时会打开浏览器 profile。
你需要在这个 profile 里手动登录 Goofish 一次。
后续 session 会复用该登录态。
## MCP tools
### 1. search_items
输入:
```json
{
"keyword": "iphone 15 pro",
"limit": 10
}
```
### 2. get_item_detail
输入:
```json
{
"item_id": "1234567890"
}
```
或:
```json
{
"url": "https://www.goofish.com/item?id=1234567890"
}
```
### 3. monitor_keyword
输入:
```json
{
"keyword": "iphone 15 pro",
"max_items": 20,
"dedupe_key": "item_id"
}
```
## Claude / OpenClaw 接入思路
把这个进程作为 stdio MCP server 挂进去即可。
配置示例文件:
- `mcp-config-examples.json`
Claude Desktop 核心思路:
```json
{
"mcpServers": {
"goofish": {
"command": "node",
"args": ["/absolute/path/to/goofish-mcp-server/index.js"],
"env": {
"GOOFISH_PROFILE_DIR": "/absolute/path/to/goofish-mcp-server/.profiles/goofish",
"GOOFISH_HEADLESS": "0"
}
}
}
}
```
## 下一步建议
1. 补强 `get_item_detail` 的真实结构化字段
2. 增加 cookie/export/import 管理
3. 增加自动登录检测和错误提示
4. 增加 remote/http transport
TDQS
B3.3/5.0
Scored across 4 tools
Disambiguation5/5
Each tool has a clearly distinct purpose: one for getting item details, one for setting up keyword monitoring, one for publishing items, and one for searching. No overlap in functionality.
Naming Consistency5/5
All tool names follow a consistent verb_noun pattern in snake_case (get_item_detail, monitor_keyword, publish_item, search_items), making them predictable and easy to understand.
Tool Count5/5
With 4 tools covering search, detail retrieval, publishing, and monitoring, the set is well-scoped for its domain without being excessive or insufficient.
Completeness3/5
While the server covers search, detail, publish, and monitoring, it lacks update and delete capabilities, leaving a notable gap in the full lifecycle of item management.
Maintenance
ActivityInactive
ResponsivenessNo issues