google-scholar-labs-ajg-mcp
Google Scholar Labs Search (AJG 2024 MCP Adaption)
Ein Model Context Protocol (MCP)-Dienst für lokale große Sprachmodelle und KI-Agenten. Er durchsucht akademische Literatur über Google Scholar Labs mithilfe der lokal angemeldeten Browsersitzung des Benutzers und filtert Peer-Review-Zeitschriften streng nach dem maßgeblichen AJG 2024-Verzeichnis (Academic Journal Guide / ABS).
Offline-Demonstration des Terminal-Dry-Run

Related MCP server: Gemini Research MCP Server
Kernfunktionen
Strikte AJG 2024-Zeitschriftenfilterung: Die gefundenen Publikationsorte (Venue) werden strikt mit dem offiziellen AJG 2024-Verzeichnis abgeglichen (Standard ABS2+:
2,3,4,4*). Unterstützt werden benutzerdefinierte Sterne-Schwellenwerte und die Filterung nach Fachkategorien (z. B.FINANCE,ACCOUNT,STRAT,ECON,ORMAN).Transparente Ausschlussprotokollierung (Exclusion Transparency): Nicht qualifizierte Literatur (z. B. Preprints von arXiv/SSRN, nicht im AJG erfasste Zeitschriften, Sterne unterhalb des Schwellenwerts oder disziplinäre Nichtübereinstimmung) wird vollständig in
exclusionsprotokolliert und die konkreten Gründe werden erläutert. So wird vermieden, dass nicht zum Kern gehörende Publikationen fälschlich als qualifiziert eingestuft werden.Vollständige Ausgabe qualifizierter Ergebnisse: Es werden alle Papiere der aktuellen Suche zurückgegeben, die die Bewertungskriterien erfüllen, ohne künstliche Beschränkung auf die ersten 3 Einträge.
Sichere Mensch-Maschine-Übergabe (Human-in-the-Loop Handoff): Bei Google-Anmeldeprüfungen oder CAPTCHA wird sofort sicher pausiert und
handoff_required: truezurückgegeben. Der Benutzer führt die Verifizierung manuell in der lokalen Browseroberfläche durch; es wird niemals versucht, diese gewaltsam zu umgehen oder Anmeldedaten zu stehlen.Lokal zuerst und ohne Telemetrie: Läuft vollständig in der lokalen Umgebung und kommuniziert über das standardisierte Stdio-JSON-RPC-2.0-Protokoll. Es werden keine Anmeldedaten oder Suchprotokolle an Drittserver übertragen.
Kernanalyse ohne externe Abhängigkeiten: Integriertes Kernzeitschriftenverzeichnis und ein reiner Standardbibliothek-XLSX-Parser ermöglichen vollständige deterministische Tests selbst in CI- oder sauberen Umgebungen ohne externe Excel-Dateien.
Architektur und Arbeitsablauf
[ 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 und Konfiguration
Umgebungsanforderungen
Python 3.10 oder höher
(Optional für echte automatisierte Suche)
cloakbrowser-Bibliothek und Chromium-Browser-Umgebung
1. Quellcode-Installation
git clone https://github.com/divenire990/Google-scholar-labs-ajg-mcp.git
cd Google-scholar-labs-ajg-mcp
pip install -e .Entwicklungs- und Build-Abhängigkeiten installieren:
pip install -e ".[dev]"
# 或者仅安装打包构建依赖:
pip install -e ".[build]"2. Verteilpakete erstellen (sdist & wheel)
Erstellt das Quellcode-Verteilpaket (.tar.gz) und das binäre Wheel (.whl):
pip install build
python -m buildDie erzeugten Dateien befinden sich im Verzeichnis dist/ (automatisch von .gitignore ignoriert).
3. Umgebungsvariablen konfigurieren (optional)
Kopieren Sie .env.example in .env oder konfigurieren Sie die Umgebungsvariablen im 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-Konfiguration
Fügen Sie google-scholar-labs-ajg-mcp zur Konfiguration Ihres KI-Clients hinzu:
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 oder .toml)
[mcp_servers.google_scholar_labs_ajg_mcp]
command = "python"
args = ["-m", "scholar_labs.mcp_server"]Beschreibung der Tool-Schnittstelle: scholar_labs_search
Eingabeparameter
Parameter | Typ | Standard | Beschreibung |
|
| (erforderlich) | Das akademische Suchthema, die Frage oder das Stichwort, das an Google Scholar Labs übermittelt wird. |
|
|
| Mindest-Sterne-Schwelle für die AJG-Filterung ( |
|
|
| Optionale Liste von Fachbereichscodes (z. B. |
|
|
| Maximale Anzahl von Kandidatenkarten, die beim ersten Parsen extrahiert wird. |
|
|
| Gibt an, ob der Browser im Headless-Modus ausgeführt wird. |
|
|
| Benutzerdefinierter Pfad für das persistente Profilverzeichnis (überschreibt Umgebungsvariablen). |
|
|
| Dry-run-Modus: prüft nur die Abfrage und die AJG-Abgleich-Engine, ohne den Browser zu starten. |
|
|
| Mock-HTML-Inhalt für Offline-Bewertung und Tests. |
Beispiel einer Antwortausgabe
{
"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-Tests und -Verifizierung
Deterministische Unit-Tests ausführen:
python -m unittest discover -s tests -p "test_*.py"Alle Tests werden in unter 2 Sekunden ohne Netzwerk- oder Browserabhängigkeiten ausgeführt.
Datenschutz-, Sicherheits- und Compliance-Hinweise
Grundsatz der sicheren Übergabe und keiner Umgehung: Dieses Tool versucht niemals, Google-CAPTCHAs automatisiert zu umgehen, und sammelt, exportiert oder überträgt niemals Google-Kontopasswörter der Benutzer. Bei einer Verifizierungsanforderung wird sofort pausiert und der Benutzer zur manuellen Bearbeitung aufgefordert.
Lokale Isolierung von Anmeldedaten: Alle Cookies und Anmeldesitzungen werden im lokal festgelegten Profilverzeichnis gespeichert; es findet keine Remotesynchronisierung statt.
Compliance-Hinweis: Google Scholar Labs ist ein experimentelles akademisches Produkt von Google. Benutzer sind verpflichtet, die Google-Nutzungsbedingungen und die Richtlinien für akademische Recherche selbst einzuhalten.
Upstream-Zuordnung und Open-Source-Lizenz
Dieses Projekt ist unter der MIT-Lizenz Open Source. Siehe Datei LICENSE.
Danksagung
Dieses Projekt ist eine unabhängige Adaption, die auf dem Konzept des ursprünglichen Scholar Labs Search-Projekts basiert und es erweitert. Neu hinzugekommen sind:
AJG 2024 (ABS)-Zeitschriftenranking-Filterung und gewichtete Sortierung
Strukturierter Ausschlussklassifizierungsmechanismus (Exclusion Transparency)
Anpassung an das standardisierte Model Context Protocol (MCP) JSON-RPC-Protokoll
Deterministische Offline-Testsuite und Architektur für sichere Übergabe
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
Related MCP Connectors
MCP server for Firecrawl — web search, scraping, and biomedical/arXiv paper search.
Scrape, crawl and search the web for AI agents via MCP.
MCP server for Google search results via SERP API
Free web search for AI agents. No API key required. Hosted MCP in active development.
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.2MIT
- AlicenseAqualityBmaintenanceMCP server for AI-powered research using Gemini. Provides fast grounded web search, deep autonomous research, URL extraction, and session management.627 PyPI9MIT
- 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.48 PyPI2MIT