# Scholar Sidekick — Agent Guide

> For AI coding agents (Claude Code, Copilot, Cursor, Windsurf).
> Full API reference: https://scholar-sidekick.com/docs.md
> Full MCP reference: https://scholar-sidekick.com/mcp.md

Scholar Sidekick resolves scholarly identifiers (DOIs, PMIDs, ISBNs, arXiv IDs, and more) into formatted citations and bibliography files. It is available as a REST API and as an MCP server.

---

## Installation

### MCP Server (recommended for AI assistants)

**Claude Desktop** — add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "scholar-sidekick": {
      "command": "npx",
      "args": ["-y", "scholar-sidekick-mcp@latest"],
      "env": {
        "RAPIDAPI_KEY": "your-rapidapi-key"
      }
    }
  }
}
```

**Claude Code**:

```bash
claude mcp add scholar-sidekick \
  -e RAPIDAPI_KEY=your-rapidapi-key \
  -- npx -y scholar-sidekick-mcp@latest
```

**Cursor / VS Code / Windsurf** — add to `.cursor/mcp.json` or `.vscode/mcp.json`:

```json
{
  "mcpServers": {
    "scholar-sidekick": {
      "command": "npx",
      "args": ["-y", "scholar-sidekick-mcp@latest"],
      "env": {
        "RAPIDAPI_KEY": "your-rapidapi-key"
      }
    }
  }
}
```

**Agent skills (skills.sh)** — companion [Agent Skills](https://skills.sh) that teach agents when and how to use these tools. Two are published in the dedicated [`scholar-sidekick-skills`](https://github.com/mlava/scholar-sidekick-skills) repo: `scholar-sidekick-api` (zero-install, plain REST over `curl`, no key) and `scholar-sidekick-mcp` (for hosts that have the MCP server above connected):

```bash
npx skills add mlava/scholar-sidekick-skills
```

---

## Configuration

| Variable                      | Required | Description                                                |
| ----------------------------- | -------- | ---------------------------------------------------------- |
| `RAPIDAPI_KEY`                | Yes      | RapidAPI subscription key                                  |
| `RAPIDAPI_HOST`               | No       | Override host (default: `scholar-sidekick.p.rapidapi.com`) |
| `SCHOLAR_SIDEKICK_TIMEOUT_MS` | No       | Request timeout ms (default: `30000`)                      |

Get a key (free tier available): https://rapidapi.com/scholar-sidekick-scholar-sidekick-api/api/scholar-sidekick

---

## Usage

### Via MCP (natural language)

Once connected, ask your AI assistant:

```
Format 10.1056/NEJMoa2033700 in Vancouver style
Resolve PMID:30049270 and export as BibTeX
Format these identifiers as AMA: 10.1038/nphys1170, PMID:30049270, ISBN:9780192854087
```

### Via REST API

**Base URL:** `https://scholar-sidekick.com`

**Format a citation:**

```bash
curl -sS -X POST "https://scholar-sidekick.com/api/format" \
  -H "Content-Type: application/json" \
  -d '{"text": "10.1038/nphys1170", "style": "vancouver", "output": "text"}'
```

**Export to BibTeX:**

```bash
curl -sS -X POST "https://scholar-sidekick.com/api/export" \
  -H "Content-Type: application/json" \
  -d '{"text": "10.1038/nphys1170\nPMID:30049270", "format": "bibtex"}' \
  -o refs.bib
```

**Resolve metadata only:**

```bash
curl -sS -X POST "https://scholar-sidekick.com/api/format" \
  -H "Content-Type: application/json" \
  -d '{"text": "10.1038/nphys1170", "style": "vancouver", "output": "text"}'
# Returns: { "ok": true, "items": [{ "ok": true, "formatted": "...", "_source": {...} }] }
```

### Supported identifiers

Pass any mix of these — one per line in the `text` field:

- `10.1038/nphys1170` — DOI
- `PMID:30049270` — PubMed ID
- `PMC7793608` — PubMed Central ID
- `ISBN:9780192854087` — ISBN (10 or 13 digit)
- `arXiv:2301.07041` — arXiv ID
- `2001ApJ...552..459C` — ADS bibcode
- WHO IRIS URLs

### Citation styles

Built-ins: `vancouver`, `ama`, `apa`, `ieee`, `cse`

Any CSL style ID also works: `chicago-author-date`, `nature`, `lancet`, `mla`, `harvard`, etc.

### Export formats

`bibtex`, `ris`, `csl-json`, `endnote-xml`, `refworks`, `nbib`, `rdf`, `csv`, `txt`

