FishClaw MCP — Управление 闲鱼 (Xianyu) через естественный язык
FishClaw — это MCP-сервер на чистом Python, который превращает браузерную автоматизацию торговой площадки 闲鱼 (Xianyu / Goofish) в набор инструментов для ИИ-агентов (Claude Desktop, Cursor и др.). Вы отдаёте команды на естественном языке — сервер сам открывает браузер, заполняет формы, ищет товары и управляет публикациями. Никакого кода писать не нужно.
⚠️ Предупреждение: проект предназначен только для обучения и личного ознакомления. Не используйте его в коммерческих или незаконных целях. Вся ответственность за использование лежит на вас.
Установка
git clone https://github.com/TnoobT/FishClaw.git
cd FishClaw
Зависимости
Рекомендуется использовать uv (быстрее), но подойдёт и обычный pip:
# uv
uv sync
# или pip
pip install -e .
Установка браузера
playwright install chromium
Конфигурация
Скопируйте файл .env.example в .env и заполните переменные. Обязательно только AGENT_LLM_API_KEY — ключ от Alibaba Cloud DashScope (для работы LLM и генерации текста).
cp .env.example .env
Основные переменные:
| Переменная |
Обязательная |
По умолчанию |
Описание |
AGENT_LLM_API_KEY |
Да |
— |
API-ключ DashScope |
AGENT_LLM_MODEL |
Нет |
qwen-max |
Модель для рассуждений |
IMAGE_API_KEY |
Нет |
— |
API-ключ для генерации изображений (если не указан, используется заглушка) |
PLAYWRIGHT_HEADLESS |
Нет |
false |
true — безголовый режим (выше риск блокировки) |
PROXY |
Нет |
— |
Адрес прокси, например http://127.0.0.1:7890 |
ENABLE_FARMING |
Нет |
false |
Включить инструмент симуляции поведения пользователя |
Полный список переменных описан в .env.example.
Быстрый старт
- Запустите сервер для проверки:
python server.py
Если вы видите Starting MCP server — всё работает. Остановите Ctrl+C.
- Подключение к MCP-клиенту
Claude Desktop
Отредактируйте файл конфигурации:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
Пример (запуск через python):
{
"mcpServers": {
"fishclaw": {
"command": "python",
"args": ["/полный/путь/к/FishClaw/server.py"],
"env": {
"AGENT_LLM_API_KEY": "ваш-ключ-dashscope"
}
}
}
}
Или через uv:
{
"mcpServers": {
"fishclaw": {
"command": "uv",
"args": ["--directory", "/полный/путь/к/FishClaw", "run", "server.py"]
}
}
}
Cursor
Добавьте аналогичную конфигурацию в ~/.cursor/mcp.json или .cursor/mcp.json в корне проекта.
Доступные инструменты
| Инструмент |
Назначение |
Важно |
login |
Проверка входа; при необходимости открывает браузер для QR-сканирования |
— |
search_market |
Поиск товаров по ключевому слову, сбор заголовков, цен, ссылок |
— |
draft_item |
Заполнение черновика объявления (изображение, описание, цена) и создание скриншота |
— |
publish_item |
Публикация товара |
⚠️ Необратимо |
get_selling_items |
Список всех активных объявлений |
— |
manage_item |
Снятие с продажи или удаление товара |
⚠️ Необратимо |
get_page_content |
Чтение видимого текста текущей страницы |
— |
simulate_farming |
Имитация поведения реального пользователя для снижения риска блокировки |
Включается через ENABLE_FARMING=true |
generate_image |
Генерация обложки товара через DashScope |
Требуется IMAGE_API_KEY |
generate_image_prompt |
Создание промпта для генерации изображения (техническая тематика) |
— |
generate_product_description |
Генерация описания товара для 闲鱼 |
— |
Примеры использования
После подключения к MCP-клиенту просто говорите, что нужно сделать:
- «Опубликуй услугу «Парсинг на Python» за 99 юаней» → сервер сам сгенерирует картинку, напишет описание, заполнит форму и покажет скриншот перед публикацией.
- «Покажи мои текущие объявления» → откроет личный кабинет и выведет список.
- «Сними с продажи второе объявление» → найдёт товар и выполнит действие.
- «Найди учебники по Python и посмотри цены» → соберёт 20 первых результатов.
Структура проекта
FishClaw/
├── server.py # Точка входа MCP-сервера (FastMCP)
├── pyproject.toml # Зависимости проекта
├── .env.example # Шаблон переменных окружения
├── assets/
│ └── default_agent.png # Изображение-заглушка для генерации
└── tools/
├── xianyu_tools.py # Автоматизация 闲鱼 (Playwright)
├── generate_image_tools.py # Генерация изображений через DashScope
├── prompt_tools.py # Генерация текста и промптов через LLM
└── xconfig.py # Настройки логирования
Технологии
- MCP-протокол: Python MCP SDK (FastMCP)
- Браузерная автоматизация: Playwright + playwright-stealth
- LLM и генерация изображений: Alibaba Cloud DashScope (qwen-max, z-image-turbo)
- Zero внешних agent-фреймворков — только чистый Python.
Комментарии
Комментариев пока нет. Будьте первым.