mcpbeat Sign in

Scholar MCP Server

local only

Scholar MCP runs on your own machine — the client starts it, so there is no endpoint to ping. 217 installs a week from pypi. Last commit 17 Sep 2026.

FastMCP server for scholarly papers, patents, books and standards with docling PDF conversion

Installs per day peak 725 · avg 63 · -51% w/w
a month agotoday
217
Installs / week
pypi · pvliesdonk-scholar-mcp
2
Stars
84 open issues
17 Sep 2026
Last commit
0 releases in 90 days
MIT
License
Python

What the code does

We read the source, 18 h ago · rules 3dff92dd89df

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

File ships in the package but is absent from the source [пакет] src/scholar_mcp/_server_prompts.py:1, [пакет] src/scholar_mcp/_server_resources.py:1, [пакет] src/scholar_mcp/_server_tools.py:1
этот файл ставится пользователю, но в репозитории его нет
Builds a database query by concatenation [пакет] .github/workflows/copier-update.yml:123, .github/workflows/copier-update.yml:123
      - name: Run copier update
        id: copier
        env:
          VCS_REF: ${{ steps.target.outputs.vcs_ref }}

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.

run in your terminal
claude mcp add scholar-mcp -- uvx pvliesdonk-scholar-mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "scholar-mcp": {
      "args": [
        "pvliesdonk-scholar-mcp"
      ],
      "command": "uvx"
    }
  }
}
~/.codex/config.toml
[mcp_servers.scholar-mcp]
command = "uvx"
args = ["pvliesdonk-scholar-mcp"]
.cursor/mcp.json
{
  "mcpServers": {
    "scholar-mcp": {
      "args": [
        "pvliesdonk-scholar-mcp"
      ],
      "command": "uvx"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "scholar-mcp": {
      "args": [
        "pvliesdonk-scholar-mcp"
      ],
      "command": "uvx"
    }
  }
}

This one needs environment variables set before it will start: SCHOLAR_MCP_KV_STORE_URL (Persistent-state backend URL shared by every pvl-core subsystem that needs state. `memory://` is in-process and lost on restart; `file:///path` persists on one server; `redis://`, `dynamodb://` and `mongodb://` each need their matching extra. When unset, defaults to `file:///data/state` (the volume family Docker images mount), or to `memory://` (with a warning) on a host where that directory is not usable.), SCHOLAR_MCP_TOOLS_ALLOW (Comma-separated explicit tool names this instance exposes; every other tool is hidden from listings and cannot be invoked. Names matching no registered tool are inert. Mutually exclusive with `tools_deny`. Takes effect through `apply_tool_visibility`.), SCHOLAR_MCP_TOOLS_DENY (Comma-separated explicit tool names hidden from this instance (absent from listings, cannot be invoked). Names matching no registered tool are inert. Mutually exclusive with `tools_allow`. Takes effect through `apply_tool_visibility`.), SCHOLAR_MCP_SERVER_NAME (Rename this server instance; defaults to the project name.), SCHOLAR_MCP_INSTANCE_DESCRIPTION (Concise routing context that distinguishes this deployment's material or responsibility.), SCHOLAR_MCP_INSTRUCTIONS_EXTRA (Deployment-specific behavioral policy added to the generated MCP instructions.), SCHOLAR_MCP_INSTRUCTIONS (Legacy: replaces all generated MCP instructions (deprecated; use _INSTANCE_DESCRIPTION for routing and _INSTRUCTIONS_EXTRA for policy).), FASTMCP_LOG_LEVEL (Log level for FastMCP internals and app loggers (DEBUG / INFO / WARNING / ERROR / CRITICAL). The -v CLI flag overrides to DEBUG.), FASTMCP_ENABLE_RICH_LOGGING (Set false for plain or structured JSON log output.), SCHOLAR_GITHUB_TOKEN (GitHub token used to raise rate limits when fetching standards documents from GitHub. Optional; unauthenticated requests work at reduced limits.), SCHOLAR_MCP_READ_ONLY (When true, write-tagged tools (PDF download and conversion cache writes) are hidden. Set false to enable them.), SCHOLAR_MCP_S2_API_KEY (Semantic Scholar API key. Optional but strongly recommended: unauthenticated requests are limited to ~1 req/s. Request one at https://www.semanticscholar.org/product/api#api-key-form.), SCHOLAR_MCP_DOCLING_URL (Base URL of a running docling-serve instance for PDF conversion (e.g. http://localhost:5001). When unset, PDF conversion tools return an error.), SCHOLAR_MCP_VLM_API_URL (OpenAI-compatible VLM endpoint for formula and figure enrichment during PDF conversion.), SCHOLAR_MCP_VLM_API_KEY (API key for the VLM endpoint.), SCHOLAR_MCP_VLM_MODEL (Model name to use with the VLM endpoint.), SCHOLAR_MCP_CACHE_DIR (Directory for the SQLite cache database (cache.db) and downloaded PDFs (pdfs/, md/).), SCHOLAR_MCP_CONTACT_EMAIL (Contact email for the OpenAlex polite pool (improves rate limits). Also enables Unpaywall lookups as a PDF fallback source.), SCHOLAR_MCP_EPO_CONSUMER_KEY (EPO Open Patent Services consumer key. Optional; patent tools are hidden when unset. Register at https://developers.epo.org/user/register.), SCHOLAR_MCP_EPO_CONSUMER_SECRET (EPO Open Patent Services consumer secret. Optional; patent tools are hidden when unset.), SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY (Google Books API key. Optional; book tools work unauthenticated at reduced rate limits.), SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S (Seconds a long-running tool call may run in the foreground before it is promoted to a background job and a job handle is returned instead.), SCHOLAR_MCP_JOBS_RESULT_TTL_S (Seconds a background-job record (working or finished) is retained for polling before it expires from the store.), SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT (Maximum live background jobs per calling subject; further promotions are rejected until older records expire.). The author declared them in the registry entry; get the values from the project itself.

Alternatives to Scholar MCP

same job, measured the same way
Huoshui File Converter
by huoshuiai42

An MCP server that provides document format conversion

26 installs/wk local only
Docling MCP
by docling-project

Convert PDFs and other documents to structured formats via Docling, for AI applications.

5 578 installs/wk local only
Huoshui PDF Converter
by huoshuiai42

An MCP server that provides PDF file conversion

57 installs/wk local only
PDF Redaction MCP
by pdf-redaction

MCP server for detecting and redacting PII (Personally Identifiable Information) in PDF documents.

answering
MCP Server Polarion
by devemberx

MCP server for Polarion ALM — read and write documents and work items

296 installs/wk local only
PandaDoc MCP Server
by pandadoc-mcp

PandaDoc MCP server for creating, sending, signing, and tracking PandaDoc documents.

answering
MCP Ratchet Clinical Charting
by m2ai-mcp-servers

MCP server for clinical charting with Claude - document patient visits to EMR

35 installs/wk local only
GrabzIt
by grabzit

Official GrabzIt MCP server for AI web scraping, screenshots, and PDF/DOCX generation.

40 installs/wk local only

Scholar MCP — questions

Answers built from our own checks of this server.

Why is there no uptime for Scholar MCP?
Scholar MCP runs on your own machine over stdio — there is no network address to reach, so uptime cannot be measured for it by anyone. What can be measured is adoption: the pypi package pvliesdonk-scholar-mcp was installed 217 times last week.
How do I connect Scholar MCP?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It runs locally, so the command pulls pvliesdonk-scholar-mcp straight from pypi; nothing to host, nothing to sign up for.
How many people use Scholar MCP?
The pypi package pvliesdonk-scholar-mcp was installed 217 times in the last week. Week over week that is -51%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Scholar MCP open source?
Yes — it is published under the MIT licence, written in Python, 2 stars on GitHub and 84 open issues. The source link is on this page, so you can read exactly what it does with your data before you connect it.