About Lookout
Lookout is an MCP server for agents that need web search results and source excerpts they can inspect. It searches public adapters and fetches or extracts page content with spans, warnings, and gaps instead of synthesizing an answer; the repository is archived and merged into anymd.
Key features
- 01Searches four public web adapters
- 02Fetches pages with excerpt spans
- 03Extracts HTML metadata and tables
- 04Reports fetch errors and truncation
- 05Provides bounded crawl and web research
Use cases
- 01Find public web sources for a question
- 02Inspect cited passages from a page
- 03Extract tables and metadata from HTML
- 04Compare changes between two texts or URLs
MCP support
Lookout runs as a stdio MCP server and exposes tools including `web_search`, `web_fetch`, `web_extract`, and `web_research`. It returns source content and extraction status rather than generating a synthesized answer.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMerged 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.
Lookout
Web answers with source-level proof.
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
The problem
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.
The difference
| 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, then open the page
npx -y @sylphx/lookout search "Model Context Protocol"
npx -y @sylphx/lookout fetch https://example.com
npx -y @sylphx/lookout extract https://example.com
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.
Install
npx -y @sylphx/lookout
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"] |
{
"mcpServers": {
"lookout": { "command": "npx", "args": ["-y", "@sylphx/lookout"] }
}
}
Tools
| 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.
What it will not pretend
- Private, loopback, and link-local addresses are rejected.
- A failed adapter, a non-200 response, a truncated body, or an empty extract is reported. It is not turned into a clean answer.
web_fetchdoes not honorrobots.txtunless you setrespectRobots: true.web_crawlhonors it unless you turn that off.- Lookout does not render a browser and does not synthesize an answer.
Companion MCP tools
| 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.
Documentation
| Website | sylphxai.github.io/lookout |
| Quickstart | Install and first call |
| Compare | Firecrawl, Tavily, and what Lookout actually does |
Development
bun install
bun test
bun run doctor
bun run docs:build
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.