本项目通过网络爬取、数据清洗和向量嵌入生成,构建了一个基于MCP协议的文档查询服务器。用户可借助配置工具(如Cursor)访问该服务器,轻松执行文档搜索等任务。
使用 uv 创建项目环境:
uv init --python 3.8 mcp-doc-search
cd mcp-doc-search
激活虚拟环境并安装依赖:
uv activate
pip install -r requirements.txt
/path/to/your/MCPDocSearch替换为实际项目绝对路径。--port 12345,可根据需要修改。使用 uv 创建项目环境:
uv init --python 3.8 mcp-doc-search
cd mcp-doc-search
激活虚拟环境并安装依赖:
uv activate
pip install -r requirements.txt
/path/to/your/MCPDocSearch替换为实际项目绝对路径。--port 12345,可根据需要修改。运行网络爬虫工具获取文档内容:
uv run python -m crawler_cli.cli --help
启动MCP服务器并加载文档数据:
uv run python -m mcp_server.main
crawl4ai库按照规则抓取网页内容。./storage/ 目录。.md 文件加载数据。fastmcp 暴露文档查询等工具。sentence-transformers。crawl4ai)。本项目围绕MCP协议构建文档查询服务器,在网络爬取阶段,使用crawl4ai库依照规则获取网页内容,确保数据来源的广泛性。数据清洗环节,利用BeautifulSoup对HTML进行处理,去除导航栏和链接等冗余信息,提升数据质量。在文档存储方面,将处理后的内容转换为Markdown格式并存储在./storage/目录,方便管理和后续操作。MCP服务器启动时,能够从缓存文件或直接读取 .md 文件加载数据,对Markdown文档按标题分块处理并生成文本嵌入,通过sentence-transformers和torch实现高效的文本嵌入生成。最后,借助fastmcp将文档查询等工具暴露,用户可通过MCP客户端(如Cursor)调用服务器工具,实现文档搜索功能。
本项目遵循 MIT 协议,具体条款详见 LICENSE 文件。
项目使用Python的pickle模块进行数据缓存。建议确保./storage/目录仅对受信用户和进程 writable。