{
  "markdown": "# avito-mcp-plugin\n\nПереносимый плагин для AI-агентов (Claude Code, Cursor, Codex, Gemini CLI и др.)\nдля работы с [Avito](https://avito.ru): набор **skills** + **MCP-серверы** на\nPython ([FastMCP v3](https://gofastmcp.com)).\n\n> **СТАТУС: v0.5.0.** Цель — **полнофункциональный парсер каталога Avito**:\n> парсинг, мониторинг, история цены, экспорт и уведомления. Движок\n> (куки → rotate-until-clean → curl_cffi → извлечение JSON) и **все 7 MCP-тулз\n> реализованы**; после Фаз 2–5 архитектура распределена на ролевые серверы\n> (`servers/`), gateway — единая точка входа. Сетевую часть не проверить без\n> чистого RU-прокси: с домашнего IP Avito отдаёт 403/429 после 2–3 запросов.\n> План и статус фаз — [`docs/roadmap.md`](docs/roadmap.md).\n\n## Идея\n\nПлагин построен по принципу **«толстое ядро + тонкие адаптеры»**:\n\n- **MCP-серверы несут** детерминированную логику (куки, прокси, rotate-until-clean,\n  HTTP, извлечение JSON, фильтры, Postgres/Supabase, экспорт, уведомления);\n  код тулз не попадает в контекст агента.\n- **Skills** несут процедурное знание: как обходить антибот и как выбирать нужную\n  MCP-тулзу под задачу.\n- **Тонкие адаптеры** (`AGENTS.md`, `GEMINI.md`, …) дают переносимость между\n  агентами.\n\nПодробнее — [`docs/architecture.md`](docs/architecture.md).\n\n## Архитектура: gateway + ролевые серверы\n\nМонолит разбит на uv-workspace [**`servers/`**](servers/README.md) (Фазы 1–5):\n\n| Сервер | Пакет | Роль |\n|---|---|---|\n| **gateway** | `avito_mcp_server` | входная дверь: 7 тулз + skills/ по MCP + прокси db/notify |\n| **scraper** | `avito_mcp_scraper` | движок парсинга (stateless) |\n| **db** | `avito_mcp_db` | единственный stateful: Supabase, история цен, экспорт |\n| **notify** | `avito_mcp_notify` | уведомления Telegram/VK |\n| **shared** | `avito_mcp_shared` | общие утилиты (роли, неймспейсы) |\n\nGateway — «входная дверь»: клиенты запускают только его, ролевые серверы\nподтягиваются как Python-пакеты uv-workspace. **7 MCP-тулз**\n(`search_listings`, `get_listing`, `scan_new_listings`, `check_proxy_health`,\n`send_notification`, `export_listings`, `get_price_history`) доступны под\nсвоими именами; состояние — в db (Supabase, `AVITO_SUPABASE_DSN`); раздача\n`skills/` по MCP (`SkillsProvider`) работает.\n\n## Skills\n\n| Скил | Когда триггерится |\n|---|---|\n| [`using-avito-mcp`](skills/using-avito-mcp/SKILL.md) | нужны данные Avito → маршрутизация в тулзы |\n| [`scraping-avito`](skills/scraping-avito/SKILL.md) | антибот, `403`/`429`, капча при парсинге |\n\nПолный статус скилов — [`docs/skills.md`](docs/skills.md).\n\n## Установка\n\n> Плагин ещё не опубликован в маркетплейсе. Пока — локальная установка для разработки.\n\n### Claude Code (локально)\n\n```bash\ngit clone https://github.com/evgenygurin/avito-mcp-plugin.git\nclaude --plugin-dir ./avito-mcp-plugin     # загрузить на сессию\n/reload-plugins\nclaude plugin validate ./avito-mcp-plugin --strict  # проверка манифестов (не скилов)\n```\n\nMCP-сервер (gateway) стартует автоматически (см. [`.mcp.json`](.mcp.json));\nтребуется установленный [`uv`](https://docs.astral.sh/uv/).\n\n### Другие агенты\n\nГотовые конфиги MCP-сервера для Cursor / Codex / Gemini CLI / VS Code —\n[`examples/mcp-configs/`](examples/mcp-configs/); тонкие адаптеры —\n[`.cursor-plugin/plugin.json`](.cursor-plugin/plugin.json) и\n[`.codex/INSTALL.md`](.codex/INSTALL.md). Форматы и нюансы —\n[`docs/portability.md`](docs/portability.md).\n\nСервер также **раздаёт skills по MCP** (`skill://<name>/SKILL.md`).\n\n## Документация\n\n- [Архитектура](docs/architecture.md) — распределённая композиция gateway + роли\n- [MCP-серверы](docs/mcp-server.md) — 4 сервера, как запускать каждый отдельно\n- [Skills](docs/skills.md) — стандарт agentskills.io\n- [Парсинг Avito](docs/avito-scraping.md) — антибот, гибридная схема, прокси\n- [Переносимость](docs/portability.md) — конфиги MCP по агентам\n- [Релиз](docs/releasing.md) — версии, сборка, PyPI\n- [Roadmap](docs/roadmap.md) — этапы разработки и статус рефакторинга\n- [Дизайн парсера](docs/superpowers/specs/2026-07-18-avito-parser-design.md) — канон\n\n## Философия\n\n- **Детерминизм в тулзах, знание в skills** — тяжёлая логика не ест контекст.\n- **Переносимость** — открытые стандарты (MCP, Agent Skills), а не привязка к рантайму.\n- **Полнофункциональный парсер каталога Avito** — фактические данные и мониторинг\n  публичных объявлений; `parse_phone` сознательно не реализуется (ПДн третьих лиц).\n- **Documentation TDD** — skills тестируются на свежих агентах до релиза.\n\n## Disclaimer\n\nПарсинг публичных объявлений Avito сопряжён с правовыми рисками в РФ (антибот,\nсмежное право на БД, ПДн при выходе за фактические поля). Проект не даёт\nюридических консультаций; риски несёт оператор.\n\n## Вклад\n\nСм. [`CONTRIBUTING.md`](CONTRIBUTING.md). Skills создаются по методологии\n`superpowers:writing-skills`.\n\n## Лицензия\n\nMIT — см. [`LICENSE`](LICENSE).",
  "bytes": 4819,
  "sha": "af04fa45a89cfbbf02521e5a2db1a81be614117a343329ef365dec0eb7bb85e4",
  "repo_slug": "evgenygurin/avito-mcp-plugin",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_evgenygurin_avito_mcp_plugin_5bf279be/readme"
}