Skip to main content
Glama
divenire990

google-scholar-labs-ajg-mcp

by divenire990

Google Scholar Labs Search (AJG 2024 MCP Adaption)

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

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).

English | 简体中文


Offline-Demonstration des Terminal-Dry-Run

Google-scholar-labs-ajg-mcp Dry-Run-Ablaufdemo


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 exclusions protokolliert 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: true zurü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 build

Die 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

query

string

(erforderlich)

Das akademische Suchthema, die Frage oder das Stichwort, das an Google Scholar Labs übermittelt wird.

min_stars

string

"2"

Mindest-Sterne-Schwelle für die AJG-Filterung ("1", "2", "3", "4", "4*"). Standard ist "2" (d. h. ABS2+).

fields

array[string]

null

Optionale Liste von Fachbereichscodes (z. B. ["ACCOUNT", "FINANCE", "STRAT", "ECON"]).

max_candidates

integer

15

Maximale Anzahl von Kandidatenkarten, die beim ersten Parsen extrahiert wird.

headless

boolean

true

Gibt an, ob der Browser im Headless-Modus ausgeführt wird.

profile_dir

string

null

Benutzerdefinierter Pfad für das persistente Profilverzeichnis (überschreibt Umgebungsvariablen).

dry_run

boolean

false

Dry-run-Modus: prüft nur die Abfrage und die AJG-Abgleich-Engine, ohne den Browser zu starten.

mock_html

string

null

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

  1. 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.

  2. Lokale Isolierung von Anmeldedaten: Alle Cookies und Anmeldesitzungen werden im lokal festgelegten Profilverzeichnis gespeichert; es findet keine Remotesynchronisierung statt.

  3. 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

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • MCP server for Google search results via SERP API

  • Academic research MCP server for paper search, citation checks, graphs, and deep research.

  • A paid remote MCP for AI agent browser approval MCP, built to return verdicts, receipts, usage logs,

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/divenire990/Google-scholar-labs-ajg-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server