Token导航 LogoToken导航TokenDH.com
Sort Google Scholar MCP logo
搜索检索stdio官方级别未说明来源级核验

Sort Google Scholar MCP

MCP Server

一个用于按引用次数对Google Scholar出版物进行排名的Python工具,支持构建本地PDF库、解析和索引PDF以进行RAG索引,并通过OpenAI回答问题。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
搜索文献管理PythonClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

f3270

提供方

f3270

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run sortgs-mcp

详细介绍

按引用次数对谷歌学者进行排序

MCP_PLAN.md

](https://pypi.org/project/sortgs/)

sortgs是一个Python工具,用于根据引用次数对Google Scholar出版物进行排名。它有助于查找特定领域的相关论文。从Google Scholar获得的数据包括标题、引用、链接、排名和每年引用次数的新列。在后台,它首先尝试使用python请求获取结果。如果失败,它将使用硒来获取结果。

这个仓库现在还包含一个MCP服务器,它将CLI变成了一个工具驱动的研究管道:搜索论文、下载PDF、为RAG解析+块PDF、索引到ChromaDB中,以及使用OpenAI回答问题。MCP计划和架构记录在 MCP_PLAN.md.

项目意向(MCP)

MCP服务器(sortgs-mcp)旨在:

  • 提供基于工具的访问,以搜索、下载和检查谷歌学术搜索结果。
  • 为搜索会话构建本地PDF语料库。
  • 解析和分块PDF以进行RAG索引(PyMuPDF+文本拆分器)。
  • 索引本地向量存储(ChromaDB)中的块。
  • 使用OpenAI在索引语料库上回答问题。

高水位流量:

  1. 生成关键字变体(OpenAI)。
  2. 搜索谷歌学者并创建会话。
  3. 下载会议的PDF文件。
  4. 解析和分块PDF。
  5. 在ChromaDB中索引块。
  6. 使用RAG查询语料库。

MCP服务器

安装

# Install dev deps
uv sync

使用 uv run ... 对于所有命令(包括测试),使其在 项目环境,避免接触Python系统。

配置

  1. 复制 .env.example.env.
  2. 添加 OPENAI_API_KEY (关键字生成和RAG查询所需)。
  3. 可选覆盖:

- DATA_DIR (默认值: ./data) - LOG_LEVEL (默认值: INFO)

运行MCP服务器

uv run sortgs-mcp

添加到克劳德代码

claude mcp add --transport stdio sortgs-mcp -- python -m sortgs_mcp.server

您还可以在以下位置使用示例配置 examples/mcp_config.json.

MCP工具

  1. generate_search_keywords

- 输入: query (str), num_variations (int,默认值:3) - 输出: {"keywords": [...]} (建议的关键字变体列表)

  1. search_papers

- 输入: keywords (str), num_results (int), sort_by (str), start_year (int|无), end_year (int|无), languages (列表|无), debug (布尔) - 输出:会话元数据,包括 session_id, papers_found, csv_path

  1. download_papers

- 输入: session_id (str), paper_indices (list\[int\]|无), max_papers (int) - 输出:下载包含计数和 download_metadata

  1. index_papers

- 输入: session_id (str), chunk_size (int|无), chunk_overlap (int|无), max_chunks (int |无) - 输出:索引摘要 papers_indexedchunks_created

  1. query_papers

- 输入: question (str), session_id (str), top_k (int) - 输出:会话的答案+来源

  1. list_sessions

- 输入:无 - 输出:包含元数据的已保存会话列表: session_id, keywords, created_at, papers_count, pdfs_downloaded, indexed

业绩说明

  • 搜索使用 httpx.AsyncClient 用于连接池的上下文管理器。
  • 嵌入模型作为单例缓存;通过重新启动来更改模型

MCP服务器。

日志

结构化日志被写入 data/logs/sortgs_mcp.log 附加上下文 喜欢 session_id, paper_rank,以及 num_results. 看 TROUBLESHOOTING.md 了解常见问题和日志阅读提示。

归档工作计划

使用 archive_workplans.sh 将工作计划文件夹添加到tar.gz并删除原始文件夹。 档案始终保存在 .claude/workplans/archives/.

# Archive a workplan folder
./archive_workplans.sh .claude/workplans/task-06

# Optional custom archive name (still stored in .claude/workplans/archives/)
./archive_workplans.sh .claude/workplans/task-06 task-06.tar.gz

安装

选项1(建议开发):使用 uv 用于快速安装

# from the repo root
uv sync

# run the CLI via uv
uv run sortgs "your keyword"

选项2:通过pip(PyPI)

pip install sortgs

用法

安装后,您可以运行 sortgs 直接从命令行:

sortgs "your keyword"

替换 "your keyword" 使用您要搜索的任何关键字。名为的CSV文件 your_keyword.csv 将在您当前的目录中创建。

例子

  1. 默认搜索:
   sortgs "machine learning"

此命令搜索与“机器学习”相关的前100个结果,并将其保存为CSV文件。

  1. 按每年引用次数排序:
   sortgs "machine learning" --sortby "cit/year"

搜索“机器学习”并按每年引用次数排序。

  1. 指定日期范围:
   sortgs "machine learning" --startyear 2005 --endyear 2015

搜索2005年至2015年的论文。

  1. 搜索精确关键字:
   sortgs "'machine learning'"
  1. 将结果保存在特定路径中:
   sortgs 'neural networks' --csvpath './examples/'

这将把结果保存在名为“examples”的子文件夹下。

  1. 多个关键字:
   sortgs '"deep learning" OR "neural networks" OR "machine learning"' --sortby "cit/year"
  1. 语言筛选器:
   sortgs "machine learning" --langfilter pt es fr de

这将只包括葡萄牙语、西班牙语、法语和德语的文章。

输出示例

在跑步时, sortgs 将在终端中提供更新:

❯ sortgs "'machine learning'"
Running with the following parameters:
Keyword: 'machine learning', Number of results: 100, Save database: True, Path: /Users/wittmann/sort-google-scholar, Sort by: Citations, Plot results: False, Start year: None, End year: 2023, Debug: False
Loading next 10 results
Loading next 20 results
...

Replace `$PWD` with the absolute path to your results directory if you are not in the parent directory of `sortgs-results`.

## Contributing
We use `pytest` for our test suite. To run all tests:

from repo root

uv run pytest


在提交PR之前,确保所有测试都通过;GitHub Actions还将在每次推送时执行测试套件。

## 关于机器人检查

由于验证码检查,Google Scholar可能会在太多重复请求后阻止访问。如果出现此问题,将使用硒来尝试获取结果。您可能会被要求手动解决验证码。理想情况下,你应该使用VPN来避免这个问题。使用硒时,您可能需要安装chromedriver。您可以从以下网址下载https://developer.chrome.com/docs/chromedriver/downloads并将其添加到您的PATH中。

## 许可证

- 麻省理工学院

## 更新

主分支已从master重命名。通过运行以下命令在本地更新它:

git branch -m master main git fetch origin git branch -u origin/main main git remote set-head origin -a


## 💖 支持项目

如果你觉得这个项目很有帮助,并想支持它的发展,可以考虑捐款。非常感谢您的支持!

[通过Wise捐款](https://wise.com/pay/me/fernandow21)

目录标签

目录标签

搜索文献管理PythonClaude学术搜索本地部署RAG索引PDF解析GoogleScholar

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP