# fetchaller > MCP server that fetches any URL as clean markdown. No domain restrictions. Built-in web search, Reddit, marketplace, AliExpress, and Alibaba tools. Bot protection bypass is automatic. ## Tools ### fetch(url, maxTokens?, timeout?, raw?) Fetch any URL and return clean markdown. Handles HTML, JSON, XML, CSV, PDF. Site-specific cleanup for 20+ sites (GitHub, Reddit, Amazon, eBay, Stack Overflow, HN, Wikipedia, Medium, Hugging Face, DigiKey, Mouser, Molex, Craigslist, Kijiji, Facebook Marketplace, Alibaba, AliExpress, RedFlagDeals, forums, TI, Soylent). All other sites get universal junk removal. | Param | Type | Default | Description | |-------|------|---------|-------------| | url | string | required | URL to fetch | | maxTokens | integer | 25000 | Max tokens to return | | timeout | integer | 10 | Request timeout in seconds | | raw | boolean | false | Return raw HTML instead of markdown | ### search(query, page?) Web search via Google + DuckDuckGo. Returns titles, URLs, and snippets. Use `fetch` to read full pages from results. | Param | Type | Default | Description | |-------|------|---------|-------------| | query | string | required | Search query | | page | integer | 1 | Result page (1-indexed) | ### browse_reddit(subreddit, sort?, time?, limit?, after?, timeout?) Browse subreddit posts. Returns metadata and URLs. Use `fetch` to read full post content. | Param | Type | Default | Description | |-------|------|---------|-------------| | subreddit | string | required | Subreddit name without r/ prefix | | sort | string | hot | hot, new, top, rising | | time | string | day | hour, day, week, month, year, all (for "top" sort only) | | limit | integer | 10 | Number of posts (1-25) | | after | string | — | Pagination cursor from previous response | | timeout | integer | 10 | Request timeout in seconds | ### search_reddit(query, subreddit?, sort?, time?, limit?, after?, timeout?) Search Reddit posts. Returns metadata and URLs. Use `fetch` to read full post content. | Param | Type | Default | Description | |-------|------|---------|-------------| | query | string | required | Search query | | subreddit | string | — | Limit to subreddit (without r/) | | sort | string | relevance | relevance, hot, top, new, comments | | time | string | all | hour, day, week, month, year, all | | limit | integer | 10 | Number of results (1-25) | | after | string | — | Pagination cursor from previous response | | timeout | integer | 10 | Request timeout in seconds | ### search_marketplace(query, location, platforms?, category?, sort?, condition?, min_price?, max_price?) Search Kijiji, Craigslist, and Facebook Marketplace simultaneously. Returns grouped results. Use `fetch` on result URLs for full listing details. | Param | Type | Default | Description | |-------|------|---------|-------------| | query | string | required | Search keywords | | location | string | required | City name, optionally with province/state (e.g. "toronto", "st catharines, ON", "seattle") | | platforms | string[] | all | kijiji, craigslist, facebook. Kijiji is Canada-only and auto-skipped for US locations. | | category | string | all | all, cars, electronics, furniture, clothing, tools, free, bikes, phones, motorcycles, boats, rvs, auto_parts, sporting, toys, baby | | sort | string | date | date, price_asc, price_desc, relevance | | condition | string | — | new, like_new, good, fair | | min_price | integer | — | Minimum price in dollars | | max_price | integer | — | Maximum price in dollars | ### get_aliexpress_product(product_id) Get AliExpress product details: price, specifications, ratings, and recent reviews. | Param | Type | Description | |-------|------|-------------| | product_id | string | required — Numeric product ID or full AliExpress URL | ### search_aliexpress(query, page?, sort?, min_price?, max_price?) Search AliExpress products. Returns listings with prices, ratings, and links. | Param | Type | Default | Description | |-------|------|---------|-------------| | query | string | required | Search query | | page | integer | 1 | Page number (1-indexed) | | sort | string | default | default, orders, price_asc, price_desc | | min_price | number | — | Minimum price filter | | max_price | number | — | Maximum price filter | ### get_alibaba_product(product_id) Get Alibaba.com B2B product details: tiered pricing, MOQ, lead times, supplier info, specifications. | Param | Type | Description | |-------|------|-------------| | product_id | string | required — Numeric product ID or full Alibaba.com URL | ### search_alibaba(query, page?, sort?, min_price?, max_price?) Search Alibaba.com B2B products. Returns supplier listings with tiered pricing, MOQ, and supplier info. | Param | Type | Default | Description | |-------|------|---------|-------------| | query | string | required | Search query | | page | integer | 1 | Page number (1-indexed) | | sort | string | default | default, price_asc, price_desc | | min_price | number | — | Minimum price filter (USD) | | max_price | number | — | Maximum price filter (USD) | ## Installation Requires Python 3.12+ and uv. ``` git clone https://github.com/Averyy/fetchaller-mcp.git cd fetchaller-mcp uv sync && patchright install chromium claude mcp add fetchaller -- $(pwd)/.venv/bin/python -m fetchaller.main ``` Restart Claude Code after adding. No API keys required. ### Permissions Add to `~/.claude/settings.json` (or `.claude/settings.local.json` for per-project): ```json { "permissions": { "allow": [ "mcp__fetchaller__fetch", "mcp__fetchaller__search", "mcp__fetchaller__browse_reddit", "mcp__fetchaller__search_reddit", "mcp__fetchaller__search_marketplace", "mcp__fetchaller__get_aliexpress_product", "mcp__fetchaller__search_aliexpress", "mcp__fetchaller__get_alibaba_product", "mcp__fetchaller__search_alibaba" ] } } ``` ### Optional environment variables | Variable | Description | |----------|-------------| | MOUSER_API_KEY | Mouser Search API key (enables structured API responses for mouser.com) | | DIGIKEY_CLIENT_ID | DigiKey API client ID (enables structured API responses for digikey.com) | | DIGIKEY_CLIENT_SECRET | DigiKey API client secret | ## Source - [GitHub](https://github.com/Averyy/fetchaller-mcp) - [fetchaller.com](https://www.fetchaller.com)