web-explorer
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_DEBUG | No | Set to true for stderr debug logging. | |
| GITHUB_TOKEN | No | GitHub personal access token for higher rate limits and code search/issue actions. Without it, file fetch and repo analyze still work at anonymous rate limit. | |
| HARVEST_ROOT | No | Directory for harvest=True output. | ./harvested |
| YOUTUBE_BIND_IP | No | Local source IP to bind outbound YouTube requests to. | |
| OUTPUT_MAX_CHARS | No | Hard cap on a single tool response. | 15000 |
| WEB_CRAWL_MAX_BYTES | No | Max HTML or text size for web(crawl). Default: about 2MB. | |
| WEB_CRAWL_MAX_PDF_BYTES | No | Max PDF size for web(crawl). Default: about 50MB. | |
| YOUTUBE_COOKIES_BROWSER | No | Browser name (e.g., firefox) so yt-dlp can borrow its cookies when a video is IP-blocked. | |
| YOUTUBE_COOKIES_PROFILE | No | Browser profile path for the cookies above. | |
| GITHUB_MAX_RESPONSE_BYTES | No | Max GitHub file size fetched. Default: about 2MB. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| webA | Web search and page fetching. Returns {success, results/content, url}. Use ONLY after exhausting local sources: retrieve() -> kg(neighbors) -> web. Actions: 'search' (DuckDuckGo, returns title/url/snippet), 'crawl' (fetch page content). Set news=true for DDG news endpoint (adds date/source fields). High context cost - prefer harvest=True to save content to disk instead of loading into context. Results cached 20min. For bot-protected sites, use fx tool instead. |
| wikiA | Wikipedia lookup. Check memory/KG for known facts first. Actions: search, page. Results cached 1hr. |
| githubA | GitHub file and repo access via API. Returns {success, content/stats/results}. Use for: fetching source files, analyzing repo structure, searching code across GitHub. Actions: 'fetch' (raw file content), 'analyze' (repo stats/structure), 'search' (code search), 'create_issue' (open new issue), 'comment_issue' (add comment), 'get_issue' (read issue + comments), 'list_issues' (list repo issues), 'update_issue' (edit state/title/body/labels). Requires GITHUB_TOKEN env var for write ops and higher rate limits. 2MB response cap, 10min cache. For large files, use harvest=True to save to disk instead of loading into context. |
| youtubeA | YouTube transcript and metadata tool. Returns captions + rich metadata for any YouTube video. Actions: 'transcript' (captions only), 'metadata' (title/channel/duration/description/chapters only), 'info' (transcript + metadata in parallel - the common case), 'list_languages' (enumerate available caption tracks), 'search' (find a phrase within a transcript, returns timestamped matches with t= deeplinks). Primary fetch: youtube-transcript-api (fast, clean). Fallback: yt-dlp with json3 subtitles + VTT roll-up dedup. Format options: text (default, lowest tokens), timestamped, srt, vtt, json. Use harvest=True to write clean markdown under harvested/youtube/ for RAG ingestion. Accepts any URL shape (watch, youtu.be, shorts, live, embed) or bare 11-char video_id. Cached 1hr. Auto-paginates long transcripts; use segment_offset to continue from where the last response ended. For long podcasts, prefer harvest=True then retrieve() instead of loading full text into context. |
| wikidata_queryB | Wikidata SPARQL queries. Use for structured entity data (people, places, organizations, factual relationships). 5000 char query limit, 15s timeout, 1000 max results. Consider storing results in KG for reuse. |
| fxA | Anti-detect Firefox browser. Use when web(crawl) fails due to bot protection (Cloudflare, Datadome, Reddit verification). Persistent profile at data/fx_profile/: cookies, localStorage, and solved Cloudflare challenges survive MCP reboots. Fast defaults: images blocked, humanize off, domcontentloaded wait. Prefer 'read' for one-shot extraction — auto-waits for JS challenges (networkidle), runs trafilatura, auto-closes. Supports harvest=True to save content to disk instead of loading into context. Use 'navigate' + explicit actions for multi-step workflows (logged-in flows, form fills, clicks); call 'close' when done. Actions: navigate, read, click, fill, type, screenshot, extract, text, wait, press, scroll, evaluate, cookies, add_cookies, close, status. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/cutlerbenjamin1-cmd/web-explorer'
If you have feedback or need assistance with the MCP directory API, please join our Discord server