whatisgithub

What is tinysearch?

marcellm01/tinysearch — explained in plain English

Analysis updated 2026-05-18

27PythonAudience · developerComplexity · 3/5Setup · moderate

In one sentence

A local, source grounded web research tool that lets AI agents search, crawl, and cite the web through the Model Context Protocol.

Mindmap

mindmap
  root((TinySearch))
    What it does
      Web search for AI agents
      Crawls and reranks pages
      Source grounded prompts
    Tech stack
      Python
      FastAPI
      Docker
    Use cases
      MCP research tool
      Self hosted search
      Cited AI answers
    Audience
      Developers
      AI agent builders

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Give a local AI agent the ability to research questions on the web with cited sources.

USE CASE 2

Run a self hosted MCP research tool without any cloud account or dashboard.

USE CASE 3

Have a coding assistant like Cursor or Cline call TinySearch only when web research is actually needed.

USE CASE 4

Call TinySearch's search, crawl, and research features over a plain HTTP API instead of MCP.

What is it built with?

PythonFastAPIDockerONNX

How does it compare?

marcellm01/tinysearchavbiswas/sam2-mlxgregowahoo/comfyui-workflow-finder
Stars272727
LanguagePythonPythonPython
Setup difficultymoderatemoderateeasy
Complexity3/54/52/5
Audiencedeveloperresearchervibe coder

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Easiest via the prebuilt Docker image, running from source needs Python, a virtual environment, and downloading embedding models.

So what is it?

TinySearch is a local web research tool designed to give AI language models the ability to look things up on the internet without requiring a cloud service or account. It is built around MCP, the Model Context Protocol, a standard that lets AI agents call external tools, so AI coding assistants or chat clients can simply ask TinySearch to research a topic. When you give TinySearch a question, it runs a DuckDuckGo web search, scores and filters the best looking results, then crawls those web pages and extracts the most relevant chunks of text using a combination of semantic search, meaning based matching, and keyword search called BM25. It does not directly answer your question. Instead it assembles a structured prompt containing the relevant excerpts with source URLs attached, and hands that back to your language model to produce a cited answer. This keeps responses grounded in actual web content rather than only the model's training data. There is no hosted dashboard, no login system, and no remote analytics. Everything runs on your own machine. You can run it as a Docker container and connect to it over HTTP, or run it locally and have your AI client launch it directly as a subprocess using stdio. An optional FastAPI HTTP server is also included for calling it from tools that do not speak MCP. The embedding models used for semantic search can run locally as ONNX files, a portable format for running AI models efficiently, with several presets ranging from fast and lightweight to higher quality, or you can point it at an OpenAI compatible embedding API instead. Configuration such as search weights, chunk sizes, and crawl concurrency is controlled through a JSON config file. The project is written in Python and ships as a ready to run Docker image.

Copy-paste prompts

Prompt 1
Help me run TinySearch as a Docker MCP server and connect it to my AI client.
Prompt 2
Show me how to configure TinySearch to use a different embedding model preset.
Prompt 3
Explain how TinySearch builds its source grounded prompt from search results.
Prompt 4
Walk me through running TinySearch from source as a local stdio MCP server.

Frequently asked questions

What is tinysearch?

A local, source grounded web research tool that lets AI agents search, crawl, and cite the web through the Model Context Protocol.

What language is tinysearch written in?

Mainly Python. The stack also includes Python, FastAPI, Docker.

How hard is tinysearch to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is tinysearch for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.