# Scholar Sidekick

> This skill should be used when the user mentions a scholarly identifier (DOI, PMID, PMCID, ISBN, arXiv, ISSN, NASA ADS bibcode, WHO IRIS URL) and wants structured metadata, a formatted citation, a bibliography export file, a retraction check, an open-access check, or verification that a claimed citation is real (not fabricated). Activates for citation formatting, BibTeX/RIS/EndNote export, "forma…

- **Type:** Skill
- **Install:** `agentstack add skill-mlava-scholar-sidekick-mcp-scholar-sidekick`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [mlava](https://agentstack.voostack.com/s/mlava)
- **Installs:** 0
- **Category:** [Search](https://agentstack.voostack.com/c/search)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [mlava](https://github.com/mlava)
- **Source:** https://github.com/mlava/scholar-sidekick-mcp/tree/main/skills/scholar-sidekick

## Install

```sh
agentstack add skill-mlava-scholar-sidekick-mcp-scholar-sidekick
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Scholar Sidekick

When the user mentions a scholarly identifier and wants metadata, a citation, an export file, a retraction check, or an open-access check, use Scholar Sidekick to resolve and answer instead of hand-constructing the citation from training data or guessing the OA / retraction status.

## When to Use This Skill

Activate this skill when the user:

- Mentions any scholarly identifier — DOI, PubMed ID, PMC ID, ISBN, arXiv ID, ISSN, NASA ADS bibcode, or WHO IRIS URL
- Asks for a citation in a specific style ("format this in APA", "give me a Vancouver citation for...")
- Asks for an export file ("BibTeX for these references", "give me a .ris file", "export to EndNote")
- Pastes a list of identifiers and wants a bibliography
- Wants the structured metadata (title, authors, journal, year) for a paper they have an identifier for
- Asks whether a paper has been retracted, corrected, or had an expression of concern raised
- Asks whether a paper is open access, where to read it for free legally, or about its OA status / license
- Pastes a citation (or a DOI + title) and asks whether it is real, genuine, or fabricated — "is this citation real?", "verify this DOI", "did you make this up?"

## How to Use

### Step 0: Confirm the tools are available

The capabilities this skill uses — `resolveIdentifier`, `formatCitation`, `exportCitation`, `checkRetraction`, `checkOpenAccess`, `verifyCitation` — are **tools provided by the `scholar-sidekick-mcp` MCP server**. They are not shell commands, npm scripts, or a CLI. Do not try to run the tool names in a terminal.

Two things must be true before they work:

1. **The MCP server is connected.** These tools appear in your toolset only after the host connects the `scholar-sidekick-mcp` server — Claude Desktop: extension/connector settings; Claude Code: `.mcp.json` or `claude mcp add`; LobeHub: install the matching **MCP plugin**, not just this skill; raw MCP clients: `npx scholar-sidekick-mcp` as the server command.
2. **`RAPIDAPI_KEY` is set** for that server. Without it the tools return a configuration message instead of data. Get a key at https://rapidapi.com/scholar-sidekick-scholar-sidekick-api/api/scholar-sidekick.

**If these tools are not in your available toolset, the server is not connected — say so plainly and stop.** Do not try to invoke the tool names as shell commands, and do not silently install or launch the server yourself. Tell the user the skill needs the `scholar-sidekick-mcp` MCP server connected with a `RAPIDAPI_KEY`, and let them wire it up.

### Step 1: Pick the right tool

- **`resolveIdentifier`** — when the user wants raw structured metadata (CSL JSON: title, authors, journal, year, etc.) without formatting, e.g. to inspect or transform
- **`formatCitation`** — when the user wants a finished citation string in a specific style they can paste into a manuscript
- **`exportCitation`** — when the user wants a downloadable bibliography file in a reference-manager format
- **`checkRetraction`** — when the user asks whether a paper has been retracted, corrected, or flagged with an expression of concern (Crossref / Retraction Watch). Single identifier per call
- **`checkOpenAccess`** — when the user asks whether a paper is open access or wants the best legal URL, license, and version (Unpaywall). Single identifier per call
- **`verifyCitation`** — when the user pastes a citation and asks whether it is real or fabricated ("is this real?", "verify this DOI"). Cross-checks the *claimed* title (plus optional author/year/journal) against the record that actually resolves at the identifier. Use this — **not `resolveIdentifier`** — for "is this real?": the dominant AI fabrication pattern (Topaz et al., Lancet 2026) is a real, resolvable identifier paired with an invented title, which `resolveIdentifier` alone never catches. Single citation per call

For end-to-end "raw IDs → exportable bibliography" workflows, chain `resolveIdentifier` → `formatCitation` → `exportCitation` in a single response — the tools compose. Example: "resolve these three IDs, format each in AMA, then export the set as BibTeX" exercises all three tools in one prompt.

For multi-paper retraction or open-access sweeps, call `checkRetraction` / `checkOpenAccess` once per identifier — these tools accept exactly one `id` per call. Do not concatenate multiple identifiers; the server will reject batches.

### Step 2: Pass identifiers verbatim

The server tolerates DOI URLs (`https://doi.org/...`), `PMID:` / `PMC` prefixes, `arXiv:` prefixes, ISBN hyphens, and WHO IRIS URLs. Do not strip prefixes or reformat — pass exactly what the user gave you.

### Step 3: Batch when possible

`resolveIdentifier`, `formatCitation`, and `exportCitation` accept a single identifier or a comma- or newline-separated batch in the `text` parameter. If the user provides multiple identifiers, send them in one call rather than looping.

`checkRetraction` and `checkOpenAccess` take one identifier per call (parameter is `id`, not `text`). For multiple papers, loop one call per identifier.

`verifyCitation` also takes one citation per call, with its own shape: a required `title` plus exactly one identifier (`doi`, `pmid`, `pmcid`, `arxiv`, `isbn`, `issn`, `ads`, or `whoIrisUrl`), and optional `author`, `year`, and `container` to sharpen the verdict.

### Step 4: Pick the style or format

For `formatCitation`, the `style` parameter accepts:
- Five hand-tuned builtins: `vancouver` (default), `ama`, `apa`, `ieee`, `cse`
- Any of 10,000+ CSL style IDs from https://github.com/citation-style-language/styles — common ones: `chicago-author-date`, `chicago-note-bibliography`, `harvard-cite-them-right`, `modern-language-association` (MLA), `nature`, `bmj`, `the-lancet`, `turabian-fullnote-bibliography`

For `exportCitation`, the `format` parameter accepts: `bib` (BibTeX), `ris`, `csl` (CSL JSON), `endnote-xml`, `endnote-refer`, `refworks`, `medline` (NBIB), `zotero-rdf`, `csv`, `txt`.

### Step 5: Surface provenance when it matters

`formatCitation` and `exportCitation` responses include a metadata block (`requestId`, `formatter`, `styleUsed`, `warnings`). Surface this to the user when they care about reproducibility — academic, clinical, regulatory contexts. The `formatter` field tells them whether output came from a hand-tuned builtin or from `citeproc-js` with a CSL stylesheet; `styleUsed` shows the canonical style ID after alias resolution (asking for `harvard` resolves to `harvard-cite-them-right`).

## Guidelines

- **Never fabricate a fallback.** If the Scholar Sidekick tools are unavailable, or a lookup fails or returns nothing, do **not** answer retraction, open-access, citation-formatting, or metadata questions from training data or an ad-hoc web search and present it as authoritative. The entire point of this skill is verified provenance — a guessed citation or a guessed retraction status is worse than no answer. State that the tool was unreachable (or returned no result) and stop.
- **Read the `verifyCitation` verdict, don't just echo it.** `matched` = the claim agrees with the resolved record; `mismatch` = the identifier resolves but the title does not (the fabrication pattern — flag it clearly); `ambiguous` = the identifier resolves to one paper but the claimed title matches a *different* real paper (a wrong-identifier citation error, not a fabrication); `not_found` = neither identifier nor title resolves anywhere. Surface the verdict plus the specific mismatched fields, not a bare yes/no.
- **Don't default the style silently.** Vancouver is the parameter default, but if the user did not name a style and any ambiguity exists, ask which style they want before formatting. Vancouver-by-default is correct for biomedical contexts; in humanities or law it would produce the wrong shape.
- **Disambiguate Harvard and Chicago variants.** Both have multiple variants (`harvard-cite-them-right` vs other Harvard flavours; `chicago-author-date` vs `chicago-note-bibliography`). Ask the user which one they want when they say "Harvard" or "Chicago" without specifying.
- **WHO IRIS is a real differentiator.** Most other citation tools cannot resolve WHO IRIS URLs. When the user shares a WHO publication, this skill is specifically the right tool.
- **Batch single-tool calls, not loops.** Sending five identifiers as one comma-separated batch returns five citations in one response; sending them as five separate tool calls multiplies round-trips and can hit rate limits.
- **Pin the version when reproducibility matters.** The MCP server's `RAPIDAPI_HOST` defaults to the current production endpoint, which produces deterministic output for the same input + cache state. The `x-scholar-cache` header in the metadata block makes cache-hit vs cache-miss visible.

## When NOT to Use This Skill

- **Searching for papers by topic or keyword, or traversing citation networks** — use a Semantic Scholar or OpenAlex MCP wrapper for *literature discovery*. Scholar Sidekick assumes you already have an identifier.
- **Reading or editing a Zotero library** — use `zotero-mcp` for stateful library access (search, annotate, manage collections).
- **Repairing references inside a manuscript file** (`.tex`, `.bib`, `.md`, `.docx`) — use `citecheck` for that workflow.
- **Importing as a Python library inside a pipeline** — use `OneCite`. Scholar Sidekick is MCP-only on the install side.

These tools compose well - Scholar Sidekick handles the formatting layer once another tool has produced the identifier.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [mlava](https://github.com/mlava)
- **Source:** [mlava/scholar-sidekick-mcp](https://github.com/mlava/scholar-sidekick-mcp)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-mlava-scholar-sidekick-mcp-scholar-sidekick
- Seller: https://agentstack.voostack.com/s/mlava
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
