google-scholar-labs-ajg-mcp

google-scholar-labs-ajg-mcp

MCP server for AI agents to search Google Scholar Labs and filter results by AJG 2024 journal ratings, using local browser sessions and safe CAPTCHA handoff.

Category
访问服务器

README

Google Scholar Labs Search (AJG 2024 MCP 适配版)

License: MIT Python 3.10+ Protocol: MCP Tests: Offline Deterministic

面向本地大模型与 AI 智能体(Agent)的 Model Context Protocol (MCP) 服务。通过用户已登录的本地浏览器会话检索 Google Scholar Labs 学术文献,并严格依据 AJG 2024 (Academic Journal Guide / ABS) 权威期刊分级目录进行同行评议期刊筛选。

English | 简体中文


终端 Dry-Run 离线演示

Google-scholar-labs-ajg-mcp Dry-Run 流程演示


核心特性

  • 严格的 AJG 2024 期刊分级筛选:将检索到的文献出版物(Venue)与官方 AJG 2024 目录严格匹配(默认 ABS2+:2、3、4、4*),支持自定义星级门槛与学科大类筛选(如 FINANCE、ACCOUNT、STRAT、ECON、ORMAN 等)。
  • 透明的剔除记录(Exclusion Transparency):不符合条件的文献(如预印本 arXiv/SSRN、未被 AJG 收录的期刊、星级低于设定门槛或学科不匹配)均在 exclusions 中完整记录并说明具体原因,杜绝将非核心刊物误判为合格文献。
  • 全量合格结果输出:返回当前检索页所有满足评级条件的论文,不人为截断为固定前 3 篇。
  • 人机协同安全交接(Human-in-the-Loop Handoff):遇到 Google 登录验证或验证码(CAPTCHA)时立即安全暂停,返回 handoff_required: true,由用户在本地浏览器界面中手工完成验证,绝不尝试暴力绕过或窃取凭证。
  • 本地优先与零遥测:完全运行于本地环境,通过标准 Stdio JSON-RPC 2.0 通信,不向任何第三方服务器上传凭证或搜索记录。
  • 零外部依赖核心解析:内置核心期刊目录与纯标准库 XLSX 解析器,即使在无外部 Excel 文件的 CI 或纯净环境中也能执行完整的确定性测试。

架构与工作流

[ AI 智能体 (Codex / Claude / Cursor / Windsurf) ]
                         │
              (Stdio JSON-RPC 2.0)
                         ▼
             [ ScholarLabsMCPServer ]
                │                  │
                │ (Dry-Run / Mock) │ (浏览器自动化模式)
                ▼                  ▼
         [ 快速 Schema 验证 ]    [ CloakBrowser 会话 ]
                                   │ (本地持久化 Profile)
                                   ▼
                         [ Google Scholar Labs ]
                                   │ (HTML DOM 卡片提取)
                                   ▼
                          [ 候选论文卡片 ]
                                   │
                                   ▼
                          [ AJG 2024 匹配引擎 ]
                        ┌──────────┴──────────┐
                        ▼                     ▼
                 [ 合格文献列表 ]       [ 剔除记录 ]
                        └──────────┬──────────┘
                                   ▼
                     [ 结构化 JSON 响应结果 ]

安装与配置

环境要求

  • Python 3.10 或更高版本
  • (执行真实自动化搜索时可选)cloakbrowser 库与 Chromium 浏览器环境

1. 源码安装

git clone https://github.com/divenire990/Google-scholar-labs-ajg-mcp.git
cd Google-scholar-labs-ajg-mcp
pip install -e .

安装开发与构建依赖:

pip install -e ".[dev]"
# 或者仅安装打包构建依赖:
pip install -e ".[build]"

2. 构建分发包 (sdist & wheel)

构建源码分发包(.tar.gz)与二进制 Wheel(.whl):

pip install build
python -m build

构建生成的文件位于 dist/ 目录中(已被 .gitignore 自动忽略)。

3. 环境变量配置(可选)

复制 .env.example 为 .env 或在终端中配置环境变量:

# 本地浏览器持久化 Profile 路径(保存 Google 登录态)
export SCHOLAR_LABS_BROWSER_PROFILE="$HOME/.scholar-labs/browser-profile"

# 自定义 AJG2024.xlsx 数据文件路径(未设置时自动使用内置核心期刊或 data/AJG2024.xlsx)
export AJG_DATA_PATH="/path/to/AJG2024.xlsx"

