mcpField
G
gs-fulltext

gs-fulltext

github.com/cookjohn生産性538291 回インストール33 週間前に更新
リポジトリ

gs-fulltext について

gs-fulltextは、Google Scholarの論文について全文へのアクセス方法を調べて整理するスキルです。先行する検索結果のリンクを利用するほか、結果ページからリンクを取得できます。

主な機能

  1. 01全文リンクと出版社リンクの収集
  2. 02結果番号またはdata-cidによる論文特定
  3. 03直リンクと出版社ページの提示
  4. 04選択した全文リンクを開く機能

活用シーン

  1. 01利用可能なPDFまたはHTML版の検索
  2. 02検索結果にあるアクセス方法の確認
  3. 03論文を特定した後に全文を開く

MCP 対応

Chrome DevTools MCPツールでGoogle Scholarの結果を調べ、必要に応じて新しいページでリンクを開きます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/cookjohn/gs-skills --skill gs-fulltext

インストール後、Claude Code で/gs-fulltextを入力して読み込まれたか確認します。

詳細

Google Scholar の全文アクセス

Google Scholar の検索結果で見つかった論文について、全文にアクセスできるすべての方法を解決して提示します。

引数

$ARGUMENTS は次のいずれかです。

  • 前回の検索結果の data-cid
  • 前回の検索結果を指す結果番号(例:3)

前提条件

このスキルは、各検索結果の fullTextUrl と href をすでに抽出している gs-search または gs-advanced-search の実行後に使うと最も効果的です。これらの情報がある場合は、直接使用してください。

手順

Step 1: 検索結果からリンクを収集する

前回の検索結果から、対象の論文について次のフィールドを抽出します。

  • fullTextUrl:PDF/HTMLへの直接リンク(.gs_ggs a から取得)
  • href:論文の出版社ページへのリンク(.gs_rt a から取得)
  • dataCid:クラスター ID

前回の検索コンテキストがない場合は、まず gs-search で論文を検索します。

Step 2: 追加のリンクを解決する(evaluate_script)

Google Scholar の検索結果ページに移動して(まだ表示されていない場合)、対象の論文の全文リンクを抽出します。

async () => {
  const cid = "DATA_CID_HERE";

  // Find the result item by data-cid
  const item = document.querySelector(`.gs_r.gs_or.gs_scl[data-cid="${cid}"]`);
  if (!item) return { error: 'not_found', message: 'Paper not found on current page. Try searching again.' };

  const titleEl = item.querySelector('.gs_rt a');
  const title = titleEl?.textContent?.trim() || item.querySelector('.gs_rt')?.textContent?.trim() || '';
  const paperUrl = titleEl?.href || '';

  // Full-text PDF/HTML link (shown on the right side of results)
  const fullTextEl = item.querySelector('.gs_ggs a') || item.querySelector('.gs_or_ggsm a');
  const fullTextUrl = fullTextEl?.href || '';
  const fullTextType = fullTextEl?.querySelector('span.gs_ctg2')?.textContent?.trim() || '';

  // Meta info for context
  const meta = item.querySelector('.gs_a')?.textContent || '';
  const parts = meta.split(' - ');
  const authors = parts[0]?.trim() || '';
  const journalYear = parts[1]?.trim() || '';

  // Try to extract DOI from paper URL
  let doi = '';
  if (paperUrl.includes('doi.org/')) {
    doi = paperUrl.replace(/^https?:\/\/(dx\.)?doi\.org\//, '');
  }

  // Build access links
  const links = {};

  if (fullTextUrl) {
    links.fullText = fullTextUrl;
    links.fullTextType = fullTextType || (fullTextUrl.endsWith('.pdf') ? '[PDF]' : '[HTML]');
  }

  if (paperUrl) {
    links.publisher = paperUrl;
  }

  if (doi) {
    links.doi = `https://doi.org/${doi}`;
    links.scihub = `https://sci-hub.ru/${doi}`;
  } else if (paperUrl) {
    // Sci-Hub also works with direct URLs
    links.scihub = `https://sci-hub.ru/${paperUrl}`;
  }

  return {
    dataCid: cid,
    title,
    authors,
    journalYear,
    doi,
    fullTextUrl,
    fullTextType,
    paperUrl,
    links
  };
}
Step 3: 報告する
## Full Text Links — {title}

**Authors:** {authors} | {journalYear}

**Direct Full Text:**
{links.fullText ? "- " + links.fullTextType + " " + links.fullText : "No direct full text link available"}

**Publisher Page:**
{links.publisher ? "- " + links.publisher : "N/A"}

**DOI:**
{links.doi ? "- " + links.doi : "No DOI detected"}

**Sci-Hub:**
{links.scihub ? "- " + links.scihub : "N/A"}
Step 4: 全文を開く(任意)

ユーザーがすぐに論文を読みたい場合は、優先順位に従って mcp__chrome-devtools__new_page でリンクを開きます。

  1. fullTextUrl(PDF/HTMLへの直接リンク。通常は無料です)
  2. DOI リンク(購読が必要な場合があります)
  3. Sci-Hub リンク(代替手段)
  4. 出版社のページ

注意事項

  • このスキルでは、ツール呼び出しを 1~2 回行います。検索結果ページを表示済みの場合は evaluate_script、それ以外の場合は navigate_page と evaluate_script を使用します。
  • Google Scholar の全文リンク(.gs_ggs)は、通常、無料で利用できるオープンアクセス PDF です。
  • 論文の URL から DOI を抽出できない場合があります。
  • Sci-Hub は DOI と直接 URL のどちらでも機能します。
  • 新しいタブで全文を開く場合は、ツール呼び出しがもう 1 回(new_page)追加されます。

コメント