使用说明
项目简介
PaperPal 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在扩展大型语言模型 (LLM) 的能力,使其能够访问和利用学术论文资源。通过 PaperPal,LLM 可以搜索 Hugging Face Papers 和 ArXiv 的论文,并获取论文的详细信息,从而更好地辅助用户进行文献综述、学术研究和论文写作等任务。
主要功能点
- 论文搜索: 允许 LLM 通过关键词或自然语言查询在 Hugging Face Papers 平台上进行语义搜索,查找相关的学术论文。
- ArXiv 信息获取: 允许 LLM 根据论文 ID 获取 ArXiv 平台的论文摘要信息。
安装步骤
- 克隆仓库: 首先,将 PaperPal 仓库克隆到本地:
git clone https://github.com/jerpint/paperpal - 安装运行环境: 确保你的系统安装了 Python 3.7+ 和 'uv' (或者 'pip')。推荐使用 'uv' 进行包管理和环境隔离,以获得更好的性能和依赖管理。如果使用 'pip',请将 'uv' 命令替换为 'pip' 相关命令。
- 如果使用 'uv',请确保已安装 'uv'。
- 如果使用 'pip',可以使用 'pip install -r requirements.txt' 安装依赖 (如果仓库中包含 'requirements.txt' 文件,本例中没有,但如果实际使用中遇到依赖问题,可能需要手动安装 'httpx' 和 'pydantic' 等库)。
服务器配置
MCP 客户端(例如 Claude 桌面应用)需要配置 PaperPal 服务器的启动信息才能连接和使用其功能。以下是针对 Claude 桌面应用的配置示例,你需要将这段 JSON 配置添加到 Claude 的配置文件 ('claude_desktop_config.json') 中。
{ "mcpServers": { "paperpal": { // 服务器名称,可以自定义,用于在客户端中标识和选择 PaperPal "command": "uv", // 运行服务器的命令,这里假设你使用 uv "args": [ // 传递给命令的参数列表 "--directory", // 指定工作目录参数 "/Users/<username>/paperpal", // PaperPal 仓库的本地路径,请替换为你的实际路径 "run", // uv run 命令,用于运行 Python 脚本 "paperpal.py" // PaperPal 服务器主脚本 ] } } }
配置参数说明:
- '"paperpal"': 服务器的名称,客户端会用这个名称来标识和连接 PaperPal 服务器。你可以自定义这个名称。
- '"command": "uv"': 指定用于启动服务器的命令。这里假设你使用 'uv' 运行 Python 脚本。如果使用 'python' 直接运行,则可以修改为 '"command": "python"',并相应调整 'args'。
- '"args"': 一个字符串数组,包含了传递给 'command' 的参数。
- '"--directory"': 指定工作目录。
- '"/Users/<username>/paperpal"': 请务必替换 '<username>' 为你自己的用户名,并将路径指向你克隆的 PaperPal 仓库的实际位置。 这是服务器脚本 'paperpal.py' 所在的目录。
- '"run"': 'uv run' 命令的一部分,用于执行 Python 脚本。 如果你直接使用 'python paperpal.py' 运行,可以省略 '--directory' 和 'run',直接将 '"args"' 修改为 '["paperpal.py"]'。
- '"paperpal.py"': PaperPal 服务器的主程序脚本。
重要提示:
- 路径替换: 请务必将配置文件中的 '/Users/<username>/paperpal' 替换为你电脑上 PaperPal 仓库的实际存储路径。
- uv 或 pip: 配置文件中默认使用 'uv' 作为命令,你也可以根据你的环境和偏好修改为 'python' 或 'pip' 等其他命令来运行 'paperpal.py'。如果修改为其他命令,请务必相应调整 'args' 参数。
- Claude 配置文件位置: 不同操作系统 Claude 配置文件的位置不同。示例中 macOS 的配置文件路径为 '~/Library/Application Support/Claude/claude_desktop_config.json'。请根据你的操作系统查找正确的配置文件路径。
基本使用方法
- 启动服务器: 配置完成后,重启你的 MCP 客户端 (例如 Claude 桌面应用)。客户端应该能够检测到并连接到 PaperPal 服务器。
- 通过 LLM 调用工具: 在与 LLM 对话时,你可以指示 LLM 使用 PaperPal 提供的工具。例如,你可以这样指示 Claude:
- "使用 PaperPal 搜索关于 Transformer 模型的最新论文,返回 5 篇。" (LLM 可能会自动调用 'search_papers' 工具,并将 "Transformer 模型" 作为 'query' 参数, '5' 作为 'top_n' 参数)
- "PaperPal,请获取论文 ID 为 2003.01469 和 2106.05972 的 ArXiv 摘要信息。" (LLM 可能会调用 'get_arxiv_info' 工具,并将 '["2003.01469", "2106.05972"]' 作为 'paper_ids' 参数)
工具名称和参数:
- 'search_papers(query: str, top_n: int = 10)': 搜索论文工具。
- 'query': 搜索关键词或自然语言查询语句。
- 'top_n': 希望返回的论文数量,默认为 10 篇。
- 'get_arxiv_info(paper_ids: list[str])': 获取 ArXiv 摘要信息工具。
- 'paper_ids': 论文 ID 列表,例如 '["2003.01469", "2106.05972"]'。
请注意,具体的工具调用方式取决于你使用的 MCP 客户端和 LLM 的能力。你需要参考你使用的客户端的文档,了解如何指示 LLM 使用 MCP 工具。PaperPal 服务器本身只负责提供工具,具体的工具调用和参数传递由客户端和 LLM 负责。
信息
分类
网页与API