Scholar MCP
io.github.pvliesdonk/scholar-mcp · Status: active
If you find your own account name here: write informally to German.saas@web.de, stating the identifier concerned. No reason has to be given. How to object
- Registry name
io.github.pvliesdonk/scholar-mcp- Package coordinate
pypi:pvliesdonk-scholar-mcp- Version
1.9.1- Listed in the registry
- 2026-08-22
- Changed in the registry
- 2026-08-22
- First seen by tracevero
- 2026-08-06
- Vendor's website
- https://pvliesdonk.github.io/scholar-mcp/
FastMCP server for scholarly papers, patents, books and standards with docling PDF conversion
Vendor's own description, untranslated and unverified
Evidence for this page: The values on this page come from several collections. Each row therefore states its own origin. What the confidence levels mean
Measured values
| Credentials required | no Raw declaration – Required secret variables (raw): confirmed absent Raw declaration – Required secret headers (raw): confirmed absent Source: MCP-Register · collected on 2026-08-06 · derived |
|---|---|
| Execution location | local Raw declaration – Transports (raw): stdio, streamable-http Source: MCP-Register · collected on 2026-08-06 · derived |
| Path argument present | yes Raw declaration – Path arguments (raw): confirmed absent Raw declaration – Path environment variables (raw): SCHOLAR_MCP_BEARER_TOKENS_FILE, SCHOLAR_MCP_CACHE_DIR Source: MCP-Register · collected on 2026-08-23 · derived |
| Repository URL listed | yes Raw declaration – Repository (raw): https://github.com/pvliesdonk/scholar-mcp Source: MCP-Register · collected on 2026-08-06 · derived |
| Version | 1.9.1 Source: MCP-Register · collected on 2026-08-23 · self-declared |
Position within the holdings
How many of the 24,507 published entries carry the same measured value. A reference figure, not an assessment.
- Credentials requiredno20,303 of 24,507 carry this value (83 %)View these entries
- Execution locationlocal12,078 of 24,507 carry this value (49 %)View these entries
- Path argument presentyes229 of 24,507 carry this value (0.9 %)View these entries
- Repository URL listedyes19,097 of 24,507 carry this value (78 %)View these entries
All 4 values together are carried by 187 of 24,507 entries.
This entry appears in these selections
- MCP servers without credentials20,303
- Locally executed MCP servers12,078
- MCP servers with a repository URL19,097
- MCP servers with a path argument229
- Local MCP servers without credentials9,218
- Local MCP servers with a repository URL11,472
- MCP servers over stdio and streamable-http1,206
- MCP servers as a container and a PyPI package161
- MCP servers available as a package only10,633
- MCP servers with uvx as their only runtime hint994
The source's raw values23
Evidence for this page: The values on this page come from several collections. Each row therefore states its own origin.
| Environment variables (raw) | SCHOLAR_MCP_KV_STORE_URL, SCHOLAR_MCP_TOOLS_ALLOW, SCHOLAR_MCP_TOOLS_DENY, SCHOLAR_MCP_SERVER_NAME, SCHOLAR_MCP_INSTRUCTIONS, FASTMCP_LOG_LEVEL, FASTMCP_ENABLE_RICH_LOGGING, SCHOLAR_GITHUB_TOKEN, SCHOLAR_MCP_READ_ONLY, SCHOLAR_MCP_S2_API_KEY, SCHOLAR_MCP_DOCLING_URL, SCHOLAR_MCP_VLM_API_URL, SCHOLAR_MCP_VLM_API_KEY, SCHOLAR_MCP_VLM_MODEL, SCHOLAR_MCP_CACHE_DIR, SCHOLAR_MCP_CONTACT_EMAIL, SCHOLAR_MCP_EPO_CONSUMER_KEY, SCHOLAR_MCP_EPO_CONSUMER_SECRET, SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY, SCHOLAR_MCP_BASE_URL, SCHOLAR_MCP_BEARER_TOKEN, SCHOLAR_MCP_OIDC_CONFIG_URL, SCHOLAR_MCP_OIDC_CLIENT_ID, SCHOLAR_MCP_OIDC_CLIENT_SECRET, SCHOLAR_MCP_OIDC_AUDIENCE, SCHOLAR_MCP_OIDC_REQUIRED_SCOPES, SCHOLAR_MCP_OIDC_ADVERTISED_SCOPES, SCHOLAR_MCP_OIDC_JWT_SIGNING_KEY, SCHOLAR_MCP_OIDC_VERIFY_ACCESS_TOKEN, SCHOLAR_MCP_KV_STORE_URL, SCHOLAR_MCP_APP_DOMAIN, SCHOLAR_MCP_TOOLS_ALLOW, SCHOLAR_MCP_TOOLS_DENY, SCHOLAR_MCP_AUTH_MODE, SCHOLAR_MCP_BEARER_TOKENS_FILE, SCHOLAR_MCP_BEARER_DEFAULT_SUBJECT, SCHOLAR_MCP_SERVER_NAME, SCHOLAR_MCP_INSTRUCTIONS, SCHOLAR_MCP_HTTP_PATH, PUID, PGID, FASTMCP_LOG_LEVEL, FASTMCP_ENABLE_RICH_LOGGING, SCHOLAR_GITHUB_TOKEN, SCHOLAR_MCP_READ_ONLY, SCHOLAR_MCP_S2_API_KEY, SCHOLAR_MCP_DOCLING_URL, SCHOLAR_MCP_VLM_API_URL, SCHOLAR_MCP_VLM_API_KEY, SCHOLAR_MCP_VLM_MODEL, SCHOLAR_MCP_CACHE_DIR, SCHOLAR_MCP_CONTACT_EMAIL, SCHOLAR_MCP_EPO_CONSUMER_KEY, SCHOLAR_MCP_EPO_CONSUMER_SECRET, SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY Source: MCP-Register · collected on 2026-08-23 · self-declared |
|---|---|
| Required secret variables (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-06 · self-declared |
| Transports (raw) | stdio, streamable-http Source: MCP-Register · collected on 2026-08-06 · self-declared |
| Path arguments (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-06 · self-declared |
| Repository (raw) | https://github.com/pvliesdonk/scholar-mcp Source: MCP-Register · collected on 2026-08-06 · self-declared |
| Package registries (raw) | oci, pypi Source: MCP-Register · collected on 2026-08-06 · self-declared |
| Required secret headers (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Path environment variables (raw) | SCHOLAR_MCP_BEARER_TOKENS_FILE, SCHOLAR_MCP_CACHE_DIR Source: MCP-Register · collected on 2026-08-23 · self-declared |
| Remote URLs (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Remote hosts (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Registry status message (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| First listed in the registry (raw) | 2026-08-22 Source: MCP-Register · collected on 2026-08-23 · self-declared |
| Last changed in the registry (raw) | 2026-08-22 Source: MCP-Register · collected on 2026-08-23 · self-declared |
| Schema version of the raw record (raw) | https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Delivery form (raw) | paket Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Repository platform (raw) | github Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Repository subfolder (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Package identifiers (raw) | ghcr.io/pvliesdonk/scholar-mcp:v1.9.1, pvliesdonk-scholar-mcp Source: MCP-Register · collected on 2026-08-23 · self-declared |
| Package versions (raw) | 1.9.1 Source: MCP-Register · collected on 2026-08-23 · self-declared |
| Runtime hints (raw) | uvx Source: MCP-Register · collected on 2026-08-23 · self-declared |
| Environment variable formats (raw) | boolean, filepath, number Source: MCP-Register · collected on 2026-08-23 · self-declared |
| Environment variable descriptions (raw) | FASTMCP_ENABLE_RICH_LOGGING=Set false for plain or structured JSON log output. · FASTMCP_LOG_LEVEL=Log level for FastMCP internals and app loggers (DEBUG / INFO / WARNING / ERROR / CRITICAL). The -v CLI flag overrides to DEBUG. · PGID=Run the server process as this GID; pair with PUID to match the owner of a mounted volume. · PUID=Run the server process as this UID; the container entrypoint chowns writable paths to match. · 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_APP_DOMAIN=MCP Apps iframe domain, used for CSP sandboxing. Overrides the host derived from `base_url`. · SCHOLAR_MCP_AUTH_MODE=Explicit auth-mode override, accepting `remote` or `oidc-proxy` (case- and whitespace-insensitive). When unset the mode is auto-detected from which auth variables are set; the override exists because having all four OIDC variables set is ambiguous between those two modes. Other values are ignored with a warning. · SCHOLAR_MCP_BASE_URL=Public base URL of the deployed server, e.g. `https://mcp.example.com`. Required for OIDC. Also the fallback source of the MCP Apps domain when `app_domain` is unset. · SCHOLAR_MCP_BEARER_DEFAULT_SUBJECT=Subject assigned to the single-token bearer mode; ignored when `bearer_tokens_file` is set, since mapped mode carries per-token subjects. · SCHOLAR_MCP_BEARER_TOKEN=Single shared bearer token; enables bearer auth unless `bearer_tokens_file` is set, which takes precedence. · SCHOLAR_MCP_BEARER_TOKENS_FILE=Path to a TOML file mapping bearer tokens to subjects; overrides the single-token `bearer_token` mode. · 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_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_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_HTTP_PATH=Mount path for the MCP endpoint. · SCHOLAR_MCP_INSTRUCTIONS=Replaces the default MCP instructions text sent to clients. · 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_OIDC_ADVERTISED_SCOPES=Scopes advertised to MCP clients in protected-resource metadata, space- or comma-separated. Overrides the default `openid offline_access`; `oidc_required_scopes` is always added on top. Set this when the registered client is not permitted `offline_access`, or to have clients request extra claim scopes (e.g. `groups`) without also requiring them in every token. · SCHOLAR_MCP_OIDC_AUDIENCE=Expected `aud` claim; tokens issued for another audience are rejected. · SCHOLAR_MCP_OIDC_CLIENT_ID=OIDC client identifier registered with the provider. · SCHOLAR_MCP_OIDC_CLIENT_SECRET=OIDC client secret registered with the provider. · SCHOLAR_MCP_OIDC_CONFIG_URL=OIDC discovery document URL, e.g. `https://auth.example.com/.well-known/openid-configuration`. · SCHOLAR_MCP_OIDC_JWT_SIGNING_KEY=Signing key for issued JWTs; used in oidc-proxy mode only. When unset, the key is derived deterministically from `oidc_client_secret`, so tokens survive a restart — but rotating that secret invalidates every issued token. Set this explicitly to decouple token validity from secret rotation. Generate with `openssl rand -hex 32`. · SCHOLAR_MCP_OIDC_REQUIRED_SCOPES=Scopes a caller must present, space- or comma-separated. Defaults to `openid` in oidc-proxy mode. · SCHOLAR_MCP_OIDC_VERIFY_ACCESS_TOKEN=Validate the access token instead of the id token. · 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_SERVER_NAME=Rename this server instance; defaults to the project name. · 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_VLM_API_KEY=API key for the VLM endpoint. · SCHOLAR_MCP_VLM_API_URL=OpenAI-compatible VLM endpoint for formula and figure enrichment during PDF conversion. · SCHOLAR_MCP_VLM_MODEL=Model name to use with the VLM endpoint. Source: MCP-Register · collected on 2026-08-23 · self-declared |
| Icon formats (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
Changes
| 2026-08-23 | Version: 1.9.0 → 1.9.1 |
|---|---|
| 2026-08-23 | Path argument present: false → true |
| 2026-08-23 | Last changed in the registry (raw): 2026-07-19 → 2026-08-22 |
| 2026-08-23 | First listed in the registry (raw): 2026-07-19 → 2026-08-22 |
| 2026-08-23 | Environment variable descriptions (raw): FASTMCP_LOG_LEVEL=Log level (DEBUG, INFO, WARNING, ERROR) · PGID=Run as this GID (Docker entrypoint) · PUID=Run as this UID (Docker entrypoint) · SCHOLAR_MCP_BASE_URL=Public base URL of this server, required for OIDC (e.g. https://mcp.example.com) · SCHOLAR_MCP_BEARER_TOKEN=Static bearer token for authentication (optional) · SCHOLAR_MCP_KV_STORE_URL=Persistent-state backend URL for pvl-core subsystems. Schemes: file:///path (survives restarts), memory:// (dev/ephemeral). · SCHOLAR_MCP_OIDC_CLIENT_ID=OIDC client ID · SCHOLAR_MCP_OIDC_CLIENT_SECRET=OIDC client secret · SCHOLAR_MCP_OIDC_CONFIG_URL=OIDC discovery endpoint URL (e.g. https://auth.example.com/.well-known/openid-configuration) · SCHOLAR_MCP_OIDC_JWT_SIGNING_KEY=JWT signing key — required on Linux/Docker to survive restarts (generate with: openssl rand -hex 32) · SCHOLAR_MCP_READ_ONLY=Set to 'false' to enable write tools (default: true) · SCHOLAR_MCP_SERVER_NAME=MCP server name shown to clients → FASTMCP_ENABLE_RICH_LOGGING=Set false for plain or structured JSON log output. · FASTMCP_LOG_LEVEL=Log level for FastMCP internals and app loggers (DEBUG / INFO / WARNING / ERROR / CRITICAL). The -v CLI flag overrides to DEBUG. · PGID=Run the server process as this GID; pair with PUID to match the owner of a mounted volume. · PUID=Run the server process as this UID; the container entrypoint chowns writable paths to match. · 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_APP_DOMAIN=MCP Apps iframe domain, used for CSP sandboxing. Overrides the host derived from `base_url`. · SCHOLAR_MCP_AUTH_MODE=Explicit auth-mode override, accepting `remote` or `oidc-proxy` (case- and whitespace-insensitive). When unset the mode is auto-detected from which auth variables are set; the override exists because having all four OIDC variables set is ambiguous between those two modes. Other values are ignored with a warning. · SCHOLAR_MCP_BASE_URL=Public base URL of the deployed server, e.g. `https://mcp.example.com`. Required for OIDC. Also the fallback source of the MCP Apps domain when `app_domain` is unset. · SCHOLAR_MCP_BEARER_DEFAULT_SUBJECT=Subject assigned to the single-token bearer mode; ignored when `bearer_tokens_file` is set, since mapped mode carries per-token subjects. · SCHOLAR_MCP_BEARER_TOKEN=Single shared bearer token; enables bearer auth unless `bearer_tokens_file` is set, which takes precedence. · SCHOLAR_MCP_BEARER_TOKENS_FILE=Path to a TOML file mapping bearer tokens to subjects; overrides the single-token `bearer_token` mode. · 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_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_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_HTTP_PATH=Mount path for the MCP endpoint. · SCHOLAR_MCP_INSTRUCTIONS=Replaces the default MCP instructions text sent to clients. · 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_OIDC_ADVERTISED_SCOPES=Scopes advertised to MCP clients in protected-resource metadata, space- or comma-separated. Overrides the default `openid offline_access`; `oidc_required_scopes` is always added on top. Set this when the registered client is not permitted `offline_access`, or to have clients request extra claim scopes (e.g. `groups`) without also requiring them in every token. · SCHOLAR_MCP_OIDC_AUDIENCE=Expected `aud` claim; tokens issued for another audience are rejected. · SCHOLAR_MCP_OIDC_CLIENT_ID=OIDC client identifier registered with the provider. · SCHOLAR_MCP_OIDC_CLIENT_SECRET=OIDC client secret registered with the provider. · SCHOLAR_MCP_OIDC_CONFIG_URL=OIDC discovery document URL, e.g. `https://auth.example.com/.well-known/openid-configuration`. · SCHOLAR_MCP_OIDC_JWT_SIGNING_KEY=Signing key for issued JWTs; used in oidc-proxy mode only. When unset, the key is derived deterministically from `oidc_client_secret`, so tokens survive a restart — but rotating that secret invalidates every issued token. Set this explicitly to decouple token validity from secret rotation. Generate with `openssl rand -hex 32`. · SCHOLAR_MCP_OIDC_REQUIRED_SCOPES=Scopes a caller must present, space- or comma-separated. Defaults to `openid` in oidc-proxy mode. · SCHOLAR_MCP_OIDC_VERIFY_ACCESS_TOKEN=Validate the access token instead of the id token. · 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_SERVER_NAME=Rename this server instance; defaults to the project name. · 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_VLM_API_KEY=API key for the VLM endpoint. · SCHOLAR_MCP_VLM_API_URL=OpenAI-compatible VLM endpoint for formula and figure enrichment during PDF conversion. · SCHOLAR_MCP_VLM_MODEL=Model name to use with the VLM endpoint. |
| 2026-08-23 | Environment variable formats (raw): – → boolean, filepath, number |
| 2026-08-23 | Runtime hints (raw): – → uvx |
| 2026-08-23 | Package versions (raw): 1.9.0 → 1.9.1 |
| 2026-08-23 | Package identifiers (raw): ghcr.io/pvliesdonk/scholar-mcp:v1.9.0, pvliesdonk-scholar-mcp → ghcr.io/pvliesdonk/scholar-mcp:v1.9.1, pvliesdonk-scholar-mcp |
| 2026-08-23 | Path environment variables (raw): – → SCHOLAR_MCP_BEARER_TOKENS_FILE, SCHOLAR_MCP_CACHE_DIR |
These are the 10 most recent changes to this entry. Full history
tracevero · https://tracevero.com/mcp/io-github-pvliesdonk-scholar-mcp