学术搜索助手
启用从多个来源实时搜索和检索学术论文信息的功能,提供对论文元数据、摘要和全文内容(如有可用)的访问,并以结构化数据响应的形式提供,以便与支持工具/功能调用的AI模型进行集成。
可用工具 (3 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
search_papers 2 个参数 需填 1 项
Search for papers across multiple sources. args: query: the search query limit: the maximum number of results to return (default 10)
必填参数:query
fetch_paper_details 2 个参数 需填 1 项
Get detailed information about a specific paper. Args: paper_id: Paper identifier (DOI for Crossref, paper ID for Semantic Scholar) source: Source database ("semantic_scholar" or "crossref")
必填参数:paper_id
search_by_topic 4 个参数 需填 1 项
Search for papers by topic with optional date range. Note: Query length is limited to 300 characters. Longer queries will be automatically truncated. Args: topic (str): Search query (max 300 chars) year_start (int, optional): Start year for date range year_end (int, optional): End year for date range limit (int, optional): Maximum number of results to return (default 10) Returns: str: Formatted search results or error message
必填参数:topic
服务介绍
学术论文搜索 MCP 服务器
这是一个 模型上下文协议 (MCP) 服务器,能够从多个来源搜索和检索学术论文信息。
该服务器为大型语言模型 (LLMs) 提供以下功能:
- 实时学术论文搜索功能
- 访问论文元数据和摘要
- 在可用时获取全文内容
- 遵循 MCP 规范的结构化数据响应
虽然该服务器主要设计用于与 Anthropic 的 Claude Desktop 客户端集成,但 MCP 规范允许其可能与其他支持工具/函数调用能力的人工智能模型和客户端兼容(例如 OpenAI 的 API)。
注意:此软件正在积极开发中。特性和功能可能会发生变化。
功能
该服务器提供了以下工具:
-
search_papers:跨多个来源搜索学术论文- 参数:
query(str): 搜索查询文本limit(int, 可选): 返回的最大结果数量(默认:10)
- 返回:包含论文详情的格式化字符串
- 参数:
-
fetch_paper_details:检索特定论文的详细信息- 参数:
paper_id(str): 论文标识符(DOI 或 Semantic Scholar ID)source(str, 可选): 数据源 ("crossref" 或 "semantic_scholar", 默认: "crossref")
- 返回:包含全面论文元数据的格式化字符串,包括:
- 标题、作者、年份、DOI
- 发表场所、开放访问状态、PDF URL(仅限 Semantic Scholar)
- 摘要和 TL;DR 总结(如果可用)
- 参数:
-
search_by_topic:按主题搜索论文,并可选择日期范围过滤- 参数:
topic(str): 搜索查询文本(限制在 300 个字符内)year_start(int, 可选): 日期范围的起始年份year_end(int, 可选): 日期范围的结束年份limit(int, 可选): 返回的最大结果数量(默认:10)
- 返回:包含搜索结果的格式化字符串,包括:
- 论文标题、作者和年份
- 摘要和 TL;DR 总结(如果可用)
- 发表场所和开放访问信息
- 参数:
设置
通过 Smithery 安装
要通过 Smithery 自动为 Claude Desktop 安装学术论文搜索服务器:
npx -y @smithery/cli install @afrise/academic-search-mcp-server --client claude
注意 此方法尚未经过大量测试,因为他们的服务器似乎遇到了一些问题。您可以按照独立安装说明操作,直到 Smithery 修复为止。
通过 uv 手动安装:
- 安装依赖项:
uv add "mcp[cli]" httpx
- 在您的环境或
.env文件中设置所需的 API 密钥:
# These are not actually implemented
SEMANTIC_SCHOLAR_API_KEY=your_key_here
CROSSREF_API_KEY=your_key_here # Optional but recommended
- 运行服务器:
uv run server.py
与 Claude Desktop 的使用
- 将服务器添加到您的 Claude Desktop 配置中 (
claude_desktop_config.json):
{
"mcpServers": {
"academic-search": {
"command": "uv",
"args": ["run ", "/path/to/server/server.py"],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "your_key_here",
"CROSSREF_API_KEY": "your_key_here"
}
}
}
}
- 重启 Claude Desktop
开发
此服务器使用以下技术构建:
- Python MCP SDK
- FastMCP 用于简化服务器实现
- httpx 用于 API 请求
API 来源
- Semantic Scholar API
- Crossref API
许可证
本项目采用 GNU Affero General Public License v3.0 (AGPL-3.0) 许可证。该许可证确保:
- 您可以自由使用、修改和分发此软件
- 任何修改都必须以相同的许可证开源
- 使用此软件提供网络服务的任何人都必须公开源代码
- 允许商业使用,但软件及其衍生作品必须保持免费和开源
请参阅 LICENSE 文件获取完整的许可证文本。
贡献
欢迎贡献!您可以按以下步骤帮助我们:
- 叉取仓库
- 创建一个功能分支 (
git checkout -b feature/amazing-feature) - 提交您的更改 (
git commit -m 'Add amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 打开一个 Pull Request
请注意:
- 遵循现有的代码风格和约定
- 为任何新功能添加测试
- 根据需要更新文档
- 确保您的更改遵守 AGPL-3.0 许可证条款
通过贡献此项目,您同意您的贡献将根据 AGPL-3.0 许可证进行授权。