Semantic Scholar MCP Server
使用说明(简要):
- 项目简介
- 该仓库中包含一个基于 MCP 的服务器实现,专门暴露 Semantic Scholar 的论文检索与查询能力,作为 MCP 兼容客户端的后端资源。
- 服务器通过 FastMCP 实现工具(tools)和资源(resources)的声明,提供多种论文查询接口,并通过 stdio 传输与 MCP 客户端通信。
- 主要功能点
- 提供工具接口(如 search_papers、get_paper_details、search_papers_for_research、get_paper_by_doi、get_paper_by_arxiv),能按查询条件返回结构化的论文元数据和开放获取 PDF 链接等信息。
- 提供信息资源接口(get_api_info),用于客户端了解 API 能力与说明。
- 使用 OpenAPI 兼容的调用格式,返回 JSON 数据,便于 MCP 客户端聚合与处理。
- 支持通过标准 MCP 客户端连接(通过 stdio 传输)启动与交互。
- 安装步骤
- 准备环境:需要 Python 3.x 环境。
- 安装依赖:根据项目需求安装 mcp 及相关依赖(如 httpx、dedalus_labs 等)。具体依赖请参照运行时的实际环境文档。
- 启动服务器:在仓库根目录或指定路径执行以下命令启动 MCP 服务器脚本:
- python tartan_backend/mcp_semantic_scholar.py
- 运行后服务器将通过标准输入输出的传输方式与 MCP 客户端建立通信。
- 服务器配置(MCP 客户端连接信息,JSON 形式,示例)
{
"server_name": "Semantic Scholar MCP Server",
"command": "python",
"args": ["tartan_backend/mcp_semantic_scholar.py"]
}
注释说明:
- server_name: MCP 服务器对外暴露的名称,客户端可据此识别目标服务器。
- command: 启动服务器的命令(如 python)。
- args: 启动命令的参数,必须指向服务器脚本的位置,示例中为 tartan_backend/mcp_semantic_scholar.py。
- 该配置用于 MCP 客户端在本地建立连接,实际连接细节随客户端实现而定,服务器端实现无需客户端配置代码。
- 基本使用方法
- 先启动服务器(如上命令),确保服务器正常运行。
- 使用 MCP 客户端通过标准输入输出与服务器建立连接后,可以调用工具接口(如 search_papers、get_paper_details 等)获取论文信息、下载开放获取的 PDF、获取论文详情等。
- 客户端根据 MCP 协议发送请求,服务器返回相应的 JSON-RPC 结果。