
MCP Docs Server
A lightweight Model Context Protocol (MCP) server that provides direct access to local documentation files - a simple alternative to complex RAG pipelines for project-specific context.
Overview
This MCP server reads a single markdown file (context.md) and exposes its contents through two simple tools:
get_context_overview(): Lists all section titlessearch_context(query): Searches content across all sections
Perfect for giving LLMs access to project documentation without the overhead of vector databases or embedding models.
Features
- Zero dependencies beyond the MCP Python SDK
- Lightning fast - direct file access, no vector search
- Simple setup - works with both GUI and CLI MCP clients
- Cross-platform - includes shell wrapper for macOS/Linux compatibility
- Robust error handling - comprehensive logging and debugging support
Development
Testing
Use the MCP development tools for easy testing:
mcp dev ./run_context_server.shThis launches a web-based inspector for testing your server.
Debugging
The server logs to stderr for debugging. Check your MCP client's logs if you encounter issues.
Common issues:
- ENOENT errors: Use the shell wrapper or specify full Python path
- Import errors: Ensure
mcp[cli]>=1.2.0is installed - File not found: Verify
context.mdexists in the project root
File Structure
mcp-docs-server/
βββ mcp_context_server.py # Main server implementation
βββ run_context_server.sh # Shell wrapper for GUI clients
βββ requirements.txt # Python dependencies
βββ context.md # Your documentation (create this)
βββ README.md # This fileTutorial
For a complete walkthrough of building this server from scratch, including common pitfalls and solutions, see the full tutorial: Ditching RAG: Building a Local MCP Server for Your Docs
pip install -r requirements.txtInstallation
Prerequisites
- Python 3.11+
- MCP client (Claude Desktop, cline, etc.)
Setup
- Clone this repository:
git clone https://github.com/unlock-mcp/mcp-docs-server.git
cd mcp-docs-server- Install dependencies:
pip install -r requirements.txt- Create your documentation file:
# Create a context.md file in the project root with your documentation
echo "# My Project Docs\n\nThis is my documentation." > context.mdClient Configuration
For Claude Desktop (GUI clients)
Use the shell wrapper for reliable execution:
- Make the wrapper executable:
chmod +x run_context_server.sh- Install the server:
mcp install ./run_context_server.sh --name "docs-server"For cline and CLI clients
Add to your MCP configuration file:
{
"mcpServers": {
"docs-server": {
"timeout": 60,
"type": "stdio",
"command": "/opt/homebrew/bin/python3.11",
"args": [
"/path/to/mcp-docs-server/mcp_context_server.py"
],
"env": {}
}
}
}Note: Update the Python path to match your system (which python3.11)
Usage
Once configured, you can use these tools in your MCP client:
- Get overview: "What sections are available in the docs?"
- Search content: "Search for authentication in the docs"
- Specific queries: "How do I configure the database?"
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.
Licensed under MITβ you can use, modify, and redistribute it under that license's terms.
View the full license file on GitHub β