使用说明
项目简介
本项目包含两个基于Model Context Protocol (MCP) 的服务器:ArXiv服务器 和 DocLing服务器。
- ArXiv服务器:提供在ArXiv上搜索科学论文的功能。
- DocLing服务器:提供从研究论文PDF中提取全文内容和预览内容的功能(使用OCR技术)。
这两个服务器旨在为AI研究助手应用提供后端支持,通过MCP协议与客户端进行交互,提供论文搜索和内容分析能力。项目同时包含一个FastAPI客户端服务器和一个Streamlit用户界面,用于演示如何使用这些MCP服务器构建完整的应用。
主要功能点
- ArXiv论文搜索: 通过关键词在ArXiv数据库中搜索相关的科学论文,并返回论文标题、摘要、发布日期和PDF链接。
- 研究论文内容提取: 从PDF链接提取研究论文的全文内容,支持完整内容提取和预览内容(首段内容)提取。
- Docker Compose部署: 提供Docker Compose配置,一键部署所有组件,包括ArXiv服务器、DocLing服务器、客户端服务器和Streamlit用户界面。
- SSE传输协议: MCP服务器使用SSE (Server-Sent Events) 协议与客户端通信,实现实时的请求和响应。
安装步骤
-
克隆仓库
git clone https://github.com/raca159/mcp-demo cd mcp-demo -
配置环境变量 复制 '.env.template' 文件为 '.env',并根据需要配置API密钥和相关设置 (本示例仓库的MCP服务器本身可能不需要API密钥,但客户端服务器可能需要Azure OpenAI密钥,请根据实际使用情况配置)。
cp .env.template .env # 编辑 .env 文件,如果需要 -
使用Docker Compose启动 确保已安装 Docker 和 Docker Compose。在仓库根目录下运行以下命令,启动所有组件:
docker-compose up -d这将启动:
- ArXiv服务器 (端口 8000)
- DocLing服务器 (端口 8001)
- 客户端服务器 (端口 8002)
- Streamlit用户界面 (端口 8501)
-
访问Streamlit UI 在浏览器中访问 http://localhost:8501 即可使用研究助手用户界面。
服务器配置 (MCP客户端)
如果您想在您自己的MCP客户端中使用本项目提供的MCP服务器,您需要配置您的MCP客户端以连接到这些服务器。以下是ArXiv服务器和DocLing服务器的MCP客户端配置示例 (JSON 格式):
ArXiv服务器配置 (服务器名称: arxiv):
{ "server_name": "arxiv", "command": "python arxiv_server.py", "args": [], "transport": "sse", "url": "http://arxiv-server:8000/sse" }
- 'server_name': 服务器的名称,用于在MCP客户端中标识和调用。
- 'command': 启动ArXiv服务器的命令。
- 'args': 启动命令的参数,本例中为空。
- 'transport': 使用的传输协议,这里是SSE。
- 'url': ArXiv服务器的SSE端点URL。 请注意,此URL 'http://arxiv-server:8000/sse' 用于Docker容器内部网络。 如果您的MCP客户端在Docker外部运行,并且您已将Docker容器的8000端口映射到主机,则应使用 'http://localhost:8000/sse'。
DocLing服务器配置 (服务器名称: docling):
{ "server_name": "docling", "command": "python docling_server.py", "args": [], "transport": "sse", "url": "http://docling-server:8001/sse" }
- 配置项含义与ArXiv服务器配置相同。 URL 'http://docling-server:8001/sse' 同样是Docker内部网络地址,外部访问可能需要改为 'http://localhost:8001/sse' 并确保端口映射正确配置。
重要提示:
- Docker网络: 上述URL配置适用于Docker Compose创建的容器网络内部的访问。 如果您的MCP客户端运行在Docker网络外部,请根据您的Docker端口映射配置调整URL (例如使用 'localhost' 和映射后的端口)。
- 端口映射: 如果需要在Docker外部访问MCP服务器,请检查 'docker-compose.yml' 文件,确保服务器容器的8000和8001端口已映射到宿主机。
- MCP客户端集成: 在您的MCP客户端应用中,使用上述JSON配置信息注册并连接到ArXiv和DocLing服务器,即可调用它们提供的工具 (例如 'search_arxiv', 'extract_article_content', 'get_article_preview')。
基本使用方法
- 按照安装步骤启动MCP服务器。
- 在您的MCP客户端中,根据上述“服务器配置”部分的信息配置并连接到ArXiv服务器和DocLing服务器。
- 使用您的MCP客户端调用ArXiv服务器提供的 'search_arxiv' 工具进行论文搜索,或调用DocLing服务器提供的 'extract_article_content' 和 'get_article_preview' 工具进行论文内容提取。
- 通过Streamlit用户界面 (如果启动) 可以直接体验研究助手的功能。
信息
分类
网页与API