# HasData Google Scholar

A hosted MCP server that adds two Google Scholar tools to your agent: literature search and ready-made citations as JSON. No hosting, just a HasData key.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 13
- Author: HasData
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/HasData/google-scholar-mcp
- Updated: 2026-10-12
- HTML: https://affpapa.org/en/nevibecode/mcp/hasdata-google-scholar

## What it does

Two tools sit behind one remote endpoint. The search tool returns each result with its title, link, snippet, authors and their profile links, a cited-by count and the number of indexed versions. The citation tool hands back a formatted reference in five styles — MLA, APA, Chicago, Harvard, Vancouver — along with export URLs for BibTeX, EndNote, RefMan and RefWorks.

Nothing runs on your machine. The transport is streamable HTTP at `https://mcp.hasdata.com/mcp?apis=google_scholar`, and the `x-api-key` header carries auth. Clients that only speak stdio go through a launcher published on npm as `@hasdata/google-scholar-mcp` and on PyPI as `hasdata-google-scholar-mcp`.

Register a HasData account to get the key; no card is needed for the free tier. Without a valid `HASDATA_API_KEY` in the environment or the header, calls fail, so wire the key in first. Each successful call costs 10 credits, and the monthly free allowance works out to about 100 calls.

Asking about one paper takes two calls: a search to reach its `resultId`, then the citation lookup. A question about citing works also takes two, since the second call reuses `citedBy.citesId`.

## Requirements
- Needs: Node.js (commands run via npx)
- Remote server: `https://mcp.hasdata.com/mcp?apis=google_scholar`
- Environment variables: `HASDATA_API_KEY` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

1. **Platform CLI**
```bash
claude mcp add google-scholar -e HASDATA_API_KEY=<HASDATA_API_KEY> -- npx -y @hasdata/google-scholar-mcp
```
Replace <…> with your own values

2. **Platform CLI: remote server**
```bash
claude mcp add --transport http hasdata-google-scholar 'https://mcp.hasdata.com/mcp?apis=google_scholar'
```

### Codex

1. **Platform CLI: remote server**
```bash
codex mcp add hasdata-google-scholar --url 'https://mcp.hasdata.com/mcp?apis=google_scholar'
```

2. **Platform CLI**
```bash
codex mcp add hasdata-google-scholar --env HASDATA_API_KEY=<HASDATA_API_KEY> -- npx -y @hasdata/google-scholar-mcp
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "hasdata-google-scholar": {
            "url": "https://mcp.hasdata.com/mcp?apis=google_scholar"
        }
    }
}
```
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "hasdata-google-scholar": {
            "command": "npx",
            "args": [
                "-y",
                "@hasdata/google-scholar-mcp"
            ],
            "env": {
                "HASDATA_API_KEY": "<HASDATA_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "hasdata-google-scholar": {
            "type": "http",
            "url": "https://mcp.hasdata.com/mcp?apis=google_scholar"
        }
    }
}
```
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "hasdata-google-scholar": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@hasdata/google-scholar-mcp"
            ],
            "env": {
                "HASDATA_API_KEY": "<HASDATA_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

1. **Platform CLI: remote server**
```bash
gemini mcp add -t http hasdata-google-scholar 'https://mcp.hasdata.com/mcp?apis=google_scholar'
```

2. **Platform CLI**
```bash
gemini mcp add -e HASDATA_API_KEY=<HASDATA_API_KEY> hasdata-google-scholar npx -y @hasdata/google-scholar-mcp
```
Replace <…> with your own values

## When to use it
- find papers on a topic within a year range, sorted by citation count
- grab a BibTeX or EndNote link for a paper the agent found
- trace which works cite a paper and how that count moved year by year
- get an APA or MLA reference written straight into the agent's answer
- exclude reviews and records without full text from a literature search

## Example prompts
- Find papers on transformer architectures since 2023, sorted by citation count
- Give me the BibTeX for this paper
- Who cited this work, and how did the count change by year?

## Similar
- [Zotero MCP](https://affpapa.org/en/nevibecode/mcp/zotero-mcp.md) — MCP server · ★ 5548
- [arxiv-mcp-server](https://affpapa.org/en/nevibecode/mcp/arxiv-mcp-server.md) — MCP server · ★ 3231
- [PaperBanana](https://affpapa.org/en/nevibecode/mcp/paperbanana.md) — MCP server · ★ 2417
- [MATLAB MCP Server](https://affpapa.org/en/nevibecode/mcp/matlab-mcp-server.md) — MCP server · ★ 1716
- [Hex Research](https://affpapa.org/en/nevibecode/mcp/hex-research.md) — MCP server · ★ 583
- [DocsAgent — Zotero, Obsidian & Apple Notes MCP Server](https://affpapa.org/en/nevibecode/mcp/docsagent-zotero-obsidian-apple-notes-mcp-server.md) — MCP server · ★ 578

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
