google-scholar-labs-ajg-mcp
Provides tools for searching Google Scholar Labs academic literature, filtering and ranking results by AJG 2024 journal ratings, with exclusion transparency and optional field filters.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@google-scholar-labs-ajg-mcpSearch for recent papers on AI in accounting with AJG 4 rating"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Google Scholar Labs Search (AJG 2024 MCP Adapted Edition)
A Model Context Protocol (MCP) service for local large language models and AI agents. It searches academic literature on Google Scholar Labs through the user's logged-in local browser session, and strictly filters peer-reviewed journals according to the authoritative AJG 2024 (Academic Journal Guide / ABS) journal ranking directory.
Terminal Dry-Run Offline Demo

Related MCP server: Gemini Research MCP Server
Core Features
Strict AJG 2024 journal ranking filtering: Strictly matches the publication venue of retrieved literature against the official AJG 2024 directory (default ABS2+:
2,3,4,4*), and supports custom star rating thresholds and discipline category filtering (e.g.,FINANCE,ACCOUNT,STRAT,ECON,ORMAN, etc.).Transparent exclusion logging (Exclusion Transparency): Literature that does not meet the criteria (e.g., preprints on arXiv/SSRN, journals not included in AJG, star ratings below the set threshold, or discipline mismatches) is fully documented in
exclusionswith specific reasons, preventing non-core journals from being misclassified as qualified literature.Full qualified result output: Returns all papers on the current search page that meet the rating criteria, without artificially truncating to a fixed top 3.
Human-in-the-Loop Handoff: When encountering Google login verification or CAPTCHA, it immediately and safely pauses, returns
handoff_required: true, and lets the user manually complete verification in the local browser interface. It never attempts to brute-force bypass or steal credentials.Local-first and zero telemetry: Runs entirely in the local environment, communicates via standard Stdio JSON-RPC 2.0, and does not upload credentials or search records to any third-party server.
Zero external dependency core parsing: Includes a built-in core journal directory and a pure standard-library XLSX parser, enabling full deterministic tests even in CI or clean environments without external Excel files.
Architecture and Workflow
[ 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 响应结果 ]Installation and Configuration
Requirements
Python 3.10 or higher
(Optional for real automated searches)
cloakbrowserlibrary and Chromium browser environment
1. Install from Source
git clone https://github.com/divenire990/Google-scholar-labs-ajg-mcp.git
cd Google-scholar-labs-ajg-mcp
pip install -e .Install development and build dependencies:
pip install -e ".[dev]"
# 或者仅安装打包构建依赖:
pip install -e ".[build]"2. Build Distribution Packages (sdist & wheel)
Build the source distribution (.tar.gz) and binary Wheel (.whl):
pip install build
python -m buildThe built files are located in the dist/ directory (automatically ignored by .gitignore).
3. Environment Variable Configuration (Optional)
Copy .env.example to .env or configure environment variables in the terminal:
# 本地浏览器持久化 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 Client Configuration
Add google-scholar-labs-ajg-mcp to your AI client configuration:
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 or .toml)
[mcp_servers.google_scholar_labs_ajg_mcp]
command = "python"
args = ["-m", "scholar_labs.mcp_server"]Tool Interface Description: scholar_labs_search
Input Parameters
Parameter | Type | Default | Description |
|
| (Required) | The academic search topic, question, or keyword submitted to Google Scholar Labs. |
|
|
| Minimum AJG star rating filter threshold ( |
|
|
| Optional list of discipline area codes (e.g., |
|
|
| Maximum number of candidate cards to extract during initial parsing. |
|
|
| Whether to run the browser in headless mode. |
|
|
| Custom persistent Profile directory path (overrides the environment variable). |
|
|
| Dry-run mode: only validates the query and AJG matching engine without launching the browser. |
|
|
| Mock HTML content for offline evaluation and testing. |
Output Response Example
{
"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
}Offline Testing and Verification
Run deterministic unit tests:
python -m unittest discover -s tests -p "test_*.py"All tests complete in less than 2 seconds, with no network or browser dependencies.
Privacy, Security, and Compliance Statement
Safe Handoff and Zero Bypass Principle: This tool never attempts to automatically solve Google CAPTCHA, and never collects, exports, or transmits users' Google account passwords. When verification is required, it immediately pauses and prompts the user to handle it manually.
Local Credential Isolation: All cookies and login sessions are stored in the user-specified local Profile directory, with no remote synchronization.
Compliance Notice: Google Scholar Labs is an experimental academic product by Google. Users must comply with Google's Terms of Service and academic search policies.
Upstream Attribution and Open Source License
This project is open-sourced under the MIT License. See the LICENSE file for details.
Attribution Acknowledgments
This project is an independent adapted version evolved and extended from the original Scholar Labs Search project concept, with the following additions:
AJG 2024 (ABS) academic journal ranking filtering and weighted sorting
Structured exclusion categorization mechanism (Exclusion Transparency)
Standard Model Context Protocol (MCP) JSON-RPC protocol adaptation
Deterministic offline test suite and safe handoff architecture
Available Tools
1 toolscholar_labs_searchA
Search Google Scholar Labs through a logged-in CloakBrowser session and filter results strictly against the AJG (Academic Journal Guide) 2024 rankings. Returns all qualifying papers (default ABS2+: 2, 3, 4, 4*) and detailed exclusion records for unmatchable or sub-threshold candidates. Supports manual handoff if CAPTCHA or Google login is required.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The search topic, research question, or keyword query for Scholar Labs. | |
| fields | No | Optional list of AJG fields to filter journals (e.g. ['ACCOUNT', 'FINANCE', 'ECON', 'ORMAN', 'STRAT']). | |
| dry_run | No | If true, validates query and matcher setup without launching browser. | |
| headless | No | Run CloakBrowser in headless mode. Set to false if interactive takeover or visual inspection is desired. | |
| min_stars | No | Minimum AJG star rating required for qualification ('1', '2', '3', '4', '4*'). Default is '2' (ABS2+). | 2 |
| mock_html | No | Mock HTML content for non-network / offline testing and verification. | |
| profile_dir | No | Path to persistent browser profile directory (defaults to SCHOLAR_LABS_BROWSER_PROFILE or ~/.scholar-labs/browser-profile). | |
| ajg_data_path | No | Path to AJG2024.xlsx data file (defaults to AJG_DATA_PATH or data/AJG2024.xlsx). | |
| max_candidates | No | Maximum raw candidate cards to extract from the first visible Scholar Labs results page. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and largely succeeds: it discloses the logged-in-session requirement, the AJG strict-filtering behavior, and the CAPTCHA/manual-handoff scenario. It adds context beyond what structured fields offer, though it stops short of mentioning rate limits or failure modes beyond CAPTCHA. No contradiction with annotations exists since none are present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: purpose, return behavior, and fallback handling. The primary purpose is front-loaded in sentence one. No filler or redundancy. Slightly more could be trimmed but it is appropriately tight for a tool of this complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex browser-automation tool with 9 parameters, no output schema, and no annotations, the description covers the core workflow (search, AJG filtering, return of qualifying/excluded records) and the critical handoff path. It lacks an exact return-format spec, but the high-level return description partially compensates for the missing output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all nine parameters are already documented in the schema with types, defaults, and descriptions. The tool description adds no additional parameter-level detail beyond restating the ABS2+ default that min_stars already encodes. Baseline 3 applies; the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Search Google Scholar Labs through a logged-in CloakBrowser session') and adds the distinctive filtering behavior ('filter results strictly against the AJG 2024 rankings'). It also specifies the return scope (qualifying papers plus exclusion records). Clear, specific, and unambiguous even without siblings to differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the tool does and notes the manual-handoff path for CAPTCHA or login, which gives context on when a human may need to step in. However, with no sibling tools listed and no explicit when-to-use vs when-not-to-use statements, the usage guidance is implicit rather than directive. The handoff note is a behavioral fallback, not a usage-exclusion rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.0- First observed
scholar_labs_search
TDQS
Scored across 1 tool
With only a single tool, there is no possible confusion between competing choices. The tool's purpose is clear and distinct by default.
The name `scholar_labs_search` follows a consistent domain/action pattern. With only one tool, there are no naming conflicts or inconsistencies to evaluate.
A single tool is at the low end of the typical range, but it provides a comprehensive search-and-filter operation for a narrowly scoped server. It is slightly under the usual 3-15 tools yet reasonable for this focused purpose.
The tool covers the full search workflow including AJG filtering, exclusion records, and authentication/CAPTCHA handoff. Within the stated domain of AJG-filtered Google Scholar search, there are no obvious missing operations.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Scrape, crawl and search the web for AI agents via MCP.
MCP server for Google search results via SERP API
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Related MCP Servers
- AlicenseBqualityDmaintenanceA local MCP server that allows users to search Google Scholar for academic papers by topic, author, and year range without requiring API keys. It utilizes web scraping to provide paginated results for research and academic exploration through natural language.22MIT
- AlicenseAqualityBmaintenanceMCP server for AI-powered research using Gemini. Provides fast grounded web search, deep autonomous research, URL extraction, and session management.69MIT
- AlicenseAqualityDmaintenanceMCP server for the OpenAlex scholarly database, providing AI agents with tools to search and retrieve academic works, authors, and institutions via natural language queries.8MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server for searching Google Scholar, enabling paper search, author lookup, citation tracking, and BibTeX export for AI assistants and automation workflows.2MIT