argus-web-mcp
Allows searching GitHub repositories, code, and issues with filters for stars, language, and sort order.
Provides web search capabilities using SearXNG with 70+ engines, hybrid reranking, and domain filters.
Enables structured academic search via Semantic Scholar API, returning citations, DOI, abstract, and open-access PDFs.
Allows sending webhook notifications to Telegram when watched pages change.
Click on "Install 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., "@argus-web-mcpsearch the web for AI trends 2025"
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.
Argus Panoptes - the all-seeing hundred-eyed giant. A self-hosted, unlimited, owned web fetch / scrape / search MCP server for SURIOTA. Mythological sibling to the Hermes AI Server. Every Claude Code / Codex CLI connects over remote HTTP -> zero local process on the client.
Contents
Related MCP server: crawl-mcp
Why Argus
We surveyed the 12 leading paid/free web tools. All meter requests, truncate content, or cost money. Argus is built on best-in-class OSS, self-hosted on the SURIOTA VPS - so it is unlimited, free per-request, returns full content (no truncation), and is owned end-to-end. It is tools, not a brain: the consuming agent (Claude Code's Opus 4.8 / Codex) does the reasoning - Argus needs no LLM.
You were paying for... | Argus replaces it with... | Edge |
Brave / Tavily / Exa search |
| unlimited, multi-engine + semantic rerank |
Jina Reader / Firecrawl scrape |
| full content, JS render + stealth, no truncation |
Jina / Firecrawl PDF |
| tables preserved (COT/FOMC) |
Firecrawl extract / map |
| CSS/XPath, sitemap discovery |
Exa findSimilar / answer |
| local embeddings, full-content bundle |
- (no competitor self-hosts) |
| structured GitHub / academic / FX moat |
Architecture
Fetch strategy (cheap -> expensive): httpx static -> trafilatura -> escalate to Crawl4AI/Playwright only when JS/thin -> Patchright stealth on anti-bot -> Wayback archive if the host is unreachable. Every hop is SSRF-guarded.
The 20 tools
Tool | What it does |
| Web search via SearXNG - categories (general/news/science/it), domain filters, safesearch, hybrid lexical+semantic rerank, recency boost, auto-backoff on throttle |
| Auto-routes a query (deterministic, no LLM) -> github / scholar / news / it / general |
| Structured academic search (Semantic Scholar -> CrossRef): citations, DOI, abstract, OA-PDF |
| Structured GitHub |
| Discover a site's URLs (sitemap.xml / robots.txt / 1-hop links) |
| Semantically-related pages via local embeddings (Exa-style, no API) |
Tool | What it does |
| URL -> clean markdown/text/html, no truncation; |
| JS-rendered fetch + screenshot/actions; auto-escalates to Patchright stealth on anti-bot |
| Parallel |
| PDF -> markdown + tables (pymupdf4llm; |
| Crawl4AI BFS deep-crawl, robots-respecting, domain-confined |
| Full-page PNG capture of a rendered URL |
Tool | What it does |
| Pull fields via CSS/XPath selectors (deterministic); optional LLM tier ( |
| One-shot: |
Tool | What it does |
| Poll a page (full or selector) -> POST to a webhook (e.g. Telegram) on change |
| Economic calendar (FairEconomy JSON) -> Aurix |
| CFTC Commitments of Traders, structured |
| Ranked news + optional sentiment score |
Trading parsers are validated to >=99% field accuracy (100% on golden files).
Hard guarantees
SSRF - resolve-then-validate, IP-pin anti-rebinding, scheme allowlist, per-hop redirect re-check, private/metadata/CGNAT deny -> 100% test coverage, line + branch (hard gate).
No silent truncation - full documents always; the streaming body cap is a DoS guard, not a content cap.
Tools never raise - every tool returns a structured
err(code, msg, detail)instead of crashing into the client.Resilience - content-addressed cache (per-source TTL, stale-serve), per-host courtesy delay + circuit breaker, archive egress-fallback.
Secure deploy - bearer/JWT auth + nginx TLS + fail2ban; runs unprivileged via systemd; secrets via
EnvironmentFile.
Quickstart (local)
uv venv --python 3.12 && uv pip install -e ".[dev]"
crawl4ai-setup && crawl4ai-doctor # one-time Chromium
# optional extras: ".[semantic]" (find_similar/rerank), ".[pdf-quality]" (Docling)
# SearXNG (search backend) - loopback only
cd deploy/searxng && docker compose up -d
python -m argus.server # stdio (local dev)
# or HTTP: uvicorn argus.server:app --host 127.0.0.1 --port 8090Argus runs fully without an LLM. LeaveARGUS_ENABLE_LLM unset - the consuming agent (Claude Code / Codex) does the synthesis from Argus's full-content bundles.
Connect a CLI
Register with Claude Code:
claude mcp add --transport http argus https://argus.gifariksuryo.xyz/mcp \
--header "Authorization: Bearer ${ARGUS_TOKEN}"Register with Codex (~/.codex/config.toml):
[mcp_servers.argus]
url = "https://argus.gifariksuryo.xyz/mcp"
bearer_token_env_var = "ARGUS_TOKEN"Benchmarked
Head-to-head vs Claude Code & Codex native web tools (4-way, n=25, identical queries): discovery parity, but Argus wins decisively on content depth (full content per query vs hits/summaries), freshness, and cost/ownership. In-process research() runs in 3-6s - Argus is not the latency bottleneck (CLI latency is the consuming agent + MCP transport). Claude+Argus stays token-neutral with the deepest synthesis; Codex+Argus trades +72% tokens for that depth. Semantic rerank quantified at +27% nDCG on conceptual queries. Full report: benchmark/reports/RESULTS.md (harness).
Repo map
Path | What |
| the package - |
| DESIGN / RESEARCH / ROADMAP / TOOL-SPECS / REFERENCES / COMPETITIVE-GAP |
| |
| systemd / nginx / provision.sh / fail2ban / SECURITY-AUDIT / runbook / searxng/ |
root docs | SOUL (identity) / AGENTS (agent guide) / CHANGELOG (history) |
Status
DEPLOYED LIVE. Public HTTPS at https://argus.gifariksuryo.xyz/mcp (bearer auth) on the SURIOTA VPS (103.172.172.29, Ubuntu 24.04): uvicorn 127.0.0.1:8090 --workers 1 behind nginx + Let's Encrypt TLS + fail2ban; SearXNG docker on 127.0.0.1:8888; /health + /metrics live. A systemd timer polls main every 5 minutes -> fast-forward only -> restart -> /health gate -> auto-rollback (and skips restart for docs/benchmark-only commits).
20 tools / 799 offline tests (+ browser, slow, and network extras) green / SSRF 100% (line + branch) / ruff clean / security-audited (no Critical/High). Optional and off by default: the LLM tier (ARGUS_ENABLE_LLM) and local-path PDF (ARGUS_ALLOW_LOCAL_PDF). Only open owner input: set ARGUS_S2_API_KEY to enable scholar_search's Semantic Scholar backend (CrossRef is the fallback). See docs/02-ROADMAP.md.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GifariKemal/argus-web-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server