scout
Optional search provider that lets the research engine retrieve ranked web results and snippets through the Brave Search API.
Default zero-key web search provider, returning ranked titles, URLs, and snippets for research queries.
Local summarization backend that runs Ollama models to condense scraped pages and synthesize multi-source research briefs.
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., "@scoutResearch the latest AI coding tools and give me a cited summary."
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.
Scout — a local web research engine for LLM agents
Scout does web search, scraping, and summarization outside the LLM's context window and hands the agent only compact, cited summaries — so research stops burning tokens. You get a rich web UI to browse full results; the agent (Claude Code, or any MCP client) gets cheap summaries over MCP.
Why: letting an agent WebFetch pages drags tens of thousands of tokens of
raw HTML-turned-text through the context window per lookup. Scout inverts that:
a small local LLM reads the page, and only a few hundred tokens of summary ever
reach the agent. Full text is cached locally and viewable by a human in the UI.
Architecture
One core, two faces. core/ (search/scrape providers + SQLite cache +
local-LLM summarizer) is consumed by both an MCP server (cheap, for the
agent) and a web UI (rich, for you). scrape over MCP returns a summary;
the full page lives in the cache for the web UI.
core/ shared library
providers/ search (DuckDuckGo / Tavily / Brave) + scrape (httpx → Playwright → Firecrawl)
cache.py SQLite cache — repeat lookups cost zero tokens and zero requests
summarize.py page + brief summarization (local Ollama, cloud Haiku fallback,
marked extractive stub as last resort — never raw text)
projects.py project profiles: standing context (location, verticals, notes)
that biases research queries
config.py env-driven config (.env)
mcp_server.py MCP tools over streamable-HTTP, token-gated — for the agent
web/ FastAPI + static UI, token-gated — for you
run.sh / run.ps1 start both servicesRequest flow
Agent calls
research(query)over MCP.Scout searches the web, picks the top N results, and scrapes each one (plain
httpxfirst, auto-escalating to headless Chromium for JS-heavy pages, optional Firecrawl for anti-bot sites).A local Ollama model summarizes each page; a larger model synthesizes a single cited brief across sources.
The agent receives one compact markdown brief with numbered sources. Everything fetched is cached in SQLite with TTLs, so repeats are free.
Tools exposed over MCP
web_search(query, n)— ranked title/url/snippet resultsscrape(url, fresh)— summary only (full text cached for the UI)research(query, project, n)— search + read top N + synthesized, cited briefsave_to_collection(...)/list_collections(...)— project-scoped saved itemslist_projects()— available research profiles
Project profiles
A profile (data/projects.json) carries standing context — location, radius,
industry verticals, notes — so a query like "sports facilities within 40 mi"
knows where here is and what matters, without the agent restating it each call.
Related MCP server: minimal-mcp-web-search
Tech
Python 3.11+ · FastAPI + Uvicorn · MCP (streamable-HTTP) · SQLite ·
httpx + Playwright (+ optional Firecrawl) · Ollama (llama3.1:8b pages,
llama3.1:70b briefs) with Claude Haiku cloud fallback · DuckDuckGo search
by default (zero keys), Tavily/Brave optional.
Quick start
cp .env.example .env # set SCOUT_TOKEN; SCOUT_SUMMARIZER=haiku for no-GPU boxes
pip install -r requirements.txt
playwright install --with-deps chromium
./run.sh
# open http://localhost:8770/login?token=<SCOUT_TOKEN>Register with Claude Code:
claude mcp add --transport http scout http://localhost:8771/mcp \
--header "X-Scout-Token: <SCOUT_TOKEN>"See DEPLOY.md for deploying to an always-on LAN host with a GPU.
Security
The web UI and MCP endpoint are gated by a shared token (SCOUT_TOKEN,
X-Scout-Token header / login cookie). All API keys are read from environment
variables (.env, gitignored) — nothing is hardcoded. Intended for trusted
LANs; put it behind a reverse proxy with TLS if you expose it further.
Status
v1 (done): core loop — search → scrape → summarize → cache → MCP + web UI, project profiles.
v2 (planned): local business + contacts (Google Places + contact scraping, lead collections).
v3 (planned): media / stock assets (Pexels/Pixabay/Unsplash/Poly Haven/Sketchfab) + gallery.
License
MIT — see LICENSE.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Scrape, crawl and search the web for AI agents via MCP.
Docs: https://docs.keenable.ai/mcp-server Keenable is a free, remote MCP server that gives agents access to the web index. Search the web with ranked results and date/site filters, then fetch any indexed page as clean markdown. Works out of the box with no account or API key.
Agent-native search engine with live web research optimized for AI agents.
Live AI-native web search with citations. One tool for every MCP client. Flat per-request pricing.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables tool-calling LLMs to search the internet, capture website images, extract webpage text, and more via a local MCP server.15
- FlicenseAqualityDmaintenanceProvides local LLMs with web search and page fetching capabilities via MCP, with a focus on OWASP security best practices.2
- AlicenseNot gradedqualityAmaintenanceA self-contained web-research MCP server that lets local LLM agents search, fetch, and synthesize web content using tools like web_search, web_fetch, and web_research.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to perform web searches with full content retrieval and multi-engine provenance, including trust scoring and local corpus persistence, via MCP integration.32Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/walkerreeve-glitch/scout'
If you have feedback or need assistance with the MCP directory API, please join our Discord server