Skip to content

Installation

uvx runs the server in an isolated environment without installing anything globally:

uvx --from pvliesdonk-scholar-mcp scholar-mcp serve

Package name vs. command

The PyPI package is pvliesdonk-scholar-mcp. The CLI command installed is scholar-mcp. The --from flag is needed because the package and command names differ.

With pip

pip install 'pvliesdonk-scholar-mcp[mcp]'
scholar-mcp serve

The [mcp] extra installs FastMCP and uvicorn. Without it, you get only the library (API clients and cache) without the MCP server.

With Docker

docker run -v scholar-mcp-data:/data/scholar-mcp \
           ghcr.io/pvliesdonk/scholar-mcp:latest

The image is available for linux/amd64 and linux/arm64. See Docker deployment for Docker Compose with docling-serve.

Linux packages

Download .deb or .rpm from the latest release:

sudo dpkg -i scholar-mcp_*.deb
sudo systemctl enable --now scholar-mcp
sudo rpm -i scholar-mcp-*.rpm
sudo systemctl enable --now scholar-mcp

The package installs:

  • A systemd service (scholar-mcp.service)
  • A Python venv at /opt/scholar-mcp/venv/
  • An example config at /etc/scholar-mcp/env.example
  • A dedicated scholar-mcp system user

See systemd deployment for configuration details.

From source

git clone https://github.com/pvliesdonk/scholar-mcp.git
cd scholar-mcp
uv sync --extra dev --extra mcp
uv run scholar-mcp serve