Powersearch MCP
PowerSearch MCP helps AI agents search and retrieve content from the public web with fewer broken fetches and clean, AI-friendly outputs ready to cite.
Installation
npx powersearch-mcpAsk AI about Powersearch MCP
Powered by Claude Β· Grounded in docs
I know everything about Powersearch MCP. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
PowerSearch MCP
PowerSearch MCP helps AI agents search and retrieve content from the public web with fewer broken fetches and clean, AI-friendly outputs ready to cite.
TL;DR
Step 1: Clone the repository then run initialize the virtual environment:
git clone https://github.com/theobjectivedad/powersearch-mcp.git
Step 2: Initialize the virtual environment:
cd powersearch-mcp
make init
Step 3: Activate the virtual environment:
source .venv/bin/activate
Step 4: Create a .env file with your desired configuration, use example-configs/example.env as a starting point.
cp example-configs/example.env .env
Step 5: (Optional) run a local instance of SearXNG:
docker run -d \
--name searxng-local \
--pull=always \
--restart unless-stopped \
-p 127.0.0.1:9876:8080 \
--tmpfs /etc/searxng:rw,noexec,nosuid,size=16m \
--tmpfs /tmp:rw,noexec,nosuid,size=512m \
--cap-drop=ALL \
--security-opt=no-new-privileges:true \
--health-cmd='python3 -c "import urllib.request; urllib.request.urlopen(\"http://127.0.0.1:8080/\", timeout=3).read(1)"' \
--health-interval=10s \
--health-timeout=3s \
--health-retries=10 \
--health-start-period=15s \
--env SEARXNG_SETTINGS_PATH=/settings.yml \
--volume "$(pwd)/searxng.yaml:/settings.yml:ro" \
searxng/searxng
Step 6: Run PowerSearch via FastMCP:
fastmcp run \
src/powersearch_mcp/app.py \
--transport=streamable-http \
--skip-source \
--skip-env
Step 7: Point your AI agent at http://localhost:8099/mcp to start searching the web!
Feature Roadmap
- β SearXNG-backed meta search with configurable engines, language, safe-search, and pagination
- β Strong anti-bot fetching implementation via Scrapling and Camoufox
- β Search response caching at the tool-level to memory, disk, and Redis storage backends
- β Automatic retries with exponential backoff for both search and fetch operations
- β AI Agent-friendly responses: HTML pages are converted to markdown automatically via Trafilatura
- β Support for STDIO and streaming HTTP transports
- β Health check endpoint for HTTP transport
- β Extensive configuration suitable for many deployment scenarios
- β Authentication support for both JWT and opaque tokens
- β Authorization support for embedded Eunomia policies
- β Auto summarization of search results via MCP sampling
- β Optional server-side fallback for clients that don't support MCP sampling
- β Public Docker image on Docker Hub
- ποΈ (Future) Client selectable synchronous (current behavior) or asynchronous SEP-1686 execution for search / fetch tools
- ποΈ (Future) Prometheus metrics exporter
- ποΈ (Future) Helm chart
