使用说明
基于人工智能的Web文档抓取器(MCP服务器)
该项目实现了 人工智能网络抓取和文档助理,作为一个 MCP(模型上下文协议) 工具。
它可以 在网上搜索相关文档, 使用LLM获取和清理内容,以及 通过FastMCP服务器提供响应,使其可通过任何兼容的MCP客户端访问。
概述
这 MCP网页抓取器 作为实时网络文档和基于LLM的理解之间的桥梁。
它使用:
- Serper.dev API公司 用于智能谷歌搜索查询
- 异步网页抓取 通过
httpx - Groq法学硕士 用于内容提取和摘要
- FastMCP 用于标准MCP服务器客户端通信
- 克劳德桌面 用于在本地部署MCP服务器
- 调试 通过
npx @modelcontextprotocol/inspector
特征:
- 智能网络搜索 使用 Serper.dev API
- 自动内容清理 通过LLM(Groq API)。
- 动态文档查询 用于:
- LangChain
- Llama索引
- OpenAI API
- UV包装管理器
- FastMCP服务器集成 便于连接
stdio. - 基于LLM的摘要 取回的文件。
安装和设置
1.安装依赖项:
uv pip install -r requirements.txt
2.添加环境变量
在项目根目录中创建.env文件:
SERPER_API_KEY=your_serper_api_key
GROQ_API_KEY=your_groq_api_key
您可以获得:
- Serper API密钥→ https://serper.dev
- Groq API密钥→ https://console.groq.com
项目结构:
MCP WebScraper:
|
├── mcp_server.py # Runs the MCP server (FastMCP tool)
├── client.py # Connects to the MCP server, queries docs, and summarizes results
├── utils.py # Utility functions (HTML cleaning and LLM API wrapper)
├── .env # Environment variables (API keys)
└── README.md # Project documentation
它是如何工作的:
步骤1:MCP服务器(MCP_Server.py)
- 初始化名为“docs”的FastMCP服务器。
- 实现get_docs(查询、库)MCP工具:
- 使用Serper.dev搜索文档页面。
- 使用httpx异步获取URL。
- 将HTML内容传递给Groq LLM进行清理和总结。
- 返回带有源链接的已清理文档文本。
步骤2:客户端(Client.py)
-
通过stdio连接到MCP服务器。
-
列出可用工具并调用get_docs。
-
使用Groq LLM总结提取的文档,以获得用户友好的答案。
Example query (default in client.py): query = "How to install and use uv library in Python?" library = "uv"
步骤3:实用程序(Utils.py)
- 包含辅助函数:
- clean_html_to_text()→使用trafilatura清理原始html
- get_response_from_llm()→向Groq API发送摘要提示
运行项目**
步骤1:启动MCP服务器 您可以使用以下任一命令启动服务器:
uv run mcp_server.py
步骤2:运行客户端 在另一个终端窗口中:
uv run client.py
支持的库:
要添加更多文档源,请更新mcp_server.py中的docs_urls:
docs_urls = {
"langchain": "python.langchain.com/docs",
"llama-index": "docs.llamaindex.ai/en/stable",
"openai": "platform.openai.com/docs",
"uv": "docs.astral.sh/uv"
}
在云桌面上运行MCP服务器
在成功完成本地测试后,MCP服务器被部署在云桌面环境上,以实现持续可用性和集成。 创建了一个名为claude_desktop_config.JSON的JSON配置文件,用于定义MCP服务器的启动命令、工作目录和环境变量。
创建配置文件
创建一个名为的文件 mcp_config.json (或类似)在您的项目目录中。
此JSON配置定义了Cloud Desktop环境应如何启动MCP服务器,包括路径、环境变量和依赖关系。
以下是一个示例配置:
{
"mcpServers": {
"docs-mcp": {
"command": "Path to your Python executable",
"args": [
"Path to your mcp_server.py file"
],
"cwd": " Path to your working directory",
"env": {
"SERPER_API_KEY": "your serper api",
"GROQ_API_KEY": "your groq api"
}
}
}
}
