# 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 titles - `search_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 ## Installation ### Prerequisites - Python 3.11+ - MCP client (Claude Desktop, cline, etc.) ### Setup 1. Clone this repository: ```bash git clone https://github.com/unlock-mcp/mcp-docs-server.git cd mcp-docs-server ``` 2. Install dependencies: ```bash pip install -r requirements.txt ``` 3. Create your documentation file: ```bash # Create a context.md file in the project root with your documentation echo "# My Project Docs\n\nThis is my documentation." > context.md ``` ### Client Configuration #### For Claude Desktop (GUI clients) Use the shell wrapper for reliable execution: 1. Make the wrapper executable: ```bash chmod +x run_context_server.sh ``` 2. Install the server: ```bash mcp install ./run_context_server.sh --name "docs-server" ``` #### For cline and CLI clients Add to your MCP configuration file: ```json { "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`)* ## Development ### Testing Use the MCP development tools for easy testing: ```bash mcp dev ./run_context_server.sh ``` This 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.0` is installed - **File not found**: Verify `context.md` exists 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 file ``` ## 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?" ## Tutorial 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](https://unlockmcp.com/guides/how-to-build-a-local-mcp-server-for-your-docs-a-complete-walkthrough/) ## Contributing Contributions welcome! Please feel free to submit issues and pull requests. ## License MIT License - see LICENSE file for details. --- Built with ❤️ by the [UnlockMCP](https://unlockmcp.com) team.