본문으로 건너뛰기
cccskills
무료GitHub에 공개

rental-scraper-mcp

MCP server for scraping Italian rental/sale property listings from multiple real estate portals (Immobiliare.it, Casa.it, and extensible to others) using Camoufox (anti-detection browser) and BeautifulSoup. Plugin architecture — each site is a self-contained adapter with its own URL templates, query param mappings, and CSS selector chains. Use this skill whenever the user wants to search for apartments, houses, or properties in Italy, scrape real estate listings, compare rental prices across Italian cities, or extract property data from Italian portals. Triggers on mentions of immobiliare, casa.it, Italian rentals, affitto, vendita, apartment hunting in Italy, or property scraping.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(128)

  • SKILL.md2.5 KB
  • .env.example2.8 KB
  • .gitignore543 B
  • .planning/codebase/ARCHITECTURE.md8.0 KB
  • .planning/codebase/CONCERNS.md15.8 KB
  • .planning/codebase/CONVENTIONS.md8.4 KB
  • .planning/codebase/INTEGRATIONS.md5.3 KB
  • .planning/codebase/STACK.md4.1 KB
  • .planning/codebase/STRUCTURE.md12.3 KB
  • .planning/codebase/TESTING.md10.1 KB
  • .planning/config.json310 B
  • .planning/phases/01-browser-reliability/01-01-PLAN.md6.1 KB
  • .planning/phases/01-browser-reliability/01-01-SUMMARY.md1.2 KB
  • .planning/phases/01-browser-reliability/01-01-VERIFICATION.md2.8 KB
  • .planning/phases/01-browser-reliability/01-RESEARCH.md6.4 KB
  • .planning/phases/01-browser-reliability/01-VALIDATION.md1.9 KB
  • .planning/phases/02-job-runner-reliability/02-01-PLAN.md11.8 KB
  • .planning/phases/02-job-runner-reliability/02-01-SUMMARY.md3.2 KB
  • .planning/phases/02-job-runner-reliability/02-RESEARCH.md16.7 KB
  • .planning/phases/02-job-runner-reliability/02-VALIDATION.md2.1 KB
  • .planning/phases/02-job-runner-reliability/02-VERIFICATION.md5.0 KB
  • .planning/phases/03-llm-scoring-observability/03-01-PLAN.md22.2 KB
  • .planning/phases/03-llm-scoring-observability/03-01-SUMMARY.md6.0 KB
  • .planning/phases/03-llm-scoring-observability/03-RESEARCH.md23.8 KB
  • .planning/phases/03-llm-scoring-observability/03-VALIDATION.md2.5 KB
  • .planning/phases/04-notion-fail-fast/04-01-PLAN.md14.0 KB
  • .planning/phases/04-notion-fail-fast/04-CONTEXT.md3.5 KB
  • .planning/phases/04-notion-fail-fast/04-RESEARCH.md14.3 KB
  • .planning/phases/04-notion-fail-fast/04-VALIDATION.md1.9 KB
  • .planning/PROJECT.md3.8 KB
  • .planning/quick/1-env-var-check/PLAN.md659 B
  • .planning/quick/1-env-var-check/SUMMARY.md639 B
  • .planning/REQUIREMENTS.md3.5 KB
  • .planning/ROADMAP.md4.7 KB
  • .planning/STATE.md3.1 KB
  • config/default_areas_casa.txt204 B
  • config/default_areas_idealista.txt298 B
  • config/default_areas_immobiliare.txt245 B
  • config/default_areas.txt337 B
  • data/.gitkeep0 B
  • data/app.db-journal0 B
  • docker-compose.yml665 B
  • docs/2026-03-14-dashboard-improvements-implementation.md3.6 KB
  • docs/running-locally.md6.4 KB
  • docs/screenshots/.gitkeep0 B
  • docs/screenshots/listings.png516.2 KB
  • docs/screenshots/monitor.png259.5 KB
  • docs/screenshots/search-configs.png240.7 KB
  • docs/screenshots/site-settings.png332.7 KB
  • docs/screenshots/stats.png255.7 KB
  • docs/superpowers/handoff/2026-03-14-streamlit-docker-handoff.md31.8 KB
  • docs/superpowers/plans/2026-03-14-dashboard-improvements.md20.8 KB
  • docs/superpowers/plans/2026-03-14-langgraph-analysis-notion-push.md43.7 KB
  • docs/superpowers/plans/2026-03-14-readme-docs-update.md25.8 KB
  • docs/superpowers/plans/2026-03-14-streamlit-docker-platform.md60.0 KB
  • docs/superpowers/plans/2026-03-15-notion-push-on-demand.md19.2 KB
  • docs/superpowers/plans/2026-03-16-uv-migration.md17.9 KB
  • docs/superpowers/specs/2026-03-14-dashboard-improvements-design.md11.3 KB
  • docs/superpowers/specs/2026-03-14-langgraph-analysis-notion-push-design.md12.1 KB
  • docs/superpowers/specs/2026-03-14-readme-docs-update-design.md6.9 KB
  • docs/superpowers/specs/2026-03-14-streamlit-docker-frontend-design.md13.6 KB
  • docs/superpowers/specs/2026-03-15-notion-push-on-demand-design.md5.8 KB
  • docs/superpowers/specs/2026-03-16-uv-migration-design.md3.4 KB
  • LICENSE1.0 KB
  • mcp_config_example.json174 B
  • preferences.txt562 B
  • pyproject.toml1.0 KB
  • pytest.ini46 B
  • README.md15.3 KB
  • scrape_multiple_areas_casa.sh5.0 KB
  • scrape_multiple_areas_idealista.sh4.1 KB
  • scrape_multiple_areas.sh5.0 KB
  • scripts/process_listings.py4.7 KB
  • src/apt_scrape/__init__.py218 B
  • src/apt_scrape/analysis.py15.2 KB
  • src/apt_scrape/cli.py18.8 KB
  • src/apt_scrape/devctl.py6.1 KB
  • src/apt_scrape/enrichment.py8.9 KB
  • src/apt_scrape/export.py3.1 KB
  • src/apt_scrape/notion_push.py14.5 KB
  • src/apt_scrape/server.py35.4 KB
  • src/apt_scrape/sites/__init__.py5.1 KB
  • src/apt_scrape/sites/base.py30.7 KB
  • src/apt_scrape/sites/casa.py3.6 KB
  • src/apt_scrape/sites/configs/casa.yaml3.5 KB
  • src/apt_scrape/sites/configs/idealista.yaml4.0 KB
  • src/apt_scrape/sites/configs/immobiliare.yaml3.5 KB
  • src/apt_scrape/sites/idealista.py9.8 KB
  • src/apt_scrape/sites/immobiliare.py10.9 KB
  • src/backend/__init__.py0 B
  • src/backend/db.py5.9 KB
  • src/backend/Dockerfile834 B
  • src/backend/main.py1.2 KB
  • src/backend/routers/__init__.py0 B
  • src/backend/routers/configs.py4.1 KB
  • src/backend/routers/jobs.py4.4 KB
  • src/backend/routers/listings.py4.4 KB
  • src/backend/routers/preferences.py957 B
  • src/backend/routers/sites.py5.9 KB
  • src/backend/runner.py12.5 KB
  • src/backend/scheduler.py3.6 KB
  • src/frontend/api.py1.9 KB
  • src/frontend/app.py2.2 KB
  • src/frontend/Dockerfile385 B
  • src/frontend/pages/1_Search_Configs.py11.4 KB
  • src/frontend/pages/2_Monitor.py5.9 KB
  • src/frontend/pages/3_Preferences.py1.1 KB
  • src/frontend/pages/4_Listings.py6.7 KB
  • src/frontend/pages/5_Site_Settings.py7.4 KB
  • src/frontend/pages/6_Stats.py5.0 KB
  • templates/new_site_adapter.py5.2 KB
  • tests/__init__.py0 B
  • tests/backend/__init__.py0 B
  • tests/backend/test_configs.py2.9 KB
  • tests/backend/test_db.py2.9 KB
  • tests/backend/test_jobs.py1.6 KB
  • tests/backend/test_listings.py5.4 KB
  • tests/backend/test_main.py304 B
  • tests/backend/test_preferences.py1021 B
  • tests/backend/test_runner.py3.9 KB
  • tests/backend/test_scheduler.py2.1 KB
  • tests/backend/test_server.py4.3 KB
  • tests/backend/test_sites.py2.5 KB
  • tests/test_analysis.py7.1 KB
  • tests/test_cli_push.py3.7 KB
  • tests/test_immobiliare.py15.0 KB
  • tests/test_notion_push.py8.5 KB
  • uv.lock780.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Rental Scraper MCP Server

