- 🔍 Smart Documentation Search - Search across multiple AI/ML library documentation
- 🧠 Claude Integration - Seamless connection with Claude's advanced reasoning capabilities
- 🌐 Intelligent Web Search - Leverages Serper API for targeted documentation lookup
- 💨 Fast Response Times - Optimized for quick retrieval and processing
- 🧩 Extendable Architecture - Easily add more documentation sources
- 🐍 Python 3.8 or higher
- 🔑 Claude Pro subscription
- 🔐 Serper API key (Get one here)
- 💻 Claude Desktop application
# Clone the repository
git clone https://github.com/your-username/claude-docs-assistant.git
cd claude-docs-assistant
# Create a virtual environment (recommended)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
Create a .env
file in the project root with your API keys:
SERPER_API_KEY=your_serper_api_key_here
python main.py
You should see output indicating the server is running and waiting for Claude to connect.
- 📱 Open the Claude Desktop App
- ⚙️ Click on your profile icon and select "Settings"
- 🧰 Navigate to the "Tools" section
- ➕ Click "Add Tool"
- 🔗 Select "Connect to a local tool"
- 🖥️ Follow the prompts to connect to your running MCP server
- ✅ Confirm the connection is successful
Once connected, you can start asking Claude questions that will trigger the documentation search. For example:
Could you explain how to use FAISS with LangChain? Please search the langchain documentation to help me.
Claude will automatically use your MCP server to:
- 🔍 Search for relevant documentation
- 📥 Retrieve the content
- 🧠 Process and explain the information
claude-docs-assistant/
├── main.py # MCP server implementation
├── requirements.txt # Project dependencies
├── .env # Environment variables (API keys)
└── README.md # This documentation
The assistant currently supports searching documentation for:
- 🦜 LangChain:
python.langchain.com/docs
- 🦙 LlamaIndex:
docs.llamaindex.ai/en/stable
- 🧠 OpenAI:
platform.openai.com/docs
- 📡 The MCP server exposes a
get_docs
tool to Claude - 🔍 When invoked, the tool searches for documentation using Serper API
- 📚 Results are scraped for their content
- 🔄 Content is returned to Claude for analysis and explanation
Extend the docs_urls
dictionary in main.py
:
docs_urls = {
"langchain": "python.langchain.com/docs",
"llama-index": "docs.llamaindex.ai/en/stable",
"openai": "platform.openai.com/docs",
"huggingface": "huggingface.co/docs", # Add new documentation sources
"tensorflow": "www.tensorflow.org/api_docs",
}
Modify the search_web
function to adjust the number of results:
payload = json.dumps({"q": query, "num": 5}) # Increase from default 2
- 🚫 "Connection refused" error: Ensure the MCP server is running before connecting Claude
- ⏱️ Timeout errors: Check your internet connection or increase the timeout value
- 🔒 API key issues: Verify your Serper API key is correct in the
.env
file
Add more detailed logging by modifying the main.py file:
import logging
logging.basicConfig(level=logging.DEBUG)
- ⚡ For faster response times, consider caching frequently accessed documentation
- 🧠 Limit the amount of text returned to Claude to avoid token limitations
- 🌐 Use more specific queries to get more relevant documentation
Contributions are welcome! Here's how you can help:
- 🍴 Fork the repository
- 🌿 Create a feature branch (
git checkout -b feature/amazing-feature
) - 💾 Commit your changes (
git commit -m 'Add some amazing feature'
) - 📤 Push to the branch (
git push origin feature/amazing-feature
) - 🔍 Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Anthropic for creating Claude
- Serper.dev for their search API
- All the open-source libraries that make this project possible