MCP 客户端配置

将 google-scholar-labs-ajg-mcp 添加至您的 AI 客户端配置中:

Claude Desktop / Claude Code (claude_desktop_config.json)

{
  "mcpServers": {
    "google-scholar-labs-ajg-mcp": {
      "command": "python",
      "args": ["-m", "scholar_labs.mcp_server"],
      "env": {
        "SCHOLAR_LABS_BROWSER_PROFILE": "/path/to/your/browser-profile",
        "AJG_DATA_PATH": "/path/to/AJG2024.xlsx"
      }
    }
  }
}

Codex / Windsurf / Cursor (mcp.json 或 .toml)

[mcp_servers.google_scholar_labs_ajg_mcp]
command = "python"
args = ["-m", "scholar_labs.mcp_server"]

工具接口说明:scholar_labs_search

输入参数

参数名 类型 默认值 描述
query string (必填) 提交给 Google Scholar Labs 的学术检索主题、问题或关键词。
min_stars string "2" 最低 AJG 星级筛选门槛("1", "2", "3", "4", "4*")。默认为 "2"(即 ABS2+)。
fields array[string] null 可选的学科领域代码列表(例如 ["ACCOUNT", "FINANCE", "STRAT", "ECON"])。
max_candidates integer 15 首次解析提取的最大候选卡片数。
headless boolean true 是否以无头模式运行浏览器。
profile_dir string null 自定义持久化 Profile 目录路径(覆盖环境变量)。
dry_run boolean false Dry-run 模式:仅验证查询与 AJG 匹配引擎,不启动浏览器。
mock_html string null 用于离线评估与测试的 Mock HTML 内容。

输出响应示例

{
  "status": "ok | blocked | no_results | error",
  "message": "执行结果摘要",
  "query": "dynamic strategic deviation and earnings management",
  "min_stars": "2",
  "fields_filter": ["FINANCE", "ACCOUNT"],
  "total_candidates_found": 8,
  "qualified_count": 3,
  "exclusion_count": 5,
  "qualified_papers": [
    {
      "title": "Corporate Governance and Financial Reporting Quality",
      "authors": "J Smith, A Taylor",
      "year": 2022,
      "venue": "Journal of Financial Economics",
      "scholar_url": "https://doi.org/10.1016/j.jfineco.2022.01.001",
      "annotation": "Investigates the causal link between strategic board adjustments and reporting accuracy.",
      "citation_signal": "Cited by 142",
      "position": 1,
      "raw_text": "...",
      "ajg_info": {
        "official_title": "Journal of Financial Economics",
        "ajg_star": "4*",
        "field": "FINANCE",
        "is_ft50": true,
        "is_utd24": true,
        "print_issn": "0304-405X"
      },
      "rank_score": 51.9
    }
  ],
  "exclusions": [
    {
      "title": "Machine Learning in Financial Forecasting",
      "venue": "arXiv preprint arXiv:2104.01234",
      "reason": "unmatched_venue",
      "details": "Venue 'arXiv preprint' not found in AJG 2024 journal index",
      "position": 3
    }
  ],
  "handoff_required": false,
  "handoff_url": null
}

离线测试与验证

运行确定性单元测试:

python -m unittest discover -s tests -p "test_*.py"

所有测试均在 2 秒内完成,无任何网络或浏览器依赖。


隐私、安全与合规声明

  1. 安全交接与零绕过原则:本工具绝不尝试自动化破解 Google CAPTCHA 验证码,绝不收集、导出或传输用户 Google 账号密码。遇验证要求时立即暂停并提示用户手动处理。
  2. 本地凭证隔离:所有 Cookie 和登录会话均保存在用户指定的本地 Profile 目录中,不进行任何远程同步。
  3. 合规提示:Google Scholar Labs 为 Google 旗下实验性学术产品,使用者须自行遵守 Google 服务条款与学术检索规范。

上游归属与开源协议

本项目基于 MIT License 开源。详见 LICENSE 文件。

归属致谢

本项目是在原 Scholar Labs Search 项目概念基础上演进与扩展的独立适配版本,新增了:

  • AJG 2024 (ABS) 学术期刊分级筛选与加权排序
  • 结构化剔除分类机制(Exclusion Transparency)
  • 标准 Model Context Protocol (MCP) JSON-RPC 协议适配
  • 确定性离线测试套件与安全交接架构

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选