文档搜索助手

一个与Claude AI集成的文档搜索工具,提供跨多个AI/ML库文档的智能搜索和解释功能。

  • by XPE-7
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 xpe-7/mcp-server

使用说明

🤖 Claude AI文档助理📚

强大的MCP服务器,为Claude提供文档搜索功能

✨ 特性

  • 🔍 智能文档搜索 -在多个AI/ML库文档中搜索
  • 🧠 克劳德集成 -与Claude的高级推理能力无缝连接
  • 🌐 智能网络搜索 -利用Serper API进行有针对性的文档查找
  • 💨 快速响应时间 -针对快速检索和处理进行了优化
  • 🧩 可扩展架构 -轻松添加更多文档源

📋 先决条件

  • 🐍 Python 3.8或更高版本
  • 🔑 Claude Pro订阅
  • 🔐 Serper API密钥(在这里买一个)
  • 💻 Claude桌面应用程序

🚀 快速开始

1.️⃣ 安装

# 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.️⃣ 配置

创建一个 .env 使用API密钥在项目根目录中创建文件:

SERPER_API_KEY=your_serper_api_key_here

3.️⃣ 启动MCP服务器

python main.py

您应该看到输出,指示服务器正在运行并等待Claude连接。

4.️⃣ 连接克劳德桌面应用程序

  1. 📱 打开克劳德桌面应用程序
  2. ⚙️ 点击您的个人资料图标,然后选择“设置”
  3. 🧰 导航到“工具”部分
  4. ➕ 点击“添加工具”
  5. 🔗 选择“连接到本地工具”
  6. 🖥️ 按照提示连接到正在运行的MCP服务器
  7. ✅ 确认连接成功

🎮 使用您的Claude文档助手

连接后,您可以开始向Claude提问,这将触发文档搜索。例如:

Could you explain how to use FAISS with LangChain? Please search the langchain documentation to help me.

Claude将自动使用您的MCP服务器:

  1. 🔍 搜索相关文档
  2. 📥 检索内容
  3. 🧠 处理并解释信息

🔧 在引擎盖下面

📄 编码结构

claude-docs-assistant/
├── main.py           # MCP server implementation
├── requirements.txt  # Project dependencies
├── .env              # Environment variables (API keys)
└── README.md         # This documentation

🔌 支持的库

该助手目前支持搜索以下文档:

  • 🦜 LangChain: python.langchain.com/docs
  • 🦙 调用Index: docs.llamaindex.ai/en/stable
  • 🧠 OpenAI: platform.openai.com/docs

🧩 运作原理

  1. 📡 MCP服务器公开了一个 get_docs 克劳德的工具
  2. 🔍 调用时,该工具使用Serper API搜索文档
  3. 📚 结果因内容而异
  4. 🔄 内容返回给克劳德进行分析和解释

🛠️ 高级配置

添加新文档源

扩展 docs_urls 字典在 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",
}

自定义搜索行为

修改 search_web 调整结果数量的函数:

payload = json.dumps({"q": query, "num": 5})  # Increase from default 2

🔍 故障排除

常见问题

  • 🚫 “连接被拒绝”错误:在连接Claude之前,确保MCP服务器正在运行
  • ⏱️ 超时错误:检查您的互联网连接或增加超时值
  • 🔒 API关键问题:在中验证您的Serper API密钥是否正确 .env 文件

调试提示

通过修改main.py文件添加更详细的日志记录:

import logging
logging.basicConfig(level=logging.DEBUG)

📈 性能优化

  • ⚡ 为了加快响应时间,请考虑缓存频繁访问的文档
  • 🧠 限制返回给Claude的文本量,以避免令牌限制
  • 🌐 使用更具体的查询来获取更多相关文档

🤝 贡献

欢迎投稿!以下是您可以提供帮助的方式:

  1. 🍴 分叉存储库
  2. 🌿 创建要素分支(git checkout -b feature/amazing-feature)
  3. 💾 提交您的更改(git commit -m 'Add some amazing feature')
  4. 📤 推到分支(git push origin feature/amazing-feature)
  5. 🔍 打开拉取请求

📜 许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

🙏 致谢

  • Anthropic 为了创造克劳德
  • Serper.dev 用于搜索API
  • 使这个项目成为可能的所有开源库

Made with ❤️ for Claude enthusiasts