使用说明(简要,便于快速上手):

  • 项目简介

    • 该仓库实现了一个完整的 MCP 服务器,用来向 LLM 客户端提供文献检索相关的上下文信息与功能,包括多源检索、文献详情、参考文献、文献关系分析和期刊质量评估等工具,以及资源管理和缓存机制。
    • 服务器通过 JSON-RPC 与客户端通信,支持多种传输模式,并提供会话管理、能力声明与可扩展的数据源集成。
  • 主要功能点

    • 多源文献检索:对 Europe PMC、PubMed、arXiv、CrossRef、OpenAlex 等来源进行并发检索,支持不同策略(全面、快速、精确、预印本)并合并去重。
    • 文献详情与批量获取:按 DOI/PMID/PMCID/ArXiv ID 获取文献详细信息,支持批量模式与全文获取(若存在 PMCID)并可按章节提取全文内容。
    • 参考文献与关系分析:获取文献引用的参考文献、相似文献及引用关系,支持批量分析和网络分析。
    • 期刊质量评估:整合 EasyScholar 与 OpenAlex 指标,提供影响因子、分区、H 指数等多源指标,支持批量查询和排序。
    • 资源与缓存:提供本地缓存(24 小时缓存策略)、API 限速与重试、以及对常用资源的描述与访问。
    • 安全与扩展性:设计为可扩展的后端框架,具备会话管理、能力声明、以及多传输协议的支持。
  • 安装步骤

    • 需要先安装 uv 工具(若未安装则通过 Astral 提供的脚本安装)。
    • 安装所需依赖(如 FastMCP、requests、aiohttp、markdown 转换工具等)。
    • 通过两种方式启动服务器:
      • 使用 PyPI 包直接运行(推荐):
        • uvx article-mcp
        • 该方式会自动下载并运行已经发布的包。
      • 本地开发/自建环境运行:
        • 克隆仓库后在项目根目录执行安装依赖(如 uv sync、pip 安装所需包)。
        • 启动服务器命令示例:
          • 直接运行:uv run python -m article_mcp server
          • 指定传输模式:uv run python -m article_mcp server --transport stdio
          • 使用 streamable-http 传输:uv run python -m article_mcp server --transport streamable-http --host 0.0.0.0 --port 9000
  • 服务器配置(MCP 客户端所需信息,JSON 格式)

    • 配置目标:MCP 客户端需要知道如何启动并连接到该 MCP 服务器。下面给出一个准确的示例配置,描述了服务器名称、启动命令及参数等信息,注释仅用于说明,实际配置请在客户端 JSON 中按示例结构填写。
    • 示例 JSON(仅示例结构,实际按需调整): { "mcpServers": { "article-mcp": { "command": "uvx", "args": ["article-mcp"] } // 如需本地开发环境运行,替换为实际启动命令与工作目录 }, "说明": "此配置用于 Claude Desktop / Cherry Studio 等 MCP 客户端,将 article-mcp 作为一个 MCP 服务器条目注册。该字段中没有暴露服务器端敏感信息,若需要秘密密钥(如 EasyScholar 访问),可在 env 部分配置。" }
  • 基本使用方法

    • 启动后端服务器后,MCP 客户端通过该服务器可以请求以下核心能力:
      • 搜索文献:通过工具名 search_literature,传入 keyword、sources、max_results、search_type 等参数,获取合并后的文献列表及元数据。
      • 获取文献详情:通过 get_article_details,传入 identifier/id_type 等,获取单文献或批量文献的详细信息。
      • 获取参考文献:通过 get_references,传入 identifier/id_type/sources 等,获取参考文献列表及去重结果。
      • 文献关系分析:通过 get_literature_relations,传入 identifiers、relation_types、sources 等,获取引用关系、相似文献与引用网络信息。
      • 期刊质量评估:通过 get_journal_quality,传入 journal_name、include_metrics 等,获取期刊质量指标并可进行批量排序。
    • 传输模式说明:
      • stdio:适用于桌面客户端,直接在控制台进行交互。
      • SSE:适用于 Web 应用,通过服务器推送获取事件。
      • streamable-http:对接 API 集成场景,支持 HTTP 请求/响应流式传输。
    • 使用时,请确保 MCP 客户端的配置中的 server 名称与配置的一键对应,且 command 与 args 与服务器启动方式一致,以实现正确的连接与通信。
  • 重要注意

    • 该实现包含完整的后端服务器逻辑与工具注册机制,非单纯示例。包含对多数据源的并行调用、缓存、以及对 OpenAlex/EasyScholar 等外部服务的整合等,具备可运行性和扩展性。

信息

分类

网页与API