Google Scholar Skills

Google Scholar Skills for Claude Code

Six skills and a gs-researcher agent: Claude Code searches Google Scholar, tracks citations, fetches full-text links and exports to Zotero

  • 538 ★ on the repository
  • Last commit
  • MIT
Skill

Extended access

Why this level

  • Debugging port 9222 gives the agent control of Chrome tabs, including ones where you are signed in
  • The skill runs JavaScript on the page and downloads data, and gs-export passes records to Zotero
  • The full-text links include Sci-Hub, whose lawfulness depends on your country
All reasons and checks

cookjohn/gs-skills

Install

Manual install

claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest

Step 1: the Chrome DevTools MCP server through which the skills drive the browser.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • Debugging port 9222 gives the agent control of Chrome tabs, including ones where you are signed in
  • The skill runs JavaScript on the page and downloads data, and gs-export passes records to Zotero
  • The full-text links include Sci-Hub, whose lawfulness depends on your country

This is third-party code. Review the repository files before installing.

What it does

The set drives Google Scholar through Chrome DevTools MCP: the service has no public API, so the skills parse the page with CSS selectors. Each operation takes one or two tool calls, with no screenshot recognition. The gs-search skill searches by keywords and returns title, authors, journal, year, citation count and links. Gs-advanced-search adds filters for author, journal, date range, exact phrase and title-only, for example author:Einstein after:2020. Gs-cited-by finds works citing a chosen paper through its data-cid identifier, which serves as the key across all skills. Gs-fulltext collects links to the PDF, DOI and publisher page, and gs-navigate-pages pages through results. Gs-export takes BibTeX and sends the record to Zotero with the push_to_zotero.py script. The gs-researcher agent ties all six skills into chains like search, citations, export to Zotero. If Google shows a CAPTCHA, it stops and asks you to solve it by hand in the browser.

Who it is for. For researchers, graduate students and students who collect literature in Google Scholar and keep a library in Zotero.

Good fit when

  • You want a structured list of papers on a topic with citation counts, journals and years
  • You need papers by Einstein after 2020 or an exact phrase in titles only
  • You want to see who cites a key paper and follow the citation chain
  • You need full-text links: PDF, DOI, publisher page
  • You want the papers you found pushed straight to Zotero as BibTeX

Not a fit when

  • You need an official API with a guaranteed structure: page parsing can break when Google Scholar changes its markup
  • You need Chinese databases: the catalog has a separate set for CNKI from the same author
  • You want to search without a browser: Chrome has to be open with a debugging port
  • You need bulk data collection: frequent requests trigger a CAPTCHA that the skill asks you to solve by hand

Example request

/gs-advanced-search author:Hinton after:2022 neural networks, then show who cites the first paper

Limitations

Requires Chrome with remote debugging on port 9222 and the chrome-devtools-mcp server. Export needs the Zotero desktop app and Python 3. Data comes from page parsing, so a markup change can break it. Among other links, gs-fulltext returns Sci-Hub links; whether using them is lawful depends on your country and your organization's rules. A CAPTCHA pauses work until you solve it by hand.

How to disable. Delete the gs-* folders from .claude/skills and gs-researcher.md from .claude/agents. Remove the server with claude mcp remove chrome-devtools and close Chrome with the debugging port.

FAQ

How do I connect Google Scholar to Claude Code?

Install the server with claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest, copy the skills and agents folders from the repository into .claude and start Chrome with --remote-debugging-port=9222. After launching claude, check the setup with /gs-search deep learning.

Why don't the skills use a Google Scholar API?

The service has no public API. The skills read the page through evaluate_script and CSS selectors, and get BibTeX through navigate_page to sidestep CORS limits on scholar.googleusercontent.com.

What is data-cid and why does it matter?

It is the article's cluster ID in Google Scholar results. It is the primary key across all skills: citation tracking, export and cross-references run on it, for example /gs-cited-by 0qfs6zbVakoJ.

