AtlasForge WebProxy
FreeNot checkedEnables AI agents to search the web, fetch pages, and download images through a self-hosted proxy with Brave search, caching, and SSRF protection.
About
Enables AI agents to search the web, fetch pages, and download images through a self-hosted proxy with Brave search, caching, and SSRF protection.
README
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/health
Wire MCP into a client:
{
"mcpServers": {
"atlasforge-web-proxy": {
"command": "/path/to/AtlasForge-WebProxy/.venv/bin/python",
"args": ["-m", "atlasforge_webproxy.mcp_server"],
"env": {}
}
}
}
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 |
|---|---|---|
BRAVE_API_KEY |
empty | Brave Search API key. |
ATLASFORGE_WEB_PROXY_HOST |
127.0.0.1 |
Flask bind host. |
ATLASFORGE_WEB_PROXY_PORT |
8765 |
Flask bind port. |
ATLASFORGE_WEB_PROXY_URL |
host/port above | MCP/client target URL. |
ATLASFORGE_WEB_PROXY_CACHE_DIR |
XDG cache | Search/fetch/image cache. |
ATLASFORGE_WEB_PROXY_PAPER_DIR |
XDG cache | Paper PDF/text artifacts. |
ATLASFORGE_WEB_PROXY_PROVIDER |
auto |
auto, brave, duckduckgo, or ddgs. |
ATLASFORGE_WEB_PROXY_TIMEOUT_S |
20 |
Service outbound timeout. |
ATLASFORGE_WEB_PROXY_CLIENT_TIMEOUT_S |
30 |
Python client timeout. |
ATLASFORGE_WEB_PROXY_MCP_TIMEOUT_S |
30 |
MCP-to-service timeout. |
ATLASFORGE_WEB_PROXY_SEARCH_TTL_S |
1800 |
Search cache TTL. |
ATLASFORGE_WEB_PROXY_FETCH_TTL_S |
86400 |
Page fetch cache TTL. |
ATLASFORGE_WEB_PROXY_PAPER_TTL_S |
604800 |
Paper fetch cache TTL. |
ATLASFORGE_WEB_PROXY_RETRY_ATTEMPTS |
3 |
Fetch retry attempts. |
ATLASFORGE_WEB_PROXY_RETRY_BASE_S |
0.5 |
Retry base delay. |
ATLASFORGE_WEB_PROXY_RETRY_AFTER_MAX_S |
60 |
Max Retry-After delay. |
ATLASFORGE_WEB_PROXY_RETRY_JITTER |
1 |
Enable retry jitter. |
ATLASFORGE_WEB_PROXY_UA_RETRY_ON_403 |
1 |
Retry 403 with browser UA. |
ATLASFORGE_WEB_PROXY_REDDIT_OLD_FALLBACK |
1 |
Try old.reddit fallback. |
WEB_PROXY_ALLOW_DNS_FAIL |
0 |
Legacy DNS fail-open mode. |
ATLASFORGE_WEB_PROXY_ENABLE_INVESTIGATION_CAPTURE |
0 |
Optional AtlasForge JSON mirroring. |
ATLASFORGE_WEB_PROXY_ENABLE_ATLASFORGE_TOOLS |
0 |
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.service
Tests
.venv/bin/python -m pip install -e ".[test]"
.venv/bin/python -m pytest
Use an unused non-8765 port for live smoke tests:
ATLASFORGE_WEB_PROXY_PORT=8799 .venv/bin/python -m atlasforge_webproxy.service --port 8799
Install AtlasForge WebProxy in Claude Desktop, Claude Code & Cursor
unyly install atlasforge-webproxyInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add atlasforge-webproxy -- uvx --from git+https://github.com/DragonShadows1978/AtlasForge-WebProxy atlasforge-webproxyFAQ
Is AtlasForge WebProxy MCP free?
Yes, AtlasForge WebProxy MCP is free — one-click install via Unyly at no cost.
Does AtlasForge WebProxy need an API key?
No, AtlasForge WebProxy runs without API keys or environment variables.
Is AtlasForge WebProxy hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install AtlasForge WebProxy in Claude Desktop, Claude Code or Cursor?
Open AtlasForge WebProxy on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare AtlasForge WebProxy with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
