使用说明

项目简介

本项目包含两个基于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) 协议与客户端通信,实现实时的请求和响应。

安装步骤

  1. 克隆仓库

    git clone https://github.com/raca159/mcp-demo
    cd mcp-demo
  2. 配置环境变量 复制 '.env.template' 文件为 '.env',并根据需要配置API密钥和相关设置 (本示例仓库的MCP服务器本身可能不需要API密钥,但客户端服务器可能需要Azure OpenAI密钥,请根据实际使用情况配置)。

    cp .env.template .env
    # 编辑 .env 文件,如果需要
  3. 使用Docker Compose启动 确保已安装 Docker 和 Docker Compose。在仓库根目录下运行以下命令,启动所有组件:

    docker-compose up -d

    这将启动:

    • ArXiv服务器 (端口 8000)
    • DocLing服务器 (端口 8001)
    • 客户端服务器 (端口 8002)
    • Streamlit用户界面 (端口 8501)
  4. 访问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')。

基本使用方法

  1. 按照安装步骤启动MCP服务器。
  2. 在您的MCP客户端中,根据上述“服务器配置”部分的信息配置并连接到ArXiv服务器和DocLing服务器。
  3. 使用您的MCP客户端调用ArXiv服务器提供的 'search_arxiv' 工具进行论文搜索,或调用DocLing服务器提供的 'extract_article_content' 和 'get_article_preview' 工具进行论文内容提取。
  4. 通过Streamlit用户界面 (如果启动) 可以直接体验研究助手的功能。

信息

分类

网页与API