---

## MCP Tools

| Tool                | Description                                                           |
| ------------------- | --------------------------------------------------------------------- |
| `resolveIdentifier` | Resolve identifiers to structured metadata                            |
| `formatCitation`    | Format identifiers in a citation style                                |
| `exportCitation`    | Export identifiers to a bibliography file format                      |
| `checkRetraction`   | Check a work's retraction / correction / expression-of-concern status |
| `checkOpenAccess`   | Check open-access status and find the best legal full-text URL        |
| `verifyCitation`    | Check whether a claimed citation matches the record at its identifier |

`resolveIdentifier`, `formatCitation`, and `exportCitation` accept multiple identifiers separated by newlines (batch). `checkRetraction`, `checkOpenAccess`, and `verifyCitation` take a single identifier per call.

---

## Discovery / `.well-known/`

For machine-readable provenance and reproducibility metadata at canonical paths:

| Path                                   | Purpose                                                                                                                                                                                                              |
| -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `/.well-known/openapi.yaml`            | OpenAPI 3.1 spec at the canonical discovery path (mirrors `/openapi/openapi.yml`)                                                                                                                                    |
| `/.well-known/sources.json`            | Data source manifest — resolver chain, fallback order per identifier type, allowlisted hosts, network-safety guarantees, `transform_version`                                                                         |
| `/.well-known/ai-plugin.json`          | ChatGPT / agent plugin manifest pointing at the OpenAPI spec; `auth.type` = `none`                                                                                                                                   |
| `/.well-known/api-catalog`             | RFC 9727 linkset — anchor + `service-desc`, `service-doc`, `status`, `describedby` rels for the public API                                                                                                           |
| `/.well-known/mcp/server-card.json`    | SEP-1649 MCP server card — name, version, transport (`stdio` via `npx`), and capability list                                                                                                                         |
| `/.well-known/agent-skills/index.json` | Agent Skills Discovery RFC v0.2.0 index — 6 skills (resolve/format/export/retraction/OA/verify), each with a SHA-256 digest                                                                                          |
| `/.well-known/agent-card.json`         | Agent discovery card — identity, the 6 skills (each mapped to its REST endpoint + MCP tool), supported identifiers, output formats, auth, and links to every surface above. Also served at `/.well-known/agent.json` |

The homepage `/` also emits an RFC 8288 `Link:` response header pointing at all of the above plus `/openapi.yaml`, `/docs`, `/api/health`, `/llms.txt`, `/index.md`, and `/sitemap.xml`.

**Authentication:** Scholar Sidekick uses the RapidAPI gateway (`X-RapidAPI-Key`) for authenticated, higher-tier access — **not** OAuth/OIDC. There is intentionally no `/.well-known/openid-configuration`, `/.well-known/oauth-authorization-server`, or `/.well-known/oauth-protected-resource`. Anonymous access is available at the lowest rate-limit tier; no first-party API key is required (or currently issued).