What does the skill do on a CAPTCHA?

It detects the CAPTCHA, stops and asks you to solve it in the browser, after which you tell it to continue. The skill never solves a CAPTCHA automatically.

Is Zotero required?

No. Zotero and Python 3 are needed only for export through gs-export. Search, citations and full-text links work without them.

Discussion

No questions or reviews yet.

Skills

CNKI Skills

CNKI Skills for Claude Code

A Claude Code skill set that drives CNKI through Chrome DevTools MCP: search papers, browse journals, download PDFs and export to Zotero

SkillExtended access1KRepository stars

A Claude Code skill that turns the agent into a researcher: multi-step source collection, citation verification, and a wiki report that grows session by session

SkillExtended access4.2KRepository stars

Deep Research

Deep Research Skill for Claude Code

A deep research skill for Claude Code: multi-phase search, claim verification and cited reports in Markdown, HTML and PDF

SkillExtended access1.2KRepository stars

Paper search across five databases with deduplication, citation checks and RIS or BibTeX export for Claude Code and Codex

PluginExtended access360Repository stars

An MCP server that searches Google and Scholar, reads pages and PDFs and stores findings in a local project knowledge graph

MCP serverExtended access291Repository stars

A web research skill: SearXNG searches, Camofox reads pages and CloakBrowser opens sites that check their visitors

SkillBroad access539Repository stars

Comparison with similar tools

Entries that share the main search query, and how they differ.

EntryOfficialAuthenticationRepository starsMain difference
Google Scholar Skills (this entry)no538
CNKI Skillsno1,027the same approach for the Chinese CNKI database
Paper Search MCPnokey is optional2,941an MCP server searching arXiv, PubMed and other open sources through APIs
Zotero MCPnonot required1,251connects a Zotero library to the agent and has no Google Scholar search

README in short

The description is given in English and Chinese. It lists the requirements, a table of six skills with example calls, the gs-researcher agent and three setup steps: the Chrome DevTools MCP server, copying the skills and starting Chrome with a debugging port. It then explains how it works: page parsing with no screenshot recognition, data-cid as the key and one async script per operation. MIT license.

README badge

Original SKILL.md

---
name: gs-search
description: Search Google Scholar for academic papers by keywords. Returns results with title, authors, journal, year, citation count, and full-text links. Use when the user wants to search Google Scholar.
argument-hint: "[search keywords]"
---

# Google Scholar Basic Search

Search Google Scholar for papers using keyword(s). Returns structured result list via DOM scraping.

## Arguments

$ARGUMENTS contains the search keyword(s).

## Steps

### 1. Navigate

Use `mcp__chrome-devtools__navigate_page`:
- url: `https://scholar.google.com/scholar?q={URL_ENCODED_KEYWORDS}&hl=en&num=10`

### 2. Extract results (evaluate_script)

Wait for results to load, check for CAPTCHA, then scrape the DOM:

```javascript
async () => {
  // Wait for results or CAPTCHA
  for (let i = 0; i < 20; i++) {
    if (document.querySelector('#gs_res_ccl') || document.querySelector('#gs_captcha_ccl')) break;
    await new Promise(r => setTimeout(r, 500));
  }

  // CAPTCHA check
  if (document.querySelector('#gs_captcha_ccl') || document.body.innerText.includes('unusual traffic')) {
    return { error: 'captcha', message: 'Google Scholar requires CAPTCHA verification. Please complete it in your browser, then tell me to continue.' };
  }

  const items = document.querySelectorAll('#gs_res_ccl .gs_r.gs_or.gs_scl');
  const results = Array.from(items).map((item, i) => {
    const titleEl = item.querySelector('.gs_rt a');
    const meta = item.querySelector('.gs_a')?.textContent || '';
    // Parse "Author1, Author2 - Journal, Year - publisher"
    const parts = meta.split(' - ');
    const authors = parts[0]?.trim() || '';

Report a problem

Foxx AIGoogle Scholar Skills
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.