Docs MCP Server
This server exposes a single MCP tool, get_docs, that searches and retrieves up-to-date documentation for supported libraries.
Search official docs by query + library: takes a natural-language
queryand alibraryname (required arguments) and returns scraped, cleaned documentation text asresult.Supported libraries:
langchain,chromadb,openai,uv,docker,redis— searches are constrained to each project's official docs site via Google Serper.Clean content extraction: fetches top organic results and converts HTML to plain text with
trafilatura(strips nav, tables, footers).Agent/LLM integration: usable over
stdiotransport by any MCP client; the bundled client uses Groq (llama-3.1-8b-instant) to synthesize answers from retrieved docs.Inspectable and deployable: can be listed/executed via MCP Inspector, run with
uv run server/mcp_server.py, or containerized with Docker.
Allows searching and retrieving relevant information from official Docker documentation via the get_docs tool, e.g. for queries about starting containers.
Allows searching and retrieving relevant information from official LangChain documentation via the get_docs tool.
Allows searching and retrieving relevant information from official OpenAI documentation via the get_docs tool.
Allows searching and retrieving relevant information from official Redis documentation via the get_docs tool.
Click on "Deploy 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., "@Docs MCP Server How do I use Docker volumes?"
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.
Docs MCP Server
A Model Context Protocol (MCP) server that provides a search-and-retrieve tool (get_docs) to query and extract clean, relevant information from official documentation sites for modern developer libraries and tools.
Features
Google Serper API Integration: Queries official documentation sites with specific
site:constraints.HTML Content Extraction: Automatically scrapes the top organic search results and converts raw HTML into clean plain text using
trafilatura(ignoring navigation menus, tables, and footers).Supported Documentation Libraries:
langchain(python.langchain.com/docs/)chromadb(docs.trychroma.com/)openai(platform.openai.com/docs/)uv(docs.astral.sh/uv/)docker(docs.docker.com/get-started/)redis(redis.com/docs/get-started/)
Ready-to-Use Client: Includes a sample client that runs the MCP server via
stdiotransport and utilizes Groq (llama-3.1-8b-instant) to synthesize answers from the retrieved documentation context.
Related MCP server: mcp-docs
Project Structure
mcp-server/
├── client/
│ ├── __init__.py
│ ├── client.py # Main client implementation
│ ├── cli.py # Command-line interface for the client
│ └── tests/ # Tests for the client
│ ├── __init__.py
│ └── test_client.py
├── server/
│ ├── __init__.py
│ ├── mcp_server.py # MCP server implementation
│ ├── tools/ # Additional tools for the server
│ │ ├── __init__.py
│ │ └── get_docs.py # Implementation of the `get_docs` tool
│ └── tests/ # Tests for the server
│ ├── __init__.py
│ └── test_server.py
├── utils/
│ ├── __init__.py
│ ├── utils.py # Utility functions
│ ├── llm_helpers.py # LLM-related helper functions
│ └── tests/ # Tests for utilities
│ ├── __init__.py
│ └── test_utils.py
├── config.py # Configuration for server and client
├── .env # Environment variables
├── requirements.txt # Python dependencies
├── README.md # Project documentation
└── pyproject.toml # Project configurationGetting Started
1. Requirements
Ensure you have the following installed:
uv (Python package manager)
Python 3.12+
API keys for:
Google Serper API:
SERPER_API_KEYGroq API:
GROQ_API_KEY
2. Environment Configuration
Create a .env file in the root directory and add your API keys:
SERPER_API_KEY=your_serper_api_key_here
GROQ_API_KEY=your_groq_api_key_hereUsage
Run the MCP Server
To start the MCP server:
uv run server/mcp_server.pyRun the Client
To query the server using the client:
python client/client.py --query "How to start a Docker container?" --library "docker"Debugging with the MCP Inspector
You can inspect the server, list tools, and execute them using the interactive MCP Inspector:
npx -y @modelcontextprotocol/inspector -- uv run python -m server.mcp_serverRunning Tests
Run All Tests
To run all tests for the project:
python -m unittest discoverRun Specific Tests
To run tests for a specific module (e.g., utils):
python -m unittest utils.tests.test_utilsDocker (Optional)
Build the Docker Image
To containerize the application:
docker build -t mcp-server .Run the Docker Container
To run the server inside a Docker container:
docker run -p 8000:8000 mcp-serverContribution Guidelines
Fork the repository.
Create a new branch for your feature or bug fix:
git checkout -b feature-nameCommit your changes:
git commit -m "Add feature-name"Push to your branch:
git push origin feature-nameOpen a pull request.
License
This project is licensed under the MIT License.
Available Tools
1 toolget_docsA
Search the latest docs for a given library and query Supports "langchain", "chromadb", "openai", "uv", "docker", "redis"
Inputs: query (required), library (required). Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion with other tools. The single tool has a clearly defined purpose.
There is only one tool, so naming consistency is not an issue. The name 'get_docs' follows a clear verb_noun pattern.
A single tool for a server that claims to support multiple libraries (langchain, chromadb, etc.) is too few. Agents may need separate tools for different libraries or operations beyond search.
The server provides only a search function for docs. Missing essential operations like retrieving specific documents, listing available libraries, or fetching versioned docs, which limits agent capability.
Related MCP Connectors
Web search API and MCP server for developers building AI agents.
An MCP server that gives your AI access to the source code and docs of all public github repos
MCP server for langchain documentation, generated by doc2mcp.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn intelligent MCP server that enables AI agents to crawl, index, and semantically search official framework documentation using local RAG. It prevents hallucinations by providing precise, up-to-date documentation excerpts directly into the AI's context window.1-
- AlicenseNot gradedqualityDmaintenanceGeneric MCP server that exposes Markdown documentation to LLMs, enabling them to search and answer questions about any software documentation.MIT
- FlicenseAqualityDmaintenanceAn MCP server that searches official documentation for popular libraries, scrapes pages, and returns clean, LLM-ready text.1-
- AlicenseAqualityBmaintenanceA local MCP server that fetches official library documentation (llms.txt-first), caches it to disk, and serves relevant sections to coding agents offline with deterministic retrieval.310 npmMIT