Scholar MCP
Rank #4,364io.github.pvliesdonk/scholar-mcp
FastMCP server for scholarly papers, patents, books and standards with docling PDF conversion
What you can do with Scholar MCP
Scholar MCP is a Model Context Protocol (MCP) server published by pvliesdonk. It ranks #4,364 of 144,396 active servers on MCP Toplist, and its repository has 2 GitHub stars. Scholar MCP is listed across 2 registries — Official MCP and Glama, with 13 tracked versions. It was first listed on Apr 4, 2026 and most recently updated on Sep 11, 2026.
Not verifiedMCP Toplist has not yet written a checked profile for this server, so the paragraph above is assembled from registry data only. The repository README is the authority on what it does.
What Scholar MCP can and cannot do
Not verifiedMCP Toplist has not catalogued this server's tools or limitations. The repository README lists them.
What you need before using Scholar MCP
The registry listing declares no required environment variables or authentication. This is declared metadata, not a verified install — the repository README is the authority.
Declared by Glama, last synced Oct 16, 2026. Not independently verified by MCP Toplist.
- SCHOLAR_MCP_KV_STORE_URL · optional
- SCHOLAR_MCP_TOOLS_ALLOW · optional
- SCHOLAR_MCP_TOOLS_DENY · optional
- SCHOLAR_MCP_SERVER_NAME · optional
- SCHOLAR_MCP_INSTANCE_DESCRIPTION · optional
- SCHOLAR_MCP_INSTRUCTIONS_EXTRA · optional
- SCHOLAR_MCP_INSTRUCTIONS · optional
- FASTMCP_LOG_LEVEL · optional
- FASTMCP_ENABLE_RICH_LOGGING · optional
- SCHOLAR_GITHUB_TOKEN · optional
- SCHOLAR_MCP_READ_ONLY · optional
- SCHOLAR_MCP_S2_API_KEY · optional
- SCHOLAR_MCP_DOCLING_URL · optional
- SCHOLAR_MCP_VLM_API_URL · optional
- SCHOLAR_MCP_VLM_API_KEY · optional
- SCHOLAR_MCP_VLM_MODEL · optional
- SCHOLAR_MCP_CACHE_DIR · optional
- SCHOLAR_MCP_CONTACT_EMAIL · optional
- SCHOLAR_MCP_EPO_CONSUMER_KEY · optional
- SCHOLAR_MCP_EPO_CONSUMER_SECRET · optional
- SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY · optional
- SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S · optional
- SCHOLAR_MCP_JOBS_RESULT_TTL_S · optional
- SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT · optional
- SCHOLAR_MCP_BASE_URL · optional
- SCHOLAR_MCP_BEARER_TOKEN · optional
- SCHOLAR_MCP_OIDC_CONFIG_URL · optional
- SCHOLAR_MCP_OIDC_CLIENT_ID · optional
- SCHOLAR_MCP_OIDC_CLIENT_SECRET · optional
- SCHOLAR_MCP_OIDC_AUDIENCE · optional
- SCHOLAR_MCP_OIDC_REQUIRED_SCOPES · optional
- SCHOLAR_MCP_OIDC_ADVERTISED_SCOPES · optional
- SCHOLAR_MCP_OIDC_JWT_SIGNING_KEY · optional
- SCHOLAR_MCP_OIDC_VERIFY_ACCESS_TOKEN · optional
- SCHOLAR_MCP_APP_DOMAIN · optional
- SCHOLAR_MCP_AUTH_MODE · optional
- SCHOLAR_MCP_BEARER_TOKENS_FILE · optional
- SCHOLAR_MCP_BEARER_DEFAULT_SUBJECT · optional
- SCHOLAR_MCP_HTTP_PATH · optional
- SCHOLAR_MCP_HEALTH_DETAIL · optional
- PUID · optional
- PGID · optional
Connect Scholar MCP and confirm it works
claude mcp add scholar-mcp -e "SCHOLAR_MCP_KV_STORE_URL=<your SCHOLAR_MCP_KV_STORE_URL>" -e "SCHOLAR_MCP_TOOLS_ALLOW=<your SCHOLAR_MCP_TOOLS_ALLOW>" -e "SCHOLAR_MCP_TOOLS_DENY=<your SCHOLAR_MCP_TOOLS_DENY>" -e "SCHOLAR_MCP_SERVER_NAME=<your SCHOLAR_MCP_SERVER_NAME>" -e "SCHOLAR_MCP_INSTANCE_DESCRIPTION=<your SCHOLAR_MCP_INSTANCE_DESCRIPTION>" -e "SCHOLAR_MCP_INSTRUCTIONS_EXTRA=<your SCHOLAR_MCP_INSTRUCTIONS_EXTRA>" -e "SCHOLAR_MCP_INSTRUCTIONS=<your SCHOLAR_MCP_INSTRUCTIONS>" -e "FASTMCP_LOG_LEVEL=<your FASTMCP_LOG_LEVEL>" -e "FASTMCP_ENABLE_RICH_LOGGING=<your FASTMCP_ENABLE_RICH_LOGGING>" -e "SCHOLAR_GITHUB_TOKEN=<your SCHOLAR_GITHUB_TOKEN>" -e "SCHOLAR_MCP_READ_ONLY=<your SCHOLAR_MCP_READ_ONLY>" -e "SCHOLAR_MCP_S2_API_KEY=<your SCHOLAR_MCP_S2_API_KEY>" -e "SCHOLAR_MCP_DOCLING_URL=<your SCHOLAR_MCP_DOCLING_URL>" -e "SCHOLAR_MCP_VLM_API_URL=<your SCHOLAR_MCP_VLM_API_URL>" -e "SCHOLAR_MCP_VLM_API_KEY=<your SCHOLAR_MCP_VLM_API_KEY>" -e "SCHOLAR_MCP_VLM_MODEL=<your SCHOLAR_MCP_VLM_MODEL>" -e "SCHOLAR_MCP_CACHE_DIR=<your SCHOLAR_MCP_CACHE_DIR>" -e "SCHOLAR_MCP_CONTACT_EMAIL=<your SCHOLAR_MCP_CONTACT_EMAIL>" -e "SCHOLAR_MCP_EPO_CONSUMER_KEY=<your SCHOLAR_MCP_EPO_CONSUMER_KEY>" -e "SCHOLAR_MCP_EPO_CONSUMER_SECRET=<your SCHOLAR_MCP_EPO_CONSUMER_SECRET>" -e "SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY=<your SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY>" -e "SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S=<your SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S>" -e "SCHOLAR_MCP_JOBS_RESULT_TTL_S=<your SCHOLAR_MCP_JOBS_RESULT_TTL_S>" -e "SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT=<your SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT>" -- uvx pvliesdonk-scholar-mcpReplace each placeholder with your own value before saving.
claude mcp add scholar-mcp -e "SCHOLAR_MCP_BASE_URL=<your SCHOLAR_MCP_BASE_URL>" -e "SCHOLAR_MCP_BEARER_TOKEN=<your SCHOLAR_MCP_BEARER_TOKEN>" -e "SCHOLAR_MCP_OIDC_CONFIG_URL=<your SCHOLAR_MCP_OIDC_CONFIG_URL>" -e "SCHOLAR_MCP_OIDC_CLIENT_ID=<your SCHOLAR_MCP_OIDC_CLIENT_ID>" -e "SCHOLAR_MCP_OIDC_CLIENT_SECRET=<your SCHOLAR_MCP_OIDC_CLIENT_SECRET>" -e "SCHOLAR_MCP_OIDC_AUDIENCE=<your SCHOLAR_MCP_OIDC_AUDIENCE>" -e "SCHOLAR_MCP_OIDC_REQUIRED_SCOPES=<your SCHOLAR_MCP_OIDC_REQUIRED_SCOPES>" -e "SCHOLAR_MCP_OIDC_ADVERTISED_SCOPES=<your SCHOLAR_MCP_OIDC_ADVERTISED_SCOPES>" -e "SCHOLAR_MCP_OIDC_JWT_SIGNING_KEY=<your SCHOLAR_MCP_OIDC_JWT_SIGNING_KEY>" -e "SCHOLAR_MCP_OIDC_VERIFY_ACCESS_TOKEN=<your SCHOLAR_MCP_OIDC_VERIFY_ACCESS_TOKEN>" -e "SCHOLAR_MCP_KV_STORE_URL=<your SCHOLAR_MCP_KV_STORE_URL>" -e "SCHOLAR_MCP_APP_DOMAIN=<your SCHOLAR_MCP_APP_DOMAIN>" -e "SCHOLAR_MCP_TOOLS_ALLOW=<your SCHOLAR_MCP_TOOLS_ALLOW>" -e "SCHOLAR_MCP_TOOLS_DENY=<your SCHOLAR_MCP_TOOLS_DENY>" -e "SCHOLAR_MCP_AUTH_MODE=<your SCHOLAR_MCP_AUTH_MODE>" -e "SCHOLAR_MCP_BEARER_TOKENS_FILE=<your SCHOLAR_MCP_BEARER_TOKENS_FILE>" -e "SCHOLAR_MCP_BEARER_DEFAULT_SUBJECT=<your SCHOLAR_MCP_BEARER_DEFAULT_SUBJECT>" -e "SCHOLAR_MCP_SERVER_NAME=<your SCHOLAR_MCP_SERVER_NAME>" -e "SCHOLAR_MCP_INSTANCE_DESCRIPTION=<your SCHOLAR_MCP_INSTANCE_DESCRIPTION>" -e "SCHOLAR_MCP_INSTRUCTIONS_EXTRA=<your SCHOLAR_MCP_INSTRUCTIONS_EXTRA>" -e "SCHOLAR_MCP_INSTRUCTIONS=<your SCHOLAR_MCP_INSTRUCTIONS>" -e "SCHOLAR_MCP_HTTP_PATH=<your SCHOLAR_MCP_HTTP_PATH>" -e "SCHOLAR_MCP_HEALTH_DETAIL=<your SCHOLAR_MCP_HEALTH_DETAIL>" -e "PUID=<your PUID>" -e "PGID=<your PGID>" -e "FASTMCP_LOG_LEVEL=<your FASTMCP_LOG_LEVEL>" -e "FASTMCP_ENABLE_RICH_LOGGING=<your FASTMCP_ENABLE_RICH_LOGGING>" -e "SCHOLAR_GITHUB_TOKEN=<your SCHOLAR_GITHUB_TOKEN>" -e "SCHOLAR_MCP_READ_ONLY=<your SCHOLAR_MCP_READ_ONLY>" -e "SCHOLAR_MCP_S2_API_KEY=<your SCHOLAR_MCP_S2_API_KEY>" -e "SCHOLAR_MCP_DOCLING_URL=<your SCHOLAR_MCP_DOCLING_URL>" -e "SCHOLAR_MCP_VLM_API_URL=<your SCHOLAR_MCP_VLM_API_URL>" -e "SCHOLAR_MCP_VLM_API_KEY=<your SCHOLAR_MCP_VLM_API_KEY>" -e "SCHOLAR_MCP_VLM_MODEL=<your SCHOLAR_MCP_VLM_MODEL>" -e "SCHOLAR_MCP_CACHE_DIR=<your SCHOLAR_MCP_CACHE_DIR>" -e "SCHOLAR_MCP_CONTACT_EMAIL=<your SCHOLAR_MCP_CONTACT_EMAIL>" -e "SCHOLAR_MCP_EPO_CONSUMER_KEY=<your SCHOLAR_MCP_EPO_CONSUMER_KEY>" -e "SCHOLAR_MCP_EPO_CONSUMER_SECRET=<your SCHOLAR_MCP_EPO_CONSUMER_SECRET>" -e "SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY=<your SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY>" -e "SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S=<your SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S>" -e "SCHOLAR_MCP_JOBS_RESULT_TTL_S=<your SCHOLAR_MCP_JOBS_RESULT_TTL_S>" -e "SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT=<your SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT>" -- docker run -i --rm ghcr.io/pvliesdonk/scholar-mcp:v2.0.0 --port 8000Replace each placeholder with your own value before saving.
[mcp_servers.scholar-mcp]
command = "uvx"
args = ["pvliesdonk-scholar-mcp"]
[mcp_servers.scholar-mcp.env]
SCHOLAR_MCP_KV_STORE_URL = "<your SCHOLAR_MCP_KV_STORE_URL>"
SCHOLAR_MCP_TOOLS_ALLOW = "<your SCHOLAR_MCP_TOOLS_ALLOW>"
SCHOLAR_MCP_TOOLS_DENY = "<your SCHOLAR_MCP_TOOLS_DENY>"
SCHOLAR_MCP_SERVER_NAME = "<your SCHOLAR_MCP_SERVER_NAME>"
SCHOLAR_MCP_INSTANCE_DESCRIPTION = "<your SCHOLAR_MCP_INSTANCE_DESCRIPTION>"
SCHOLAR_MCP_INSTRUCTIONS_EXTRA = "<your SCHOLAR_MCP_INSTRUCTIONS_EXTRA>"
SCHOLAR_MCP_INSTRUCTIONS = "<your SCHOLAR_MCP_INSTRUCTIONS>"
FASTMCP_LOG_LEVEL = "<your FASTMCP_LOG_LEVEL>"
FASTMCP_ENABLE_RICH_LOGGING = "<your FASTMCP_ENABLE_RICH_LOGGING>"
SCHOLAR_GITHUB_TOKEN = "<your SCHOLAR_GITHUB_TOKEN>"
SCHOLAR_MCP_READ_ONLY = "<your SCHOLAR_MCP_READ_ONLY>"
SCHOLAR_MCP_S2_API_KEY = "<your SCHOLAR_MCP_S2_API_KEY>"
SCHOLAR_MCP_DOCLING_URL = "<your SCHOLAR_MCP_DOCLING_URL>"
SCHOLAR_MCP_VLM_API_URL = "<your SCHOLAR_MCP_VLM_API_URL>"
SCHOLAR_MCP_VLM_API_KEY = "<your SCHOLAR_MCP_VLM_API_KEY>"
SCHOLAR_MCP_VLM_MODEL = "<your SCHOLAR_MCP_VLM_MODEL>"
SCHOLAR_MCP_CACHE_DIR = "<your SCHOLAR_MCP_CACHE_DIR>"
SCHOLAR_MCP_CONTACT_EMAIL = "<your SCHOLAR_MCP_CONTACT_EMAIL>"
SCHOLAR_MCP_EPO_CONSUMER_KEY = "<your SCHOLAR_MCP_EPO_CONSUMER_KEY>"
SCHOLAR_MCP_EPO_CONSUMER_SECRET = "<your SCHOLAR_MCP_EPO_CONSUMER_SECRET>"
SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY = "<your SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY>"
SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S = "<your SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S>"
SCHOLAR_MCP_JOBS_RESULT_TTL_S = "<your SCHOLAR_MCP_JOBS_RESULT_TTL_S>"
SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT = "<your SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
[mcp_servers.scholar-mcp]
command = "docker"
args = ["run", "-i", "--rm", "ghcr.io/pvliesdonk/scholar-mcp:v2.0.0", "--port", "8000"]
[mcp_servers.scholar-mcp.env]
SCHOLAR_MCP_BASE_URL = "<your SCHOLAR_MCP_BASE_URL>"
SCHOLAR_MCP_BEARER_TOKEN = "<your SCHOLAR_MCP_BEARER_TOKEN>"
SCHOLAR_MCP_OIDC_CONFIG_URL = "<your SCHOLAR_MCP_OIDC_CONFIG_URL>"
SCHOLAR_MCP_OIDC_CLIENT_ID = "<your SCHOLAR_MCP_OIDC_CLIENT_ID>"
SCHOLAR_MCP_OIDC_CLIENT_SECRET = "<your SCHOLAR_MCP_OIDC_CLIENT_SECRET>"
SCHOLAR_MCP_OIDC_AUDIENCE = "<your SCHOLAR_MCP_OIDC_AUDIENCE>"
SCHOLAR_MCP_OIDC_REQUIRED_SCOPES = "<your SCHOLAR_MCP_OIDC_REQUIRED_SCOPES>"
SCHOLAR_MCP_OIDC_ADVERTISED_SCOPES = "<your SCHOLAR_MCP_OIDC_ADVERTISED_SCOPES>"
SCHOLAR_MCP_OIDC_JWT_SIGNING_KEY = "<your SCHOLAR_MCP_OIDC_JWT_SIGNING_KEY>"
SCHOLAR_MCP_OIDC_VERIFY_ACCESS_TOKEN = "<your SCHOLAR_MCP_OIDC_VERIFY_ACCESS_TOKEN>"
SCHOLAR_MCP_KV_STORE_URL = "<your SCHOLAR_MCP_KV_STORE_URL>"
SCHOLAR_MCP_APP_DOMAIN = "<your SCHOLAR_MCP_APP_DOMAIN>"
SCHOLAR_MCP_TOOLS_ALLOW = "<your SCHOLAR_MCP_TOOLS_ALLOW>"
SCHOLAR_MCP_TOOLS_DENY = "<your SCHOLAR_MCP_TOOLS_DENY>"
SCHOLAR_MCP_AUTH_MODE = "<your SCHOLAR_MCP_AUTH_MODE>"
SCHOLAR_MCP_BEARER_TOKENS_FILE = "<your SCHOLAR_MCP_BEARER_TOKENS_FILE>"
SCHOLAR_MCP_BEARER_DEFAULT_SUBJECT = "<your SCHOLAR_MCP_BEARER_DEFAULT_SUBJECT>"
SCHOLAR_MCP_SERVER_NAME = "<your SCHOLAR_MCP_SERVER_NAME>"
SCHOLAR_MCP_INSTANCE_DESCRIPTION = "<your SCHOLAR_MCP_INSTANCE_DESCRIPTION>"
SCHOLAR_MCP_INSTRUCTIONS_EXTRA = "<your SCHOLAR_MCP_INSTRUCTIONS_EXTRA>"
SCHOLAR_MCP_INSTRUCTIONS = "<your SCHOLAR_MCP_INSTRUCTIONS>"
SCHOLAR_MCP_HTTP_PATH = "<your SCHOLAR_MCP_HTTP_PATH>"
SCHOLAR_MCP_HEALTH_DETAIL = "<your SCHOLAR_MCP_HEALTH_DETAIL>"
PUID = "<your PUID>"
PGID = "<your PGID>"
FASTMCP_LOG_LEVEL = "<your FASTMCP_LOG_LEVEL>"
FASTMCP_ENABLE_RICH_LOGGING = "<your FASTMCP_ENABLE_RICH_LOGGING>"
SCHOLAR_GITHUB_TOKEN = "<your SCHOLAR_GITHUB_TOKEN>"
SCHOLAR_MCP_READ_ONLY = "<your SCHOLAR_MCP_READ_ONLY>"
SCHOLAR_MCP_S2_API_KEY = "<your SCHOLAR_MCP_S2_API_KEY>"
SCHOLAR_MCP_DOCLING_URL = "<your SCHOLAR_MCP_DOCLING_URL>"
SCHOLAR_MCP_VLM_API_URL = "<your SCHOLAR_MCP_VLM_API_URL>"
SCHOLAR_MCP_VLM_API_KEY = "<your SCHOLAR_MCP_VLM_API_KEY>"
SCHOLAR_MCP_VLM_MODEL = "<your SCHOLAR_MCP_VLM_MODEL>"
SCHOLAR_MCP_CACHE_DIR = "<your SCHOLAR_MCP_CACHE_DIR>"
SCHOLAR_MCP_CONTACT_EMAIL = "<your SCHOLAR_MCP_CONTACT_EMAIL>"
SCHOLAR_MCP_EPO_CONSUMER_KEY = "<your SCHOLAR_MCP_EPO_CONSUMER_KEY>"
SCHOLAR_MCP_EPO_CONSUMER_SECRET = "<your SCHOLAR_MCP_EPO_CONSUMER_SECRET>"
SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY = "<your SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY>"
SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S = "<your SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S>"
SCHOLAR_MCP_JOBS_RESULT_TTL_S = "<your SCHOLAR_MCP_JOBS_RESULT_TTL_S>"
SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT = "<your SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"scholar-mcp": {
"command": "uvx",
"args": [
"pvliesdonk-scholar-mcp"
],
"env": {
"SCHOLAR_MCP_KV_STORE_URL": "<your SCHOLAR_MCP_KV_STORE_URL>",
"SCHOLAR_MCP_TOOLS_ALLOW": "<your SCHOLAR_MCP_TOOLS_ALLOW>",
"SCHOLAR_MCP_TOOLS_DENY": "<your SCHOLAR_MCP_TOOLS_DENY>",
"SCHOLAR_MCP_SERVER_NAME": "<your SCHOLAR_MCP_SERVER_NAME>",
"SCHOLAR_MCP_INSTANCE_DESCRIPTION": "<your SCHOLAR_MCP_INSTANCE_DESCRIPTION>",
"SCHOLAR_MCP_INSTRUCTIONS_EXTRA": "<your SCHOLAR_MCP_INSTRUCTIONS_EXTRA>",
"SCHOLAR_MCP_INSTRUCTIONS": "<your SCHOLAR_MCP_INSTRUCTIONS>",
"FASTMCP_LOG_LEVEL": "<your FASTMCP_LOG_LEVEL>",
"FASTMCP_ENABLE_RICH_LOGGING": "<your FASTMCP_ENABLE_RICH_LOGGING>",
"SCHOLAR_GITHUB_TOKEN": "<your SCHOLAR_GITHUB_TOKEN>",
"SCHOLAR_MCP_READ_ONLY": "<your SCHOLAR_MCP_READ_ONLY>",
"SCHOLAR_MCP_S2_API_KEY": "<your SCHOLAR_MCP_S2_API_KEY>",
"SCHOLAR_MCP_DOCLING_URL": "<your SCHOLAR_MCP_DOCLING_URL>",
"SCHOLAR_MCP_VLM_API_URL": "<your SCHOLAR_MCP_VLM_API_URL>",
"SCHOLAR_MCP_VLM_API_KEY": "<your SCHOLAR_MCP_VLM_API_KEY>",
"SCHOLAR_MCP_VLM_MODEL": "<your SCHOLAR_MCP_VLM_MODEL>",
"SCHOLAR_MCP_CACHE_DIR": "<your SCHOLAR_MCP_CACHE_DIR>",
"SCHOLAR_MCP_CONTACT_EMAIL": "<your SCHOLAR_MCP_CONTACT_EMAIL>",
"SCHOLAR_MCP_EPO_CONSUMER_KEY": "<your SCHOLAR_MCP_EPO_CONSUMER_KEY>",
"SCHOLAR_MCP_EPO_CONSUMER_SECRET": "<your SCHOLAR_MCP_EPO_CONSUMER_SECRET>",
"SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY": "<your SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY>",
"SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S": "<your SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S>",
"SCHOLAR_MCP_JOBS_RESULT_TTL_S": "<your SCHOLAR_MCP_JOBS_RESULT_TTL_S>",
"SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT": "<your SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"scholar-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/pvliesdonk/scholar-mcp:v2.0.0",
"--port",
"8000"
],
"env": {
"SCHOLAR_MCP_BASE_URL": "<your SCHOLAR_MCP_BASE_URL>",
"SCHOLAR_MCP_BEARER_TOKEN": "<your SCHOLAR_MCP_BEARER_TOKEN>",
"SCHOLAR_MCP_OIDC_CONFIG_URL": "<your SCHOLAR_MCP_OIDC_CONFIG_URL>",
"SCHOLAR_MCP_OIDC_CLIENT_ID": "<your SCHOLAR_MCP_OIDC_CLIENT_ID>",
"SCHOLAR_MCP_OIDC_CLIENT_SECRET": "<your SCHOLAR_MCP_OIDC_CLIENT_SECRET>",
"SCHOLAR_MCP_OIDC_AUDIENCE": "<your SCHOLAR_MCP_OIDC_AUDIENCE>",
"SCHOLAR_MCP_OIDC_REQUIRED_SCOPES": "<your SCHOLAR_MCP_OIDC_REQUIRED_SCOPES>",
"SCHOLAR_MCP_OIDC_ADVERTISED_SCOPES": "<your SCHOLAR_MCP_OIDC_ADVERTISED_SCOPES>",
"SCHOLAR_MCP_OIDC_JWT_SIGNING_KEY": "<your SCHOLAR_MCP_OIDC_JWT_SIGNING_KEY>",
"SCHOLAR_MCP_OIDC_VERIFY_ACCESS_TOKEN": "<your SCHOLAR_MCP_OIDC_VERIFY_ACCESS_TOKEN>",
"SCHOLAR_MCP_KV_STORE_URL": "<your SCHOLAR_MCP_KV_STORE_URL>",
"SCHOLAR_MCP_APP_DOMAIN": "<your SCHOLAR_MCP_APP_DOMAIN>",
"SCHOLAR_MCP_TOOLS_ALLOW": "<your SCHOLAR_MCP_TOOLS_ALLOW>",
"SCHOLAR_MCP_TOOLS_DENY": "<your SCHOLAR_MCP_TOOLS_DENY>",
"SCHOLAR_MCP_AUTH_MODE": "<your SCHOLAR_MCP_AUTH_MODE>",
"SCHOLAR_MCP_BEARER_TOKENS_FILE": "<your SCHOLAR_MCP_BEARER_TOKENS_FILE>",
"SCHOLAR_MCP_BEARER_DEFAULT_SUBJECT": "<your SCHOLAR_MCP_BEARER_DEFAULT_SUBJECT>",
"SCHOLAR_MCP_SERVER_NAME": "<your SCHOLAR_MCP_SERVER_NAME>",
"SCHOLAR_MCP_INSTANCE_DESCRIPTION": "<your SCHOLAR_MCP_INSTANCE_DESCRIPTION>",
"SCHOLAR_MCP_INSTRUCTIONS_EXTRA": "<your SCHOLAR_MCP_INSTRUCTIONS_EXTRA>",
"SCHOLAR_MCP_INSTRUCTIONS": "<your SCHOLAR_MCP_INSTRUCTIONS>",
"SCHOLAR_MCP_HTTP_PATH": "<your SCHOLAR_MCP_HTTP_PATH>",
"SCHOLAR_MCP_HEALTH_DETAIL": "<your SCHOLAR_MCP_HEALTH_DETAIL>",
"PUID": "<your PUID>",
"PGID": "<your PGID>",
"FASTMCP_LOG_LEVEL": "<your FASTMCP_LOG_LEVEL>",
"FASTMCP_ENABLE_RICH_LOGGING": "<your FASTMCP_ENABLE_RICH_LOGGING>",
"SCHOLAR_GITHUB_TOKEN": "<your SCHOLAR_GITHUB_TOKEN>",
"SCHOLAR_MCP_READ_ONLY": "<your SCHOLAR_MCP_READ_ONLY>",
"SCHOLAR_MCP_S2_API_KEY": "<your SCHOLAR_MCP_S2_API_KEY>",
"SCHOLAR_MCP_DOCLING_URL": "<your SCHOLAR_MCP_DOCLING_URL>",
"SCHOLAR_MCP_VLM_API_URL": "<your SCHOLAR_MCP_VLM_API_URL>",
"SCHOLAR_MCP_VLM_API_KEY": "<your SCHOLAR_MCP_VLM_API_KEY>",
"SCHOLAR_MCP_VLM_MODEL": "<your SCHOLAR_MCP_VLM_MODEL>",
"SCHOLAR_MCP_CACHE_DIR": "<your SCHOLAR_MCP_CACHE_DIR>",
"SCHOLAR_MCP_CONTACT_EMAIL": "<your SCHOLAR_MCP_CONTACT_EMAIL>",
"SCHOLAR_MCP_EPO_CONSUMER_KEY": "<your SCHOLAR_MCP_EPO_CONSUMER_KEY>",
"SCHOLAR_MCP_EPO_CONSUMER_SECRET": "<your SCHOLAR_MCP_EPO_CONSUMER_SECRET>",
"SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY": "<your SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY>",
"SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S": "<your SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S>",
"SCHOLAR_MCP_JOBS_RESULT_TTL_S": "<your SCHOLAR_MCP_JOBS_RESULT_TTL_S>",
"SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT": "<your SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"scholar-mcp": {
"command": "uvx",
"args": [
"pvliesdonk-scholar-mcp"
],
"env": {
"SCHOLAR_MCP_KV_STORE_URL": "<your SCHOLAR_MCP_KV_STORE_URL>",
"SCHOLAR_MCP_TOOLS_ALLOW": "<your SCHOLAR_MCP_TOOLS_ALLOW>",
"SCHOLAR_MCP_TOOLS_DENY": "<your SCHOLAR_MCP_TOOLS_DENY>",
"SCHOLAR_MCP_SERVER_NAME": "<your SCHOLAR_MCP_SERVER_NAME>",
"SCHOLAR_MCP_INSTANCE_DESCRIPTION": "<your SCHOLAR_MCP_INSTANCE_DESCRIPTION>",
"SCHOLAR_MCP_INSTRUCTIONS_EXTRA": "<your SCHOLAR_MCP_INSTRUCTIONS_EXTRA>",
"SCHOLAR_MCP_INSTRUCTIONS": "<your SCHOLAR_MCP_INSTRUCTIONS>",
"FASTMCP_LOG_LEVEL": "<your FASTMCP_LOG_LEVEL>",
"FASTMCP_ENABLE_RICH_LOGGING": "<your FASTMCP_ENABLE_RICH_LOGGING>",
"SCHOLAR_GITHUB_TOKEN": "<your SCHOLAR_GITHUB_TOKEN>",
"SCHOLAR_MCP_READ_ONLY": "<your SCHOLAR_MCP_READ_ONLY>",
"SCHOLAR_MCP_S2_API_KEY": "<your SCHOLAR_MCP_S2_API_KEY>",
"SCHOLAR_MCP_DOCLING_URL": "<your SCHOLAR_MCP_DOCLING_URL>",
"SCHOLAR_MCP_VLM_API_URL": "<your SCHOLAR_MCP_VLM_API_URL>",
"SCHOLAR_MCP_VLM_API_KEY": "<your SCHOLAR_MCP_VLM_API_KEY>",
"SCHOLAR_MCP_VLM_MODEL": "<your SCHOLAR_MCP_VLM_MODEL>",
"SCHOLAR_MCP_CACHE_DIR": "<your SCHOLAR_MCP_CACHE_DIR>",
"SCHOLAR_MCP_CONTACT_EMAIL": "<your SCHOLAR_MCP_CONTACT_EMAIL>",
"SCHOLAR_MCP_EPO_CONSUMER_KEY": "<your SCHOLAR_MCP_EPO_CONSUMER_KEY>",
"SCHOLAR_MCP_EPO_CONSUMER_SECRET": "<your SCHOLAR_MCP_EPO_CONSUMER_SECRET>",
"SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY": "<your SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY>",
"SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S": "<your SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S>",
"SCHOLAR_MCP_JOBS_RESULT_TTL_S": "<your SCHOLAR_MCP_JOBS_RESULT_TTL_S>",
"SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT": "<your SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"scholar-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/pvliesdonk/scholar-mcp:v2.0.0",
"--port",
"8000"
],
"env": {
"SCHOLAR_MCP_BASE_URL": "<your SCHOLAR_MCP_BASE_URL>",
"SCHOLAR_MCP_BEARER_TOKEN": "<your SCHOLAR_MCP_BEARER_TOKEN>",
"SCHOLAR_MCP_OIDC_CONFIG_URL": "<your SCHOLAR_MCP_OIDC_CONFIG_URL>",
"SCHOLAR_MCP_OIDC_CLIENT_ID": "<your SCHOLAR_MCP_OIDC_CLIENT_ID>",
"SCHOLAR_MCP_OIDC_CLIENT_SECRET": "<your SCHOLAR_MCP_OIDC_CLIENT_SECRET>",
"SCHOLAR_MCP_OIDC_AUDIENCE": "<your SCHOLAR_MCP_OIDC_AUDIENCE>",
"SCHOLAR_MCP_OIDC_REQUIRED_SCOPES": "<your SCHOLAR_MCP_OIDC_REQUIRED_SCOPES>",
"SCHOLAR_MCP_OIDC_ADVERTISED_SCOPES": "<your SCHOLAR_MCP_OIDC_ADVERTISED_SCOPES>",
"SCHOLAR_MCP_OIDC_JWT_SIGNING_KEY": "<your SCHOLAR_MCP_OIDC_JWT_SIGNING_KEY>",
"SCHOLAR_MCP_OIDC_VERIFY_ACCESS_TOKEN": "<your SCHOLAR_MCP_OIDC_VERIFY_ACCESS_TOKEN>",
"SCHOLAR_MCP_KV_STORE_URL": "<your SCHOLAR_MCP_KV_STORE_URL>",
"SCHOLAR_MCP_APP_DOMAIN": "<your SCHOLAR_MCP_APP_DOMAIN>",
"SCHOLAR_MCP_TOOLS_ALLOW": "<your SCHOLAR_MCP_TOOLS_ALLOW>",
"SCHOLAR_MCP_TOOLS_DENY": "<your SCHOLAR_MCP_TOOLS_DENY>",
"SCHOLAR_MCP_AUTH_MODE": "<your SCHOLAR_MCP_AUTH_MODE>",
"SCHOLAR_MCP_BEARER_TOKENS_FILE": "<your SCHOLAR_MCP_BEARER_TOKENS_FILE>",
"SCHOLAR_MCP_BEARER_DEFAULT_SUBJECT": "<your SCHOLAR_MCP_BEARER_DEFAULT_SUBJECT>",
"SCHOLAR_MCP_SERVER_NAME": "<your SCHOLAR_MCP_SERVER_NAME>",
"SCHOLAR_MCP_INSTANCE_DESCRIPTION": "<your SCHOLAR_MCP_INSTANCE_DESCRIPTION>",
"SCHOLAR_MCP_INSTRUCTIONS_EXTRA": "<your SCHOLAR_MCP_INSTRUCTIONS_EXTRA>",
"SCHOLAR_MCP_INSTRUCTIONS": "<your SCHOLAR_MCP_INSTRUCTIONS>",
"SCHOLAR_MCP_HTTP_PATH": "<your SCHOLAR_MCP_HTTP_PATH>",
"SCHOLAR_MCP_HEALTH_DETAIL": "<your SCHOLAR_MCP_HEALTH_DETAIL>",
"PUID": "<your PUID>",
"PGID": "<your PGID>",
"FASTMCP_LOG_LEVEL": "<your FASTMCP_LOG_LEVEL>",
"FASTMCP_ENABLE_RICH_LOGGING": "<your FASTMCP_ENABLE_RICH_LOGGING>",
"SCHOLAR_GITHUB_TOKEN": "<your SCHOLAR_GITHUB_TOKEN>",
"SCHOLAR_MCP_READ_ONLY": "<your SCHOLAR_MCP_READ_ONLY>",
"SCHOLAR_MCP_S2_API_KEY": "<your SCHOLAR_MCP_S2_API_KEY>",
"SCHOLAR_MCP_DOCLING_URL": "<your SCHOLAR_MCP_DOCLING_URL>",
"SCHOLAR_MCP_VLM_API_URL": "<your SCHOLAR_MCP_VLM_API_URL>",
"SCHOLAR_MCP_VLM_API_KEY": "<your SCHOLAR_MCP_VLM_API_KEY>",
"SCHOLAR_MCP_VLM_MODEL": "<your SCHOLAR_MCP_VLM_MODEL>",
"SCHOLAR_MCP_CACHE_DIR": "<your SCHOLAR_MCP_CACHE_DIR>",
"SCHOLAR_MCP_CONTACT_EMAIL": "<your SCHOLAR_MCP_CONTACT_EMAIL>",
"SCHOLAR_MCP_EPO_CONSUMER_KEY": "<your SCHOLAR_MCP_EPO_CONSUMER_KEY>",
"SCHOLAR_MCP_EPO_CONSUMER_SECRET": "<your SCHOLAR_MCP_EPO_CONSUMER_SECRET>",
"SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY": "<your SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY>",
"SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S": "<your SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S>",
"SCHOLAR_MCP_JOBS_RESULT_TTL_S": "<your SCHOLAR_MCP_JOBS_RESULT_TTL_S>",
"SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT": "<your SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"servers": {
"scholar-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"pvliesdonk-scholar-mcp"
],
"env": {
"SCHOLAR_MCP_KV_STORE_URL": "<your SCHOLAR_MCP_KV_STORE_URL>",
"SCHOLAR_MCP_TOOLS_ALLOW": "<your SCHOLAR_MCP_TOOLS_ALLOW>",
"SCHOLAR_MCP_TOOLS_DENY": "<your SCHOLAR_MCP_TOOLS_DENY>",
"SCHOLAR_MCP_SERVER_NAME": "<your SCHOLAR_MCP_SERVER_NAME>",
"SCHOLAR_MCP_INSTANCE_DESCRIPTION": "<your SCHOLAR_MCP_INSTANCE_DESCRIPTION>",
"SCHOLAR_MCP_INSTRUCTIONS_EXTRA": "<your SCHOLAR_MCP_INSTRUCTIONS_EXTRA>",
"SCHOLAR_MCP_INSTRUCTIONS": "<your SCHOLAR_MCP_INSTRUCTIONS>",
"FASTMCP_LOG_LEVEL": "<your FASTMCP_LOG_LEVEL>",
"FASTMCP_ENABLE_RICH_LOGGING": "<your FASTMCP_ENABLE_RICH_LOGGING>",
"SCHOLAR_GITHUB_TOKEN": "<your SCHOLAR_GITHUB_TOKEN>",
"SCHOLAR_MCP_READ_ONLY": "<your SCHOLAR_MCP_READ_ONLY>",
"SCHOLAR_MCP_S2_API_KEY": "<your SCHOLAR_MCP_S2_API_KEY>",
"SCHOLAR_MCP_DOCLING_URL": "<your SCHOLAR_MCP_DOCLING_URL>",
"SCHOLAR_MCP_VLM_API_URL": "<your SCHOLAR_MCP_VLM_API_URL>",
"SCHOLAR_MCP_VLM_API_KEY": "<your SCHOLAR_MCP_VLM_API_KEY>",
"SCHOLAR_MCP_VLM_MODEL": "<your SCHOLAR_MCP_VLM_MODEL>",
"SCHOLAR_MCP_CACHE_DIR": "<your SCHOLAR_MCP_CACHE_DIR>",
"SCHOLAR_MCP_CONTACT_EMAIL": "<your SCHOLAR_MCP_CONTACT_EMAIL>",
"SCHOLAR_MCP_EPO_CONSUMER_KEY": "<your SCHOLAR_MCP_EPO_CONSUMER_KEY>",
"SCHOLAR_MCP_EPO_CONSUMER_SECRET": "<your SCHOLAR_MCP_EPO_CONSUMER_SECRET>",
"SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY": "<your SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY>",
"SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S": "<your SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S>",
"SCHOLAR_MCP_JOBS_RESULT_TTL_S": "<your SCHOLAR_MCP_JOBS_RESULT_TTL_S>",
"SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT": "<your SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"servers": {
"scholar-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/pvliesdonk/scholar-mcp:v2.0.0",
"--port",
"8000"
],
"env": {
"SCHOLAR_MCP_BASE_URL": "<your SCHOLAR_MCP_BASE_URL>",
"SCHOLAR_MCP_BEARER_TOKEN": "<your SCHOLAR_MCP_BEARER_TOKEN>",
"SCHOLAR_MCP_OIDC_CONFIG_URL": "<your SCHOLAR_MCP_OIDC_CONFIG_URL>",
"SCHOLAR_MCP_OIDC_CLIENT_ID": "<your SCHOLAR_MCP_OIDC_CLIENT_ID>",
"SCHOLAR_MCP_OIDC_CLIENT_SECRET": "<your SCHOLAR_MCP_OIDC_CLIENT_SECRET>",
"SCHOLAR_MCP_OIDC_AUDIENCE": "<your SCHOLAR_MCP_OIDC_AUDIENCE>",
"SCHOLAR_MCP_OIDC_REQUIRED_SCOPES": "<your SCHOLAR_MCP_OIDC_REQUIRED_SCOPES>",
"SCHOLAR_MCP_OIDC_ADVERTISED_SCOPES": "<your SCHOLAR_MCP_OIDC_ADVERTISED_SCOPES>",
"SCHOLAR_MCP_OIDC_JWT_SIGNING_KEY": "<your SCHOLAR_MCP_OIDC_JWT_SIGNING_KEY>",
"SCHOLAR_MCP_OIDC_VERIFY_ACCESS_TOKEN": "<your SCHOLAR_MCP_OIDC_VERIFY_ACCESS_TOKEN>",
"SCHOLAR_MCP_KV_STORE_URL": "<your SCHOLAR_MCP_KV_STORE_URL>",
"SCHOLAR_MCP_APP_DOMAIN": "<your SCHOLAR_MCP_APP_DOMAIN>",
"SCHOLAR_MCP_TOOLS_ALLOW": "<your SCHOLAR_MCP_TOOLS_ALLOW>",
"SCHOLAR_MCP_TOOLS_DENY": "<your SCHOLAR_MCP_TOOLS_DENY>",
"SCHOLAR_MCP_AUTH_MODE": "<your SCHOLAR_MCP_AUTH_MODE>",
"SCHOLAR_MCP_BEARER_TOKENS_FILE": "<your SCHOLAR_MCP_BEARER_TOKENS_FILE>",
"SCHOLAR_MCP_BEARER_DEFAULT_SUBJECT": "<your SCHOLAR_MCP_BEARER_DEFAULT_SUBJECT>",
"SCHOLAR_MCP_SERVER_NAME": "<your SCHOLAR_MCP_SERVER_NAME>",
"SCHOLAR_MCP_INSTANCE_DESCRIPTION": "<your SCHOLAR_MCP_INSTANCE_DESCRIPTION>",
"SCHOLAR_MCP_INSTRUCTIONS_EXTRA": "<your SCHOLAR_MCP_INSTRUCTIONS_EXTRA>",
"SCHOLAR_MCP_INSTRUCTIONS": "<your SCHOLAR_MCP_INSTRUCTIONS>",
"SCHOLAR_MCP_HTTP_PATH": "<your SCHOLAR_MCP_HTTP_PATH>",
"SCHOLAR_MCP_HEALTH_DETAIL": "<your SCHOLAR_MCP_HEALTH_DETAIL>",
"PUID": "<your PUID>",
"PGID": "<your PGID>",
"FASTMCP_LOG_LEVEL": "<your FASTMCP_LOG_LEVEL>",
"FASTMCP_ENABLE_RICH_LOGGING": "<your FASTMCP_ENABLE_RICH_LOGGING>",
"SCHOLAR_GITHUB_TOKEN": "<your SCHOLAR_GITHUB_TOKEN>",
"SCHOLAR_MCP_READ_ONLY": "<your SCHOLAR_MCP_READ_ONLY>",
"SCHOLAR_MCP_S2_API_KEY": "<your SCHOLAR_MCP_S2_API_KEY>",
"SCHOLAR_MCP_DOCLING_URL": "<your SCHOLAR_MCP_DOCLING_URL>",
"SCHOLAR_MCP_VLM_API_URL": "<your SCHOLAR_MCP_VLM_API_URL>",
"SCHOLAR_MCP_VLM_API_KEY": "<your SCHOLAR_MCP_VLM_API_KEY>",
"SCHOLAR_MCP_VLM_MODEL": "<your SCHOLAR_MCP_VLM_MODEL>",
"SCHOLAR_MCP_CACHE_DIR": "<your SCHOLAR_MCP_CACHE_DIR>",
"SCHOLAR_MCP_CONTACT_EMAIL": "<your SCHOLAR_MCP_CONTACT_EMAIL>",
"SCHOLAR_MCP_EPO_CONSUMER_KEY": "<your SCHOLAR_MCP_EPO_CONSUMER_KEY>",
"SCHOLAR_MCP_EPO_CONSUMER_SECRET": "<your SCHOLAR_MCP_EPO_CONSUMER_SECRET>",
"SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY": "<your SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY>",
"SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S": "<your SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S>",
"SCHOLAR_MCP_JOBS_RESULT_TTL_S": "<your SCHOLAR_MCP_JOBS_RESULT_TTL_S>",
"SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT": "<your SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"scholar-mcp": {
"command": "uvx",
"args": [
"pvliesdonk-scholar-mcp"
],
"env": {
"SCHOLAR_MCP_KV_STORE_URL": "<your SCHOLAR_MCP_KV_STORE_URL>",
"SCHOLAR_MCP_TOOLS_ALLOW": "<your SCHOLAR_MCP_TOOLS_ALLOW>",
"SCHOLAR_MCP_TOOLS_DENY": "<your SCHOLAR_MCP_TOOLS_DENY>",
"SCHOLAR_MCP_SERVER_NAME": "<your SCHOLAR_MCP_SERVER_NAME>",
"SCHOLAR_MCP_INSTANCE_DESCRIPTION": "<your SCHOLAR_MCP_INSTANCE_DESCRIPTION>",
"SCHOLAR_MCP_INSTRUCTIONS_EXTRA": "<your SCHOLAR_MCP_INSTRUCTIONS_EXTRA>",
"SCHOLAR_MCP_INSTRUCTIONS": "<your SCHOLAR_MCP_INSTRUCTIONS>",
"FASTMCP_LOG_LEVEL": "<your FASTMCP_LOG_LEVEL>",
"FASTMCP_ENABLE_RICH_LOGGING": "<your FASTMCP_ENABLE_RICH_LOGGING>",
"SCHOLAR_GITHUB_TOKEN": "<your SCHOLAR_GITHUB_TOKEN>",
"SCHOLAR_MCP_READ_ONLY": "<your SCHOLAR_MCP_READ_ONLY>",
"SCHOLAR_MCP_S2_API_KEY": "<your SCHOLAR_MCP_S2_API_KEY>",
"SCHOLAR_MCP_DOCLING_URL": "<your SCHOLAR_MCP_DOCLING_URL>",
"SCHOLAR_MCP_VLM_API_URL": "<your SCHOLAR_MCP_VLM_API_URL>",
"SCHOLAR_MCP_VLM_API_KEY": "<your SCHOLAR_MCP_VLM_API_KEY>",
"SCHOLAR_MCP_VLM_MODEL": "<your SCHOLAR_MCP_VLM_MODEL>",
"SCHOLAR_MCP_CACHE_DIR": "<your SCHOLAR_MCP_CACHE_DIR>",
"SCHOLAR_MCP_CONTACT_EMAIL": "<your SCHOLAR_MCP_CONTACT_EMAIL>",
"SCHOLAR_MCP_EPO_CONSUMER_KEY": "<your SCHOLAR_MCP_EPO_CONSUMER_KEY>",
"SCHOLAR_MCP_EPO_CONSUMER_SECRET": "<your SCHOLAR_MCP_EPO_CONSUMER_SECRET>",
"SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY": "<your SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY>",
"SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S": "<your SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S>",
"SCHOLAR_MCP_JOBS_RESULT_TTL_S": "<your SCHOLAR_MCP_JOBS_RESULT_TTL_S>",
"SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT": "<your SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"scholar-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/pvliesdonk/scholar-mcp:v2.0.0",
"--port",
"8000"
],
"env": {
"SCHOLAR_MCP_BASE_URL": "<your SCHOLAR_MCP_BASE_URL>",
"SCHOLAR_MCP_BEARER_TOKEN": "<your SCHOLAR_MCP_BEARER_TOKEN>",
"SCHOLAR_MCP_OIDC_CONFIG_URL": "<your SCHOLAR_MCP_OIDC_CONFIG_URL>",
"SCHOLAR_MCP_OIDC_CLIENT_ID": "<your SCHOLAR_MCP_OIDC_CLIENT_ID>",
"SCHOLAR_MCP_OIDC_CLIENT_SECRET": "<your SCHOLAR_MCP_OIDC_CLIENT_SECRET>",
"SCHOLAR_MCP_OIDC_AUDIENCE": "<your SCHOLAR_MCP_OIDC_AUDIENCE>",
"SCHOLAR_MCP_OIDC_REQUIRED_SCOPES": "<your SCHOLAR_MCP_OIDC_REQUIRED_SCOPES>",
"SCHOLAR_MCP_OIDC_ADVERTISED_SCOPES": "<your SCHOLAR_MCP_OIDC_ADVERTISED_SCOPES>",
"SCHOLAR_MCP_OIDC_JWT_SIGNING_KEY": "<your SCHOLAR_MCP_OIDC_JWT_SIGNING_KEY>",
"SCHOLAR_MCP_OIDC_VERIFY_ACCESS_TOKEN": "<your SCHOLAR_MCP_OIDC_VERIFY_ACCESS_TOKEN>",
"SCHOLAR_MCP_KV_STORE_URL": "<your SCHOLAR_MCP_KV_STORE_URL>",
"SCHOLAR_MCP_APP_DOMAIN": "<your SCHOLAR_MCP_APP_DOMAIN>",
"SCHOLAR_MCP_TOOLS_ALLOW": "<your SCHOLAR_MCP_TOOLS_ALLOW>",
"SCHOLAR_MCP_TOOLS_DENY": "<your SCHOLAR_MCP_TOOLS_DENY>",
"SCHOLAR_MCP_AUTH_MODE": "<your SCHOLAR_MCP_AUTH_MODE>",
"SCHOLAR_MCP_BEARER_TOKENS_FILE": "<your SCHOLAR_MCP_BEARER_TOKENS_FILE>",
"SCHOLAR_MCP_BEARER_DEFAULT_SUBJECT": "<your SCHOLAR_MCP_BEARER_DEFAULT_SUBJECT>",
"SCHOLAR_MCP_SERVER_NAME": "<your SCHOLAR_MCP_SERVER_NAME>",
"SCHOLAR_MCP_INSTANCE_DESCRIPTION": "<your SCHOLAR_MCP_INSTANCE_DESCRIPTION>",
"SCHOLAR_MCP_INSTRUCTIONS_EXTRA": "<your SCHOLAR_MCP_INSTRUCTIONS_EXTRA>",
"SCHOLAR_MCP_INSTRUCTIONS": "<your SCHOLAR_MCP_INSTRUCTIONS>",
"SCHOLAR_MCP_HTTP_PATH": "<your SCHOLAR_MCP_HTTP_PATH>",
"SCHOLAR_MCP_HEALTH_DETAIL": "<your SCHOLAR_MCP_HEALTH_DETAIL>",
"PUID": "<your PUID>",
"PGID": "<your PGID>",
"FASTMCP_LOG_LEVEL": "<your FASTMCP_LOG_LEVEL>",
"FASTMCP_ENABLE_RICH_LOGGING": "<your FASTMCP_ENABLE_RICH_LOGGING>",
"SCHOLAR_GITHUB_TOKEN": "<your SCHOLAR_GITHUB_TOKEN>",
"SCHOLAR_MCP_READ_ONLY": "<your SCHOLAR_MCP_READ_ONLY>",
"SCHOLAR_MCP_S2_API_KEY": "<your SCHOLAR_MCP_S2_API_KEY>",
"SCHOLAR_MCP_DOCLING_URL": "<your SCHOLAR_MCP_DOCLING_URL>",
"SCHOLAR_MCP_VLM_API_URL": "<your SCHOLAR_MCP_VLM_API_URL>",
"SCHOLAR_MCP_VLM_API_KEY": "<your SCHOLAR_MCP_VLM_API_KEY>",
"SCHOLAR_MCP_VLM_MODEL": "<your SCHOLAR_MCP_VLM_MODEL>",
"SCHOLAR_MCP_CACHE_DIR": "<your SCHOLAR_MCP_CACHE_DIR>",
"SCHOLAR_MCP_CONTACT_EMAIL": "<your SCHOLAR_MCP_CONTACT_EMAIL>",
"SCHOLAR_MCP_EPO_CONSUMER_KEY": "<your SCHOLAR_MCP_EPO_CONSUMER_KEY>",
"SCHOLAR_MCP_EPO_CONSUMER_SECRET": "<your SCHOLAR_MCP_EPO_CONSUMER_SECRET>",
"SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY": "<your SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY>",
"SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S": "<your SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S>",
"SCHOLAR_MCP_JOBS_RESULT_TTL_S": "<your SCHOLAR_MCP_JOBS_RESULT_TTL_S>",
"SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT": "<your SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"scholar-mcp": {
"command": "uvx",
"args": [
"pvliesdonk-scholar-mcp"
],
"env": {
"SCHOLAR_MCP_KV_STORE_URL": "<your SCHOLAR_MCP_KV_STORE_URL>",
"SCHOLAR_MCP_TOOLS_ALLOW": "<your SCHOLAR_MCP_TOOLS_ALLOW>",
"SCHOLAR_MCP_TOOLS_DENY": "<your SCHOLAR_MCP_TOOLS_DENY>",
"SCHOLAR_MCP_SERVER_NAME": "<your SCHOLAR_MCP_SERVER_NAME>",
"SCHOLAR_MCP_INSTANCE_DESCRIPTION": "<your SCHOLAR_MCP_INSTANCE_DESCRIPTION>",
"SCHOLAR_MCP_INSTRUCTIONS_EXTRA": "<your SCHOLAR_MCP_INSTRUCTIONS_EXTRA>",
"SCHOLAR_MCP_INSTRUCTIONS": "<your SCHOLAR_MCP_INSTRUCTIONS>",
"FASTMCP_LOG_LEVEL": "<your FASTMCP_LOG_LEVEL>",
"FASTMCP_ENABLE_RICH_LOGGING": "<your FASTMCP_ENABLE_RICH_LOGGING>",
"SCHOLAR_GITHUB_TOKEN": "<your SCHOLAR_GITHUB_TOKEN>",
"SCHOLAR_MCP_READ_ONLY": "<your SCHOLAR_MCP_READ_ONLY>",
"SCHOLAR_MCP_S2_API_KEY": "<your SCHOLAR_MCP_S2_API_KEY>",
"SCHOLAR_MCP_DOCLING_URL": "<your SCHOLAR_MCP_DOCLING_URL>",
"SCHOLAR_MCP_VLM_API_URL": "<your SCHOLAR_MCP_VLM_API_URL>",
"SCHOLAR_MCP_VLM_API_KEY": "<your SCHOLAR_MCP_VLM_API_KEY>",
"SCHOLAR_MCP_VLM_MODEL": "<your SCHOLAR_MCP_VLM_MODEL>",
"SCHOLAR_MCP_CACHE_DIR": "<your SCHOLAR_MCP_CACHE_DIR>",
"SCHOLAR_MCP_CONTACT_EMAIL": "<your SCHOLAR_MCP_CONTACT_EMAIL>",
"SCHOLAR_MCP_EPO_CONSUMER_KEY": "<your SCHOLAR_MCP_EPO_CONSUMER_KEY>",
"SCHOLAR_MCP_EPO_CONSUMER_SECRET": "<your SCHOLAR_MCP_EPO_CONSUMER_SECRET>",
"SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY": "<your SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY>",
"SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S": "<your SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S>",
"SCHOLAR_MCP_JOBS_RESULT_TTL_S": "<your SCHOLAR_MCP_JOBS_RESULT_TTL_S>",
"SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT": "<your SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT>"
}
}
}
}Replace each placeholder with your own value before saving.
{
"mcpServers": {
"scholar-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/pvliesdonk/scholar-mcp:v2.0.0",
"--port",
"8000"
],
"env": {
"SCHOLAR_MCP_BASE_URL": "<your SCHOLAR_MCP_BASE_URL>",
"SCHOLAR_MCP_BEARER_TOKEN": "<your SCHOLAR_MCP_BEARER_TOKEN>",
"SCHOLAR_MCP_OIDC_CONFIG_URL": "<your SCHOLAR_MCP_OIDC_CONFIG_URL>",
"SCHOLAR_MCP_OIDC_CLIENT_ID": "<your SCHOLAR_MCP_OIDC_CLIENT_ID>",
"SCHOLAR_MCP_OIDC_CLIENT_SECRET": "<your SCHOLAR_MCP_OIDC_CLIENT_SECRET>",
"SCHOLAR_MCP_OIDC_AUDIENCE": "<your SCHOLAR_MCP_OIDC_AUDIENCE>",
"SCHOLAR_MCP_OIDC_REQUIRED_SCOPES": "<your SCHOLAR_MCP_OIDC_REQUIRED_SCOPES>",
"SCHOLAR_MCP_OIDC_ADVERTISED_SCOPES": "<your SCHOLAR_MCP_OIDC_ADVERTISED_SCOPES>",
"SCHOLAR_MCP_OIDC_JWT_SIGNING_KEY": "<your SCHOLAR_MCP_OIDC_JWT_SIGNING_KEY>",
"SCHOLAR_MCP_OIDC_VERIFY_ACCESS_TOKEN": "<your SCHOLAR_MCP_OIDC_VERIFY_ACCESS_TOKEN>",
"SCHOLAR_MCP_KV_STORE_URL": "<your SCHOLAR_MCP_KV_STORE_URL>",
"SCHOLAR_MCP_APP_DOMAIN": "<your SCHOLAR_MCP_APP_DOMAIN>",
"SCHOLAR_MCP_TOOLS_ALLOW": "<your SCHOLAR_MCP_TOOLS_ALLOW>",
"SCHOLAR_MCP_TOOLS_DENY": "<your SCHOLAR_MCP_TOOLS_DENY>",
"SCHOLAR_MCP_AUTH_MODE": "<your SCHOLAR_MCP_AUTH_MODE>",
"SCHOLAR_MCP_BEARER_TOKENS_FILE": "<your SCHOLAR_MCP_BEARER_TOKENS_FILE>",
"SCHOLAR_MCP_BEARER_DEFAULT_SUBJECT": "<your SCHOLAR_MCP_BEARER_DEFAULT_SUBJECT>",
"SCHOLAR_MCP_SERVER_NAME": "<your SCHOLAR_MCP_SERVER_NAME>",
"SCHOLAR_MCP_INSTANCE_DESCRIPTION": "<your SCHOLAR_MCP_INSTANCE_DESCRIPTION>",
"SCHOLAR_MCP_INSTRUCTIONS_EXTRA": "<your SCHOLAR_MCP_INSTRUCTIONS_EXTRA>",
"SCHOLAR_MCP_INSTRUCTIONS": "<your SCHOLAR_MCP_INSTRUCTIONS>",
"SCHOLAR_MCP_HTTP_PATH": "<your SCHOLAR_MCP_HTTP_PATH>",
"SCHOLAR_MCP_HEALTH_DETAIL": "<your SCHOLAR_MCP_HEALTH_DETAIL>",
"PUID": "<your PUID>",
"PGID": "<your PGID>",
"FASTMCP_LOG_LEVEL": "<your FASTMCP_LOG_LEVEL>",
"FASTMCP_ENABLE_RICH_LOGGING": "<your FASTMCP_ENABLE_RICH_LOGGING>",
"SCHOLAR_GITHUB_TOKEN": "<your SCHOLAR_GITHUB_TOKEN>",
"SCHOLAR_MCP_READ_ONLY": "<your SCHOLAR_MCP_READ_ONLY>",
"SCHOLAR_MCP_S2_API_KEY": "<your SCHOLAR_MCP_S2_API_KEY>",
"SCHOLAR_MCP_DOCLING_URL": "<your SCHOLAR_MCP_DOCLING_URL>",
"SCHOLAR_MCP_VLM_API_URL": "<your SCHOLAR_MCP_VLM_API_URL>",
"SCHOLAR_MCP_VLM_API_KEY": "<your SCHOLAR_MCP_VLM_API_KEY>",
"SCHOLAR_MCP_VLM_MODEL": "<your SCHOLAR_MCP_VLM_MODEL>",
"SCHOLAR_MCP_CACHE_DIR": "<your SCHOLAR_MCP_CACHE_DIR>",
"SCHOLAR_MCP_CONTACT_EMAIL": "<your SCHOLAR_MCP_CONTACT_EMAIL>",
"SCHOLAR_MCP_EPO_CONSUMER_KEY": "<your SCHOLAR_MCP_EPO_CONSUMER_KEY>",
"SCHOLAR_MCP_EPO_CONSUMER_SECRET": "<your SCHOLAR_MCP_EPO_CONSUMER_SECRET>",
"SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY": "<your SCHOLAR_MCP_GOOGLE_BOOKS_API_KEY>",
"SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S": "<your SCHOLAR_MCP_JOBS_SOFT_DEADLINE_S>",
"SCHOLAR_MCP_JOBS_RESULT_TTL_S": "<your SCHOLAR_MCP_JOBS_RESULT_TTL_S>",
"SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT": "<your SCHOLAR_MCP_JOBS_MAX_PER_SUBJECT>"
}
}
}
}Replace each placeholder with your own value before saving.
After adding the config, ask your client to list this server's tools. A tool list confirms the connection; an empty list or an error means the server did not start or needs credentials.
When to choose another server
- Markdown Vault MCP#645
- Paperless MCP#9,137
- Image Generation MCP Server#11,961
- Logo.dev MCP#58,962
- Kroki MCP#108,096
- OpenAPI MCP#129,058
No task-specific alternatives are catalogued for Scholar MCPyet; the list above is its publisher's other servers.
What changed, and when this was checked
- First listed
- Apr 4, 2026
- Latest version published
- Sep 11, 2026
- Version history
- 13 versions tracked (below)
- Requirements evidence
- Declared by Glama, last synced Oct 16, 2026. Not independently verified by MCP Toplist.
- Profile checked
- Not yet — purpose, capabilities and requirements above come from registry data only
- Ranking data as of
- Oct 16, 2026
- Official MCP ↗listed since Apr 25, 2026 · still listed
- Glama ↗listed since Jun 10, 2026 · still listed
Do you maintain Scholar MCP? to correct or enrich this profile.
Available versions (13)
| Version | Published |
|---|---|
| 2.0.0 | Sep 11, 2026 |
| 1.10.0 | Sep 7, 2026 |
| 1.9.1 | Aug 22, 2026 |
| 1.9.0 | Jul 19, 2026 |
| 1.8.2 | Jun 19, 2026 |
| 1.8.1 | Apr 23, 2026 |
| 1.7.0 | Apr 21, 2026 |
| 1.6.0 | Apr 7, 2026 |
| 1.5.0 | Apr 6, 2026 |
| 1.4.0 | Apr 5, 2026 |
| 1.3.0 | Apr 5, 2026 |
| 1.2.2 | Apr 4, 2026 |
| 1.2.1 | Apr 4, 2026 |
Ranks ahead of 140,032 of 144,396 servers on MCP Toplist.
Show your rank
Maintain this server? Add the live rank badge to your README — it updates automatically as the leaderboard changes.
[](https://mcptoplist.com/server/io.github.pvliesdonk%2Fscholar-mcp)<a href="https://mcptoplist.com/server/io.github.pvliesdonk%2Fscholar-mcp"><img src="https://mcptoplist.com/badge/io.github.pvliesdonk%2Fscholar-mcp.svg" alt="MCP Toplist: Top 5% of 144,396" /></a>Variants: append ?metric=score or ?metric=stars to the image URL.
Frequently asked questions
- Who maintains Scholar MCP?
- Scholar MCP is maintained by pvliesdonk, which publishes 7 MCP servers (63 total versions) tracked on MCP Toplist.
- Is Scholar MCP listed on the Official MCP Registry?
- Yes — Scholar MCP is listed on the Official MCP Registry, alongside Glama.
- How many versions does Scholar MCP have?
- MCP Toplist tracks 13 versions of Scholar MCP, most recently published on Sep 11, 2026.
- Where can I find the source code for Scholar MCP?
- The source code for Scholar MCP is hosted at github.com/pvliesdonk/scholar-mcp.
Do you run this server?
Community projects list the MCP servers behind real agents and apps. Publish yours and this page will link to it.