arxiv-cli MCP 服务端实现
使用说明内容(Markdown格式)
-
项目简介
- 该仓库实现了一个基于 MCP 的服务器端,提供对 Arxiv 论文的搜索、获取以及通过 Cypher 查询对结果进行图形化分析的能力。服务器通过 JSON-RPC 与 MCP 客户端通信,支持初始化、工具列表与调用、以及数据查询等核心 MCP 功能,并提供 stdio 传输通道。
-
主要功能点
- 实现 MCP 服务器核心能力:支持 initialize、notifications/initialized、tools/list、tools/call、execute_cypher 等 MCP 请求与响应。
- 工具集成:提供 search_papers、fetch_paper、execute_cypher 等工具,允许 MCP 客户端查询 Arxiv、获取论文元数据与文本、以及对加载的数据执行 Cypher 查询。
- 数据管理与缓存:对搜索与抓取结果进行缓存、将结果转化为图数据模型并支持 Cypher 查询。
- 安全与可扩展性:通过 rmcp 框架定义服务器信息、能力、以及工具路由,支持在多种传输方式下进行通信(当前实现基于 stdio)。
-
安装步骤
- 该服务器与客户端在同一个二进制中作为 MCCP 服务器实现,构建后可通过 arxiv-cli mcp 启动 MCP 服务器模式,随后 MCP 客户端即可连接。
- 构建与运行的核心流程:
- 编译仓库,确保依赖(Rust 工具链、必要的 Chrome/CDP、网络访问等)就绪。
- 以 MCP 服务器模式启动:运行 arxiv-cli mcp(通过 CLI 路由进入 MCP 服务器实现)。
- MCP 客户端连接后即可通过初始化、获取工具列表、调用工具等交互。
-
服务器配置(MCP 客户端需要配置,以下为服务端信息,供参考配置用途)
- server name: arxiv-cli
- command: arxiv-cli
- args: ["mcp"]
- 注释:这是 MCP 客户端用来启动并连接到 MCP 服务器所需的最小参数集合,确保服务器在该命令下以 MCP 模式运行。MCP 客户端不需要包含服务器实现的源码,仅配置启动命令与参数即可连接。
-
基本使用方法
- 启动 MCP 服务器:在包含可执行文件的环境中执行 arxiv-cli mcp,即进入 MCP 服务器模式,准备接受来自 MCP 客户端的请求。
- 客户端交互流程示例(简要描述,实际使用以 MCP 客户端为准):
- 客户端发送 initialize 请求以建立会话和能力声明。
- 客户端通过 tools/list 查询服务器提供的可用工具,例如 search_papers、fetch_paper、execute_cypher。
- 客户端调用某个工具(如 search_papers)并传入参数,服务器返回包含数据集名称和图模式描述的结果。
- 客户端可使用 execute_cypher 对加载的数据执行查询,获取结构化结果。
- 兼容性与扩展:服务器实现支持并发查询、缓存和对返回的图数据进行 Cypher 查询,便于将结果集可视化或进一步推理。