MCP-Server

MCP-Server

3.5

Claude AI Documentation Assistant is a powerful MCP server that enhances Claude with advanced documentation search capabilities.

šŸ¤– Claude AI Documentation Assistant šŸ“š

Claude + MCP Integration

A powerful MCP server that supercharges Claude with documentation search capabilities

Python 3.8+ License: MIT PRs Welcome

✨ 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)
  • šŸ’» Claude Desktop application

šŸš€ Quick Start

1ļøāƒ£ Installation

# 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

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:

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:

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:

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 for creating Claude
  • Serper.dev for their search API
  • All the open-source libraries that make this project possible

Made with ā¤ļø for Claude enthusiasts