A local MCP server (stdio transport) that scrapes Italian real estate listings using Camoufox for anti-bot evasion and BeautifulSoup for HTML parsing.

Architecture

rental-scraper-mcp/
├── server.py              # Thin MCP shell — tools + browser manager
├── cli.py                 # Standalone CLI (search, detail, dump, sites)
├── sites/
│   ├── __init__.py        # Adapter registry (auto-discovery, lookup)
│   ├── base.py            # Abstract SiteAdapter + SiteConfig + SelectorGroup
│   ├── immobiliare.py     # Immobiliare.it adapter
│   ├── casa.py            # Casa.it adapter
│   └── _template.py       # Copy this to add a new site
├── requirements.txt
└── mcp_config_example.json

Plugin System

Each site is a SiteAdapter subclass with a SiteConfig dataclass. The config holds:

  • URL template + query param mappings (how filters become URL parameters)
  • CSS selector chains with fallbacks (how HTML becomes structured data)
  • Property type / operation slug mappings
  • Wait selectors for the stealth browser

To add a new site: copy sites/_template.py, fill in the config, register in sites/__init__.py.

Tools

ToolDescription
rental_search_listingsSearch with filters → structured listing summaries
rental_get_listing_detailFetch one listing URL → full detail extraction
rental_list_sitesShow all registered site adapters
rental_dump_pageDump raw HTML for debugging selectors

Setup

pip install -r requirements.txt
camoufox fetch

Claude Code

{
  "mcpServers": {
    "rental-scraper": {
      "command": "python",
      "args": ["server.py"],
      "cwd": "/path/to/rental-scraper-mcp"
    }
  }
}

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

이 스킬의 문제 신고