SearchLABSCO SUMMARY
Four ways to get the web into a prompt.
The split is worth knowing before you pick a call: search finds pages, scrape reads one, crawl walks a site under a depth and page cap, and extract takes a list of URLs plus an instruction and returns only the fields you asked for. Extraction is the one that saves the most context, because the filtering happens before the content reaches the model. Everything runs against your own Firecrawl key.
What it is
An MCP server that puts Firecrawl behind an assistant. Four operations cover the range from find me pages, to read this one, to walk this site, to pull these specific fields out of these URLs using an instruction written in plain language.
What you get
- Search: a query string in, results as JSON out
- Extraction driven by an instruction rather than a selector — pass
urlsand aprompt, withenableWebSearchto supplement andshowSourcesto keep the references - Crawl a site from a starting
url, bounded bymaxDepthand a pagelimit, returned as markdown or HTML - Scrape a single page, with screenshots optional
Requirements
Python 3.11 or higher (the project's pyproject.toml requires it, though the README says 3.8), the uv package manager, and a Firecrawl API key as FIRECRAWL_API_KEY; An OpenAI API key and a Tavily API key are listed as optional in the README's Prerequisites; its environment section calls OPENAI_API_KEY required for the AI-powered features. Clone the repository, uv venv, uv sync, and put the keys in a .env at the project root. The documented client entry runs uv with --directory, your absolute checkout path, run and main.py — so the config points at a checkout rather than a published package. Usage is billed by Firecrawl.
Setup effort
Build from source — git clone https://github.com/josemartinrodriguezmortaloni/webSearch-Tools.git
USE CASES
Pulling one field out of many pages
Give the list of URLs and describe what to take in plain language, and get back only that.
Reading a single page cleanly
Scrape the page and hand the model the content instead of raw HTML.
Surveying a documentation site
Crawl from an entry URL with a depth and a page cap so the run stays bounded.
Finding sources before reading any
Search first, then scrape only the results worth the tokens.
4 tools
Listed in project docs. Your client may show a different list.
ExtractCrawlScrapeBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation.
Requires
- Python 3.11 or later
- FIRECRAWL_API_KEY in your environment
- OPENAI_API_KEY in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/josemartinrodriguezmortaloni/webSearch-Tools.git
cd webSearch-Tools
uv venv
source .venv/bin/activate # Windows: .\.venv\Scripts\activate.ps1
uv sync
cp .env.example .env # then add FIRECRAWL_API_KEY and OPENAI_API_KEYMCP Clients
Claude Desktop
{
"mcpServers": {
"websearch": {
"command": "uv",
"args": [
"--directory",
"<YOUR_PATH_TO_WEB_SEARCH_TOOLS>",
"run",
"main.py"
]
}
}
}