Show HN: TinySearch – token-efficient web research for local AI agents Developer MarcellM01 released TinySearch, an open-source, self-hosted web research tool for local AI agents that integrates with MCP clients like Cursor and Claude Desktop. The tool performs search, reranking, crawling, and extraction to produce source-grounded prompts without hosted dashboards or analytics, aiming to give local agents efficient web research capabilities. Self-hosted web research for MCP agents. TinySearch gives local AI agents a web-research tool they can actually use: search the web, rerank results, crawl the best pages, extract the most relevant chunks, and return a source-grounded prompt your LLM can answer from. No hosted dashboard. No account system. No analytics. No scraped-data cache. Just search - crawl - rerank - grounded prompt. - Add web research to Cursor, Cline, Roo Code, Claude Desktop, or any MCP client. - Keep source URLs attached to the evidence your model sees. - Avoid dumping full webpages into context. - Run with local ONNX embeddings by default, or bring an OpenAI-compatible embedding API. - Use SearXNG by default, with a DuckDuckGo HTML fallback when configured. - Keep the stack small enough to run locally in Docker. TinySearch is built for local agents, prototypes, personal workflows, and small systems where source-grounded web research matters more than running a full search product. Run TinySearch with its own SearXNG instance as an MCP server over Streamable HTTP. Docker Compose loads the configuration directly from GitHub, so you do not need to clone the repository or create any configuration files: docker compose -f "https://github.com/MarcellM01/TinySearch.git main:compose.quickstart.yaml" up -d Then connect your MCP client to: { "mcpServers": { "tinysearch": { "url": "http://localhost:8000/mcp" } } } Stop and remove the containers later with: docker compose -f "https://github.com/MarcellM01/TinySearch.git main:compose.quickstart.yaml" down TinySearch exposes three MCP tools: get current datetime research query scrape url url, query Typical routing: - Use research query when the agent needs to discover relevant URLs. - Use scrape url url, query when the user already provided a URL, or when research found the page to inspect. - Use get current datetime before time-sensitive research. The tools return a grounded prompt in the answer field. Your MCP client model uses that prompt to write the final response with citations. flowchart TB subgraph Row1 "Search and choose pages" direction LR A User query -- B Web search