Docs Search Engine
FreeNot checkedEnables searching documentation from GitHub repositories and web pages via MCP tools, with in-memory indexing and caching for fast retrieval.
About
Enables searching documentation from GitHub repositories and web pages via MCP tools, with in-memory indexing and caching for fast retrieval.
README
A custom Model Context Protocol (MCP) server that acts as a documentation search engine.
This project attempts to build a simple, personal clone of Context7, unlocking the capability to access up-to-date documentation from GitHub repositories and web pages directly within your AI assistant's context.
🛠️ Tech Stack
- Python: Core programming language.
- FastMCP: Framework for building MCP servers easily.
- minsearch: Lightweight, in-memory full-text search engine.
- uv: Fast Python package and environment manager.
- Jina Reader: For turning web pages into LLM-friendly markdown.
- requests: For handling HTTP requests and downloading zip files.
- pytest: For comprehensive testing.
📂 Project Structure
docs-search-engine/
├── main.py # Entry point: Defines MCP tools and server configuration
├── search.py # Core logic: Zip download, extraction, indexing, and search
├── scrape_web.py # Web scraping functionality (using Jina Reader)
├── test_search.py # Tests for search functionality
├── test_scrape_web.py # Tests for web scraping
└── pyproject.toml # Project dependencies and configuration
🚀 Workflow
- Ingestion: The server downloads documentation source code (e.g., as a
.zipfrom GitHub). - Indexing: Markdown content (
.mdand.mdx) is extracted and indexed in-memory usingminsearch. - Caching: Indexes are cached by URL to ensure fast subsequent searches without re-downloading.
- Retrieval: Users query the system via MCP tools (
search_docs,scrape_web), and relevant context is returned to the LLM.
⚙️ MCP Configuration
Add the following configuration to your MCP client settings (e.g., mcp_config.json in Google Antigravity):
{
"mcpServers": {
"docs-search-engine": {
"command": "uv",
"args": [
"run",
"--directory",
"C:/Users/username/path/to/docs-search-engine",
"main.py"
]
}
}
}
Note: Replace C:/Users/username/path/to/docs-search-engine with the actual absolute path to your project directory.
💡 Example Usage
Once the MCP server is connected to your AI assistant (e.g., VSCode, Claude, Cursor, Antigravity), you can use natural language to interact with it.
1. Search Documentation
"Search for 'context' in the FastMCP docs."
"Find information about 'indexing' in the minsearch docs (https://github.com/alexeygrigorev/minsearch)."
2. Scrape Web Pages
"Scrape the content of https://example.com/blog/article and summarize it."
3. Count Word Occurrences
"Count how many times the word 'LLM' appears on https://example.com/ai-trends."
💻 Setup & Execution
Prerequisites
- Python 3.13+
uvinstalled (recommended)
Installation
Clone the repository and navigate to the directory:
cd docs-search-engineInstall dependencies:
uv sync
Running Locally
To run the server manually for debugging:
uv run main.py
Testing
Run the comprehensive test suite to ensure everything is working correctly:
# Run all tests
uv run pytest -v
# Run specific test files
uv run pytest test_search.py -v
uv run pytest test_scrape_web.py -v
# Run only integration tests
uv run pytest -m integration -v
Installing Docs Search Engine
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/wanyingng/docs-search-engineFAQ
Is Docs Search Engine MCP free?
Yes, Docs Search Engine MCP is free — one-click install via Unyly at no cost.
Does Docs Search Engine need an API key?
No, Docs Search Engine runs without API keys or environment variables.
Is Docs Search Engine hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Docs Search Engine in Claude Desktop, Claude Code or Cursor?
Open Docs Search Engine on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Docs Search Engine with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