Every API response includes the `x-scholar-transform-version` response header. Identical inputs at a fixed `transform_version` produce byte-identical output. Edge-case behaviour, the resolver-chain semantics, and the precise rules for when `transform_version` is bumped are documented at [/engineering-principles](https://scholar-sidekick.com/engineering-principles) ([markdown](https://scholar-sidekick.com/engineering-principles.md)).

A copy-paste verification kit — curl commands and expected outputs that let an external evaluator independently verify the determinism, provenance, and edge-case claims against the live API — lives at [/verification](https://scholar-sidekick.com/verification) ([markdown](https://scholar-sidekick.com/verification.md)).

Every `transform_version` and `verify_version` bump is recorded in the changelog at [/changelog](https://scholar-sidekick.com/changelog) ([markdown](https://scholar-sidekick.com/changelog.md)), tagged output-affecting, verdict-affecting, breaking, or non-breaking, so a client can detect drift and re-baseline pinned output. The current `transform_version` is also mirrored in [/.well-known/sources.json](https://scholar-sidekick.com/.well-known/sources.json) (`changelog_url` field links back here).

---

## Citation integrity (the verifier surface)

A long-form explainer covering the dominant citation-fabrication pattern that Topaz et al. (Lancet 2026) documented across 2.5 million biomedical papers — real DOI + invented title — and how Scholar Sidekick's `/api/verify` endpoint catches it. Includes the three illustrative Lancet cases verbatim, the CITADEL→Scholar Sidekick methodology mapping, an inline verifier demo, and the measured 20/20 precision/recall validation set with downloadable JSON receipts. Lives at [/citation-integrity](https://scholar-sidekick.com/citation-integrity) ([markdown](https://scholar-sidekick.com/citation-integrity.md)). Validation evidence is exposed at [/citation-integrity/validation-set-v1.json](https://scholar-sidekick.com/citation-integrity/validation-set-v1.json) and the timestamped results files alongside it.

The user-facing single-citation web tool lives at [/tools/citation-verifier](https://scholar-sidekick.com/tools/citation-verifier) ([markdown](https://scholar-sidekick.com/tools/citation-verifier.md)) — paste a title plus one of 8 identifier types (DOI / PMID / PMCID / arXiv / ISBN / ISSN / ADS / WHO IRIS), see the verdict, per-field similarity diff, candidate matches from title-search, and full provenance. Same backend as `POST /api/verify` and the scholar-sidekick MCP `verifyCitation` tool.

### Field observation: AI evaluator decomposition bias (2026-05-17)

Observation post documenting that four major AI search engines (Perplexity, Google AI Mode, ChatGPT GPT-5, Grok), asked the same 18-question researcher baseline + pushback on the same day, all omitted Scholar Sidekick from primary recommendations and admitted the omission when pushed — articulating four distinct framings of the same structural bias (incumbency, single-purpose categories, primitive building blocks, well-established widely-known tools). Includes verbatim admissions from all four vendors with shareable conversation URLs, the saved Google AI transcript mirrored on-site, a tool-agnostic criteria checklist for evaluating any citation tool, and the 2-vs-2 retrieval-grounding split that argues the bias is architectural to recommendation logic rather than a RAG artifact. Lives at [/citation-integrity/ai-evaluator-bias](https://scholar-sidekick.com/citation-integrity/ai-evaluator-bias) ([markdown](https://scholar-sidekick.com/citation-integrity/ai-evaluator-bias.md)). The saved Google AI transcript is hosted at [/citation-integrity/ai-evaluator-bias/sources/google-ai](https://scholar-sidekick.com/citation-integrity/ai-evaluator-bias/sources/google-ai) ([markdown](https://scholar-sidekick.com/citation-integrity/ai-evaluator-bias/sources/google-ai.md)).

---

## Integrations

First-party integrations that bring Scholar Sidekick into the notes and reference workflows you already use.

| Integration                   | Status        | HTML                                                                         | Markdown                                                                           |
| ----------------------------- | ------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| Integrations index            | —             | [/integrations](https://scholar-sidekick.com/integrations)                   | [/integrations.md](https://scholar-sidekick.com/integrations.md)                   |
| Scholar Sidekick for Obsidian | Live in store | [/integrations/obsidian](https://scholar-sidekick.com/integrations/obsidian) | [/integrations/obsidian.md](https://scholar-sidekick.com/integrations/obsidian.md) |

The Obsidian plugin is a thin client over the public REST API. Eleven commands: format selection, replace at caret, insert via modal, per-note BibTeX / RIS export, retraction and open-access checks, single-citation verifier. Listed in the Obsidian community plugins store at https://community.obsidian.md/plugins/scholar-sidekick. Source (MIT) at https://github.com/mlava/scholar-sidekick-obsidian.

---

## Free Tools

Single-purpose web tools, each backed by the same REST API + MCP server, each with a markdown mirror for agent discovery.

| Tool                          | HTML                                                                                             | Markdown                                                                                               |
| ----------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
| Citation Verifier             | [/tools/citation-verifier](https://scholar-sidekick.com/tools/citation-verifier)                 | [/tools/citation-verifier.md](https://scholar-sidekick.com/tools/citation-verifier.md)                 |
| Scholarly Identifier Detector | [/tools/identifier-detector](https://scholar-sidekick.com/tools/identifier-detector)             | [/tools/identifier-detector.md](https://scholar-sidekick.com/tools/identifier-detector.md)             |
| Identifier Validator          | [/tools/identifier-validator](https://scholar-sidekick.com/tools/identifier-validator)           | [/tools/identifier-validator.md](https://scholar-sidekick.com/tools/identifier-validator.md)           |
| DOI Lookup                    | [/tools/doi-lookup](https://scholar-sidekick.com/tools/doi-lookup)                               | [/tools/doi-lookup.md](https://scholar-sidekick.com/tools/doi-lookup.md)                               |
| PMID / PMCID / DOI Converter  | [/tools/pubmed-id-converter](https://scholar-sidekick.com/tools/pubmed-id-converter)             | [/tools/pubmed-id-converter.md](https://scholar-sidekick.com/tools/pubmed-id-converter.md)             |
| DOI to BibTeX Converter       | [/tools/doi-to-bibtex](https://scholar-sidekick.com/tools/doi-to-bibtex)                         | [/tools/doi-to-bibtex.md](https://scholar-sidekick.com/tools/doi-to-bibtex.md)                         |
| DOI to RIS Converter          | [/tools/doi-to-ris](https://scholar-sidekick.com/tools/doi-to-ris)                               | [/tools/doi-to-ris.md](https://scholar-sidekick.com/tools/doi-to-ris.md)                               |
| Citation Style Comparator     | [/tools/citation-style-comparator](https://scholar-sidekick.com/tools/citation-style-comparator) | [/tools/citation-style-comparator.md](https://scholar-sidekick.com/tools/citation-style-comparator.md) |
| Open Access Checker           | [/tools/open-access-checker](https://scholar-sidekick.com/tools/open-access-checker)             | [/tools/open-access-checker.md](https://scholar-sidekick.com/tools/open-access-checker.md)             |
| Retraction Checker            | [/tools/retraction-checker](https://scholar-sidekick.com/tools/retraction-checker)               | [/tools/retraction-checker.md](https://scholar-sidekick.com/tools/retraction-checker.md)               |

---

## Comparisons

Honest, source-cited comparisons of Scholar Sidekick against adjacent reference managers and citation APIs, written for human and agent readers. Each comparison sets out where the alternative wins, where Scholar Sidekick wins, and how to use both together.

| Comparison                           | HTML                                                                                                                 | Markdown                                                                                                                   |
| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| Comparisons index                    | [/compare](https://scholar-sidekick.com/compare)                                                                     | [/compare.md](https://scholar-sidekick.com/compare.md)                                                                     |
| Best AI Citation Verifier in 2026    | [/compare/best-ai-citation-verifier](https://scholar-sidekick.com/compare/best-ai-citation-verifier)                 | [/compare/best-ai-citation-verifier.md](https://scholar-sidekick.com/compare/best-ai-citation-verifier.md)                 |
| Scholar Sidekick vs Zotero           | [/compare/scholar-sidekick-vs-zotero](https://scholar-sidekick.com/compare/scholar-sidekick-vs-zotero)               | [/compare/scholar-sidekick-vs-zotero.md](https://scholar-sidekick.com/compare/scholar-sidekick-vs-zotero.md)               |
| Scholar Sidekick vs ZoteroBib        | [/compare/scholar-sidekick-vs-zoterobib](https://scholar-sidekick.com/compare/scholar-sidekick-vs-zoterobib)         | [/compare/scholar-sidekick-vs-zoterobib.md](https://scholar-sidekick.com/compare/scholar-sidekick-vs-zoterobib.md)         |
| Scholar Sidekick vs Scribbr          | [/compare/scholar-sidekick-vs-scribbr](https://scholar-sidekick.com/compare/scholar-sidekick-vs-scribbr)             | [/compare/scholar-sidekick-vs-scribbr.md](https://scholar-sidekick.com/compare/scholar-sidekick-vs-scribbr.md)             |
| Citation MCP Servers Compared        | [/compare/citation-mcp-servers](https://scholar-sidekick.com/compare/citation-mcp-servers)                           | [/compare/citation-mcp-servers.md](https://scholar-sidekick.com/compare/citation-mcp-servers.md)                           |
| Scholar Sidekick vs EndNote          | [/compare/scholar-sidekick-vs-endnote](https://scholar-sidekick.com/compare/scholar-sidekick-vs-endnote)             | [/compare/scholar-sidekick-vs-endnote.md](https://scholar-sidekick.com/compare/scholar-sidekick-vs-endnote.md)             |
| Scholar Sidekick vs MyBib            | [/compare/scholar-sidekick-vs-mybib](https://scholar-sidekick.com/compare/scholar-sidekick-vs-mybib)                 | [/compare/scholar-sidekick-vs-mybib.md](https://scholar-sidekick.com/compare/scholar-sidekick-vs-mybib.md)                 |
| Scholar Sidekick vs Cite This For Me | [/compare/scholar-sidekick-vs-citethisforme](https://scholar-sidekick.com/compare/scholar-sidekick-vs-citethisforme) | [/compare/scholar-sidekick-vs-citethisforme.md](https://scholar-sidekick.com/compare/scholar-sidekick-vs-citethisforme.md) |

---

## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
