AtlasForge-WebProxy
Provides web search capabilities using the Brave Search API.
Offers fallback web search using DuckDuckGo (DDG/DDGS).
Includes old.reddit fallback for fetching Reddit pages with improved compatibility.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AtlasForge-WebProxy search for SpaceX Starship updates"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AtlasForge-WebProxy
Self-hosted web search/fetch proxy plus stdio MCP server for AI agents. It provides Brave-backed search, page fetch with retries and browser-like user-agent fallback, old.reddit hardening, response caching, paper PDF fetch, image search/download, and SSRF guards.
Quickstart
./install.sh
mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/atlasforge-webproxy"
$EDITOR "${XDG_CONFIG_HOME:-$HOME/.config}/atlasforge-webproxy/config.env"
chmod 600 "${XDG_CONFIG_HOME:-$HOME/.config}/atlasforge-webproxy/config.env"Set BRAVE_API_KEY in that file. Get a key at
https://brave.com/search/api/. Without a key, the proxy falls back to DDG/DDGS
where available.
Run directly:
.venv/bin/python -m atlasforge_webproxy.service --host 127.0.0.1 --port 8765
curl http://127.0.0.1:8765/healthWire MCP into a client:
{
"mcpServers": {
"atlasforge-web-proxy": {
"command": "/path/to/AtlasForge-WebProxy/.venv/bin/python",
"args": ["-m", "atlasforge_webproxy.mcp_server"],
"env": {}
}
}
}Related MCP server: mcp-brave-search
Config
Priority: environment variables, then
${XDG_CONFIG_HOME:-~/.config}/atlasforge-webproxy/config.env, then defaults.
For migration, ~/.config/atlasforge/web-proxy.env is read only when the new
file does not exist, and a deprecation warning is logged.
Setting | Default | Purpose |
| empty | Brave Search API key. |
|
| Flask bind host. |
|
| Flask bind port. |
| host/port above | MCP/client target URL. |
| XDG cache | Search/fetch/image cache. |
| XDG cache | Paper PDF/text artifacts. |
|
|
|
|
| Service outbound timeout. |
|
| Python client timeout. |
|
| MCP-to-service timeout. |
|
| Search cache TTL. |
|
| Page fetch cache TTL. |
|
| Paper fetch cache TTL. |
|
| Fetch retry attempts. |
|
| Retry base delay. |
|
| Max |
|
| Enable retry jitter. |
|
| Retry 403 with browser UA. |
|
| Try old.reddit fallback. |
|
| Legacy DNS fail-open mode. |
|
| Optional AtlasForge JSON mirroring. |
|
| Optional AtlasForge stage tools. |
See config.env.example for the full list, including user-agent and size-limit
knobs.
systemd
./install.sh creates .venv, installs the package, copies
config.env.example if no config exists, installs
~/.config/systemd/user/atlasforge-webproxy.service, and runs
systemctl --user daemon-reload.
It does not enable or start the service unless passed --start:
./install.sh --start
systemctl --user status atlasforge-webproxy.serviceTests
.venv/bin/python -m pip install -e ".[test]"
.venv/bin/python -m pytestUse an unused non-8765 port for live smoke tests:
ATLASFORGE_WEB_PROXY_PORT=8799 .venv/bin/python -m atlasforge_webproxy.service --port 8799Available Tools
5 toolsImageSearchA
Search for images. Uses Brave API if configured, otherwise DuckDuckGo. Returns image URLs, source page URLs, thumbnails, dimensions. Optionally downloads top N images locally for vision tool access. The safesearch parameter controls content filtering: 'off' disables all filtering, 'moderate' is the default DDG behavior, 'on' is strict SFW.
Inputs: query (required), count, safesearch, fetch_top_n.
PaperFetchA
Download an open-access paper PDF directly and extract full paper text when possible. Use this for arXiv/PDF paper sources before quoting a paper. Returns local artifact paths, SHA-256, page extraction metadata, and extracted text. This is separate from webpage WebFetch.
Inputs: url (required), max_chars.
WebFetchA
Fetch content from a URL. Returns raw extracted content: title, headings, full text, and links. No summarization — returns the actual page content. Reddit URLs auto-route to JSON API. Image URLs auto-detect and save locally. Cached for 24h per URL.
Inputs: url (required), prompt (required).
WebResearchA
Combined search + fetch: searches the web, then fetches the top N result pages. Returns search results plus extracted content from each page. Single call for research queries.
Inputs: query (required), count, max_chars, fetch_top_n.
WebSearchA
Search the web for information. Returns unfiltered search results with title, URL, and snippet for each result. No domain blocks, no content filtering. Uses Brave API if configured, otherwise DuckDuckGo.
Inputs: query (required), allowed_domains, blocked_domains.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool has a distinct purpose: image search, paper download, generic URL fetch, web search, and combined search+fetch. Clear boundaries prevent confusion.
All names follow a consistent pattern: noun (Image, Paper, Web) + action verb (Search, Fetch, Research). No mixing of styles.
5 tools is well-scoped for a web proxy. Each tool covers a specific need without redundancy or overwhelming number.
Core operations (search, fetch, image search, paper download, combined research) are present. Minor gap: no dedicated video search or social media extraction, but reasonable for general web access.
Maintenance
Related MCP Connectors
Web infrastructure for AI agents: scrape, crawl and search the web, run browsers and agents.
Web search, browser automation, scraping, crawling and CAPTCHA solving for AI agents.
Web search and page reading for AI agents, including JSON APIs, RSS feeds and YouTube.
Web data for agents. Extract web pages, crawl websites, discover URLs, and search the web.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to search the web and extract content using multiple search providers, with caching, retry logic, and options for JavaScript-heavy page rendering.-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to perform web searches using the Brave Search engine, providing an independent alternative to Google/Bing.285 npmMIT
- AlicenseAqualityBmaintenanceEnables AI agents to perform web searches, fetch and extract page content, and crawl sites with caching, rate limiting, and robots.txt compliance, all without needing API keys.16649 PyPI2MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to perform web searches and page fetching/crawling through self-hosted SearXNG and Crawl4AI, without depending on commercial search or scraping APIs.MIT