ScholarSAFE
ScholarMCP - An academic research MCP server with comprehensive literature search, PDF ingestion, and citation management tools. Integrates with Google Scholar, OpenAlex, Crossref, and Semantic Scholar for automated research workflows.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://www.npmjs.com/package/scholar-mcp) [](https://github.com/lstudlo/ScholarMCP/actions/workflows/test.yml) [](https://github.com/lstudlo/ScholarMCP/commits/main) [](https://github.com/lstudlo/ScholarMCP/blob/main/LICENSE)
ScholarMCP is an open-source MCP server for academic research. Search Google Scholar, OpenAlex, Crossref, and Semantic Scholar, parse accessible PDFs, and prepare references in your coding agent.
ScholarMCP website and documentation · Installation · Academic paper search guide
Early Development Notice
This project is still in early development, and rough edges or bugs may occur. If you run into a problem, please open an issue and include:
- the agent used
- screenshots, if applicable
- steps to reproduce the issue
ScholarMCP gives your agent tools to:
- search papers across multiple sources
- ingest and parse full-text PDFs
- extract structured paper details
- suggest citations and build references
- validate manuscript citations
ScholarMCP is for...
Use this if you want Claude Code, Codex, or any MCP-compatible coding agent to run research tasks directly from chat.
Quick Start
1. Prerequisites
- Node.js
>=20 npm(for install/publish)pnpm(for contributors working from source)
2. Install as an npm package (recommended)
npm install -g scholar-mcp
One-off run without global install:
npx -y scholar-mcp --transport=stdio
Install from GitHub Packages (scoped mirror packag
c0de13c3ed67OBSERVED · 2026-10-09Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add scholar-mcp -- npx -y [email protected]
{
"mcpServers": {
"scholar-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
]
}
}
}Exposed tools (10)
10 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
build_reference_list | read | |
extract_granular_paper_details | read | |
get_author_info | read | |
get_ingestion_status | read | |
ingest_paper_fulltext | read | |
search_google_scholar_advanced | read | |
search_google_scholar_key_words | read | |
search_literature_graph | read | |
suggest_contextual_citations | read | |
validate_manuscript_citations | read |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (3 observation(s))
- Network
- declared (4 observation(s))
- Shell
- declared (4 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (13)
const digest = createHash('sha1').update(value).digest('hex').slice(0, 16);import { version } from '../../../../packages/scholar-mcp/package.json';import type { AppConfig } from '../../config.js';import type { AppConfig } from '../../config.js';import type { AppConfig } from '../../config.js';curl http://127.0.0.1:3000/health
2. Connect client to `http://127.0.0.1:3000/mcp`
curl http://127.0.0.1:3000/health
curl http://127.0.0.1:3000/health
2. Connect client to `http://127.0.0.1:3000/mcp`
@astrojs/sitemap, @tailwindcss/vite, astro, tailwindcss, @astrojs/check, cheerio, typescript
@citation-js/core, @citation-js/plugin-bibtex, @citation-js/plugin-csl, @citation-js/plugin-doi, @hono/node-server, @modelcontextprotocol/sdk, cheerio, dotenv
The server itself does not require a paid ScholarMCP key. Provider authentication is separate. You can configure OpenAlex and Semantic Scholar API keys, and a contact email for provider requests. Prov
Gates applied: no_behavioural_pass.
c0de13c3ed67full audit observations/trust-audit/mcp-server/lstudlo__scholar-1.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-09 | c0de13c3ed67 | SAFE | B | 89 | first audit |
Questions
What is the Scholar MCP server?
ScholarMCP - An academic research MCP server with comprehensive literature search, PDF ingestion, and citation management tools. Integrates with Google Scholar, OpenAlex, Crossref, and Semantic Scholar for automated research workflows.
What tools does Scholar expose?
10 in total: 10 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Scholar safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does Scholar need?
No credential environment variables were found in its source, so it appears to need none.
How does Scholar run?
It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as scholar-mcp at 1.2.0.
How current is this page?
The grade is for one exact copy of the source (c0de13c3ed67), read on 2026-10-09. The repository is watched and re-audited when it changes.