Claude AI Documentation Assistant
by XPE-7
README.md
# š¤ Claude AI Documentation Assistant š
<div align="center">

*A powerful MCP server that supercharges Claude with documentation search capabilities*
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[](http://makeapullrequest.com)
</div>
## ⨠Features
- š **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
## š Prerequisites
- š Python 3.8 or higher
- š Claude Pro subscription
- š Serper API key ([Get one here](https://serper.dev))
- š» Claude Desktop application
## š Quick Start
### 1ļøā£ Installation
```bash
# 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
```
### 2ļøā£ Configuration
Create a `.env` file in the project root with your API keys:
```
SERPER_API_KEY=your_serper_api_key_here
```
### 3ļøā£ Start the MCP Server
```bash
python main.py
```
You should see output indicating the server is running and waiting for Claude to connect.
### 4ļøā£ Connect Claude Desktop App
1. š± Open the Claude Desktop App
2. āļø Click on your profile icon and select "Settings"
3. š§° Navigate to the "Tools" section
4. ā Click "Add Tool"
5. š Select "Connect to a local tool"
6. š„ļø Follow the prompts to connect to your running MCP server
7. ā
Confirm the connection is successful
## š® Using Your Claude Documentation Assistant
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:
1. š Search for relevant documentation
2. š„ Retrieve the content
3. š§ Process and explain the information
## š§ Under the Hood
### š Code Structure
```
claude-docs-assistant/
āāā main.py # MCP server implementation
āāā requirements.txt # Project dependencies
āāā .env # Environment variables (API keys)
āāā README.md # This documentation
```
### š Supported Libraries
The assistant currently supports searching documentation for:
- š¦ **LangChain**: `python.langchain.com/docs`
- š¦ **LlamaIndex**: `docs.llamaindex.ai/en/stable`
- š§ **OpenAI**: `platform.openai.com/docs`
### š§© How It Works
1. š” The MCP server exposes a `get_docs` tool to Claude
2. š When invoked, the tool searches for documentation using Serper API
3. š Results are scraped for their content
4. š Content is returned to Claude for analysis and explanation
## š ļø Advanced Configuration
### Adding New Documentation Sources
Extend the `docs_urls` dictionary in `main.py`:
```python
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",
}
```
### Customizing Search Behavior
Modify the `search_web` function to adjust the number of results:
```python
payload = json.dumps({"q": query, "num": 5}) # Increase from default 2
```
## š Troubleshooting
### Common Issues
- **š« "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
### Debugging Tips
Add more detailed logging by modifying the main.py file:
```python
import logging
logging.basicConfig(level=logging.DEBUG)
```
## š Performance Optimization
- ā” 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
## š¤ Contributing
Contributions are welcome! Here's how you can help:
1. š“ Fork the repository
2. šæ Create a feature branch (`git checkout -b feature/amazing-feature`)
3. š¾ Commit your changes (`git commit -m 'Add some amazing feature'`)
4. š¤ Push to the branch (`git push origin feature/amazing-feature`)
5. š Open a Pull Request
## š License
This project is licensed under the MIT License - see the LICENSE file for details.
## š Acknowledgements
- [Anthropic](https://www.anthropic.com/) for creating Claude
- [Serper.dev](https://serper.dev) for their search API
- All the open-source libraries that make this project possible
---
<div align="center">
Made with ā¤ļø for Claude enthusiasts
</div>