Skip to main content
Glama
divenire990

google-scholar-labs-ajg-mcp

by divenire990

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 フローデモ


Related MCP server: Gemini Research MCP Server

主な特徴

  • 厳格な 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 プロトコルへの適合

  • 決定論的オフラインテストスイートと安全なハンドオフアーキテクチャ

Available Tools

1 tool

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.1.0
    • First observedscholar_labs_search

TDQS

A4.2/5.0

Scored across 1 tool

Disambiguation5/5

With only a single tool, there is no possible confusion between competing choices. The tool's purpose is clear and distinct by default.

Naming Consistency5/5

The name `scholar_labs_search` follows a consistent domain/action pattern. With only one tool, there are no naming conflicts or inconsistencies to evaluate.

Tool Count4/5

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.

Completeness5/5

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

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A 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.
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for the OpenAlex scholarly database, providing AI agents with tools to search and retrieve academic works, authors, and institutions via natural language queries.
    8
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server for searching Google Scholar, enabling paper search, author lookup, citation tracking, and BibTeX export for AI assistants and automation workflows.
    48 PyPI
    2
    MIT