scholar-sidekick-mcp
v0.8.0
Published
MCP server for Scholar Sidekick — resolve any scholarly identifier (DOI, PMID, PMCID, ISBN, arXiv, ISSN, ADS, WHO IRIS) into 10,000+ CSL styles or nine export formats, single or batch, plus retraction (Crossref / Retraction Watch), open-access (Unpaywall)
Downloads
1,122
Maintainers
Readme
Scholar Sidekick MCP Server
MCP server for Scholar Sidekick — resolve any scholarly identifier (DOI, PMID, PMCID, ISBN, arXiv, ISSN, NASA ADS bibcode, WHO IRIS URL) into 10,000+ CSL styles or nine export formats, plus retraction, open-access, and citation-fabrication-detection checks, from any AI assistant.
Highlights
- Eight identifier types out of the box — DOIs, PMIDs, PMCIDs, ISBNs, arXiv IDs, ISSNs, NASA ADS bibcodes, and WHO IRIS URLs (rare in citation tooling).
- Batch-friendly resolve / format / export — each accepts a single identifier or a comma- or newline-separated list; the server normalises the list and resolves them in one round trip.
- 10,000+ citation styles — five hand-tuned builtins (Vancouver, AMA, APA, IEEE, CSE) plus any CSL style ID, with alias and dependent-style resolution.
- Nine export formats — BibTeX, RIS, CSL JSON, EndNote (XML/Refer), RefWorks, MEDLINE, Zotero RDF, CSV, plain text.
- Retraction & open-access checks —
checkRetractionsurfaces retractions, corrections, and expressions of concern (Crossref / Retraction Watch);checkOpenAccessreturns OA status and the best legal landing or PDF URL (Unpaywall). Both accept any identifier type and resolve it to a DOI under the hood. - Citation-fabrication detection —
verifyCitationcross-checks a claimed citation against the resolved record at its identifier, detecting the dominant AI-driven fabrication pattern documented by Topaz et al. (Lancet 2026) — real DOI + invented title — that simple identifier resolution cannot catch. Long-form explainer at scholar-sidekick.com/citation-integrity. - Composable workflow — chain
resolveIdentifier→formatCitation→exportCitationin one prompt for an end-to-end "raw IDs → exportable bibliography" pipeline. - Provenance metadata on every response — formatted output is followed by a metadata block (
requestId,formatter,styleUsed,warnings) so the assistant can show users which engine produced each citation. - No key required — works anonymously against the public Scholar Sidekick API (rate-limited free tier); add a free first-party
ssk_key for higher limits, or a RapidAPI key for paid/managed tiers. - REST API twin — the same endpoints are available as the Scholar Sidekick REST API for non-MCP integrations.
Tools
| Tool | Description |
| --- | --- |
| resolveIdentifier | Resolve DOIs, PMIDs, PMCIDs, ISBNs, arXiv IDs, ISSNs, ADS bibcodes, and WHO IRIS URLs to structured bibliographic metadata (CSL JSON). Accepts a single identifier or a comma/newline-separated batch. |
| formatCitation | Format one or many identifiers into Vancouver, AMA, APA, IEEE, CSE, or any of 10,000+ CSL styles. Output as text, HTML, or JSON. Returns formatted citations plus a provenance metadata block. |
| exportCitation | Export one or many identifiers to BibTeX, RIS, CSL JSON, EndNote (XML/Refer), RefWorks, MEDLINE, Zotero RDF, CSV, or plain text — ready to write to disk or hand to a reference manager. |
| checkRetraction | Check whether a single work has been retracted, corrected, or had an expression of concern raised. Sourced from Crossref updated-by (Retraction Watch). Resolves DOI/PMID/PMCID/arXiv/ADS inputs to a DOI before lookup. One identifier per call. |
| checkOpenAccess | Check whether a single work is openly accessible and where to find the best legal version. Sourced from Unpaywall. Returns OA status (gold/green/hybrid/bronze/closed), best landing/PDF URL, license, and version. Resolves DOI/PMID/PMCID/arXiv/ISBN/ADS inputs to a DOI before lookup. One identifier per call. |
| verifyCitation | Verify a claimed citation against the resolved record at its identifier. Detects the Topaz et al. (Lancet 2026) fabrication pattern — real DOI + invented title — that resolveIdentifier alone cannot catch. Returns one of four verdicts (matched / mismatch / ambiguous / not_found) plus per-field similarity scores and the resolved record so the user can see where the cited title and the actual paper diverged. Optional Stage 3 LLM screen rescues informal-abbreviation false positives (paid plans / first-party authentication only). One citation per call. |
Setup
No key required. The server works anonymously against the public Scholar Sidekick API
(https://scholar-sidekick.com) at a rate-limited free tier — just install and go. To raise
your limits, create a free first-party ssk_ key at
scholar-sidekick.com/account and set SCHOLAR_API_KEY.
For paid/managed tiers, subscribe on
RapidAPI and
set RAPIDAPI_KEY (which routes calls through the RapidAPI gateway).
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows). The env block is optional — omit it to run anonymously:
{
"mcpServers": {
"scholar-sidekick": {
"command": "npx",
"args": ["-y", "scholar-sidekick-mcp@latest"],
"env": {
"SCHOLAR_API_KEY": "ssk_your-first-party-key"
}
}
}
}Claude Code
# Anonymous (no key):
claude mcp add scholar-sidekick -- npx -y scholar-sidekick-mcp@latest
# With a free first-party key for higher limits:
claude mcp add scholar-sidekick \
-e SCHOLAR_API_KEY=ssk_your-first-party-key \
-- npx -y scholar-sidekick-mcp@latestCursor / VS Code / Windsurf
Add to .cursor/mcp.json or .vscode/mcp.json (the env block is optional):
{
"mcpServers": {
"scholar-sidekick": {
"command": "npx",
"args": ["-y", "scholar-sidekick-mcp@latest"],
"env": {
"SCHOLAR_API_KEY": "ssk_your-first-party-key"
}
}
}
}Agent skill (optional)
Install a companion Agent Skill that teaches Claude Code, Cline, and other agents when and how to use these tools — it complements the server config above:
npx skills add mlava/scholar-sidekick-mcpEnvironment Variables
| Variable | Required | Description |
| --- | --- | --- |
| SCHOLAR_API_KEY | No | Free first-party ssk_ key from scholar-sidekick.com/account; raises rate limits and enables the verifier's LLM screen. Sent as Authorization: Bearer. |
| RAPIDAPI_KEY | No | RapidAPI subscription key for paid/managed tiers; when set, calls route through the RapidAPI gateway. |
| RAPIDAPI_HOST | No | RapidAPI host (defaults to scholar-sidekick.p.rapidapi.com) |
| SCHOLAR_SIDEKICK_URL | No | Override the API base URL (defaults to https://scholar-sidekick.com, or the RapidAPI gateway when RAPIDAPI_KEY is set). |
| SCHOLAR_SIDEKICK_TIMEOUT_MS | No | Request timeout in milliseconds (default: 30000) |
No key at all → anonymous, rate-limited free tier. With both SCHOLAR_API_KEY and RAPIDAPI_KEY set, RapidAPI takes precedence.
Supported Citation Styles
Scholar Sidekick supports 10,000+ CSL styles, including all major formats used in academic publishing:
| Style | Keyword |
| --- | --- |
| Vancouver | vancouver |
| APA (7th ed.) | apa |
| AMA | ama |
| IEEE | ieee |
| CSE | cse |
| Chicago (author-date) | chicago-author-date |
| Harvard | harvard-cite-them-right |
| MLA | modern-language-association |
| Turabian | turabian-fullnote-bibliography |
| Nature | nature |
| BMJ | bmj |
| Lancet | the-lancet |
Any CSL style ID can be passed as the style parameter.
Example Usage
Once connected, ask your AI assistant:
Single identifier
- "Format 10.1056/NEJMoa2033700 in Vancouver style"
- "Resolve PMID:30049270 and export as BibTeX"
- "Give me a Chicago citation for arXiv:2301.08745"
Batch input (comma- or newline-separated — every tool handles it)
- "Format these as APA: 10.1056/NEJMoa2033700, PMID:30049270, ISBN:9780192854087"
- "Resolve all of these and tell me which are journal articles vs books: 10.1056/NEJMoa2033700, ISBN:9780192854087, PMC7793608"
End-to-end workflow (the assistant chains resolveIdentifier → formatCitation → exportCitation in one prompt)
- "Resolve these three identifiers, format each in AMA, and export the set as BibTeX: 10.1056/NEJMoa2033700, PMID:30049270, ISBN:9780192854087"
- "Build me a Nature-style bibliography from this list and give me a
.bibfile at the end: PMID:30049270, arXiv:2301.08745, 10.1038/s41586-021-03819-2"
Retraction & open-access checks (one identifier per call)
- "Has 10.1016/S0140-6736(20)31180-6 been retracted?" → returns
isRetracted: truewith the retraction notice and date - "Is the NumPy paper (10.1038/s41586-020-2649-2) open access? Where can I read it for free?" → returns OA status plus the best legal PDF URL with license and version
- "Check whether arXiv:2301.08745 has any corrections or expressions of concern." → resolves arXiv → DOI, then queries Retraction Watch
Supported Identifiers
- DOIs (e.g.
10.1056/NEJMoa2033700) - PubMed IDs (e.g.
PMID:30049270) - PubMed Central IDs (e.g.
PMC7793608) - ISBNs (e.g.
ISBN:9780192854087) - arXiv IDs (e.g.
2301.08745) - ISSNs and eISSNs
- NASA ADS bibcodes
- WHO IRIS URLs
Provenance & Determinism
Every formatCitation and exportCitation response is followed by a metadata block so the assistant — and the user — can see exactly which engine produced each citation:
formatter—builtin(one of Vancouver, AMA, APA, IEEE, CSE — hand-tuned in TypeScript) orcsl(citeproc-js with a CSL stylesheet).styleUsed— the canonical style ID after alias and dependent-style resolution (e.g. asking forharvardresolves toharvard-cite-them-right).requestId— for support, reproducibility, and log correlation.warnings— populated when a fallback was used or the requested style was a dependent of another.
Identifier resolution is deterministic given the same inputs and pinned upstream metadata. Repeated identical requests are cache-hit on the underlying REST API and surface that via the x-scholar-cache header.
REST API
For programmatic access outside of MCP clients, the same capabilities are available as a REST API at scholar-sidekick.com — anonymously, with a free first-party ssk_ key (Authorization: Bearer), or via RapidAPI for paid tiers. Whichever credential you use here works there too.
Development
npm install
npm run build # Bundle to dist/mcp-server.mjs
npm test # Run tests
npm run typecheckLicense
MIT
