The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Lookout listing page.
Merged into anymd (2026-09-25). anymd reads PDFs, Office files, EPUB, web pages, images and video into clean Markdown for AI agents:
npx -y @sylphx/anymd. This repository is archived.
Search and fetch citeable excerpts. No API key. Hits name the adapter. Fetches keep a span, warnings, and gaps. Multi-step research is a separate tool.
npm @sylphx/lookout · bin lookout · MCP io.github.SylphxAI/lookout
A search snippet is a title and a URL. The agent then paraphrases a page it never opened. When the body is missing, a confident summary is worse than a gap.
| A snippet says | Lookout returns |
|---|---|
| “Release notes” and a URL | title, description, excerpt span, and any table rows it could read |
| nothing when the fetch fails | a warning or an error: blocked address, HTTP status, truncation, empty extract |
Fetch reads the HTTP response. It does not run JavaScript, and it does not write a model summary.
search queries DuckDuckGo HTML, Wikipedia OpenSearch, the npm registry, and Hacker News Algolia, then ranks the hits. It does not fetch those pages and it does not run web_research.
That starts a stdio MCP server. No API key.
| Your client | Setup |
|---|---|
| Any agent / CLI | npx -y @sylphx/lookout |
| Claude Code | claude mcp add lookout -- npx -y @sylphx/lookout |
| Claude Desktop / Cursor / VS Code / Codex | "command": "npx", "args": ["-y", "@sylphx/lookout"] |
| Tool | When to call it |
|---|---|
web_search | Ranked hits from the four public adapters. No API key. |
web_fetch | One URL. SSRF checks, redirect cap, size cap, body-prefix span. |
web_extract | Title, metadata, tables, and spans from HTML or a URL. |
web_cache | Query or manage the on-disk cache. Not a web search. |
web_crawl | Bounded same-origin crawl. Not the search default. |
web_research | Named multi-step tool: search, then fetch and extract the top pages (default 3, max 6). |
web_diff | Added and removed words between two texts or two URLs. |
There is no profile switch. The tool you name is the work that runs. Cache is on for search and fetch unless you pass useCache: false. A cache hit replays an earlier response from disk. The first search still needs the network.
web_fetch does not honor robots.txt unless you set respectRobots: true. web_crawl honors it unless you turn that off.| Product | Job |
|---|---|
| Citra | PDF answers with page-level proof |
| Iris | Image facts and pixel evidence |
| Cue | Video timelines and timestamp evidence |
| Spine | Repository architecture and impact |
| Locus | Exact code-chunk retrieval |
Each product is independent. Install only the tools your agent needs.
| Website | sylphxai.github.io/lookout |
| Quickstart | Install and first call |
| Compare | Firecrawl, Tavily, and what Lookout actually does |
MIT