Europe PMC search, search analytics, full text, enrichment, PICO, MeSH, data links, export, auth
Connect Runs on your machine
claude mcp add pyeuropepmc -e PYEUROPEPMC_MCP_LOG_LEVEL=<PYEUROPEPMC_MCP_LOG_LEVEL> -e SEMANTIC_SCHOLAR_API_KEY=<SEMANTIC_SCHOLAR_API_KEY> -e OPENAI_API_KEY=<OPENAI_API_KEY> -e OPENAI_BASE_URL=<OPENAI_BASE_URL> -e OPENAI_MODEL=<OPENAI_MODEL> -e UNPAYWALL_EMAIL=<UNPAYWALL_EMAIL> -e PYEUROPEPMC_MCP_DOWNLOAD_DIR=<PYEUROPEPMC_MCP_DOWNLOAD_DIR> -- uvx pyeuropepmc==4.8.0
{
"mcpServers": {
"pyeuropepmc": {
"command": "uvx",
"args": [
"pyeuropepmc==4.8.0"
],
"env": {
"PYEUROPEPMC_MCP_LOG_LEVEL": "<PYEUROPEPMC_MCP_LOG_LEVEL>",
"SEMANTIC_SCHOLAR_API_KEY": "<SEMANTIC_SCHOLAR_API_KEY>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"OPENAI_BASE_URL": "<OPENAI_BASE_URL>",
"OPENAI_MODEL": "<OPENAI_MODEL>",
"UNPAYWALL_EMAIL": "<UNPAYWALL_EMAIL>",
"PYEUROPEPMC_MCP_DOWNLOAD_DIR": "<PYEUROPEPMC_MCP_DOWNLOAD_DIR>"
}
}
}
}
{
"mcpServers": {
"pyeuropepmc": {
"command": "uvx",
"args": [
"pyeuropepmc==4.8.0"
],
"env": {
"PYEUROPEPMC_MCP_LOG_LEVEL": "<PYEUROPEPMC_MCP_LOG_LEVEL>",
"SEMANTIC_SCHOLAR_API_KEY": "<SEMANTIC_SCHOLAR_API_KEY>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"OPENAI_BASE_URL": "<OPENAI_BASE_URL>",
"OPENAI_MODEL": "<OPENAI_MODEL>",
"UNPAYWALL_EMAIL": "<UNPAYWALL_EMAIL>",
"PYEUROPEPMC_MCP_DOWNLOAD_DIR": "<PYEUROPEPMC_MCP_DOWNLOAD_DIR>"
}
}
}
}
{
"servers": {
"pyeuropepmc": {
"type": "stdio",
"command": "uvx",
"args": [
"pyeuropepmc==4.8.0"
],
"env": {
"PYEUROPEPMC_MCP_LOG_LEVEL": "<PYEUROPEPMC_MCP_LOG_LEVEL>",
"SEMANTIC_SCHOLAR_API_KEY": "<SEMANTIC_SCHOLAR_API_KEY>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"OPENAI_BASE_URL": "<OPENAI_BASE_URL>",
"OPENAI_MODEL": "<OPENAI_MODEL>",
"UNPAYWALL_EMAIL": "<UNPAYWALL_EMAIL>",
"PYEUROPEPMC_MCP_DOWNLOAD_DIR": "<PYEUROPEPMC_MCP_DOWNLOAD_DIR>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
PYEUROPEPMC_MCP_LOG_LEVELOptional | Log level, written to stderr: DEBUG, INFO, WARNING or ERROR. |
SEMANTIC_SCHOLAR_API_KEYOptional, secret | Optional. Raises the Semantic Scholar rate limit used by citation_snowball, the semantic_scholar source of unified_search and the DOI route of download_papers_pdf; without it requests are throttled and may get HTTP 429. |
OPENAI_API_KEYOptional, secret | Optional. Enables the LLM-powered tools (analyze_citations, literature_review, paper_screening, ...) with any OpenAI-compatible API. Needs the agentic extra. |
OPENAI_BASE_URLOptional | Optional. Base URL of an OpenAI-compatible API for the LLM tools. |
OPENAI_MODELOptional | Optional. Model for the LLM tools. |
UNPAYWALL_EMAILOptional | Optional. Your contact e-mail address, sent with each Unpaywall request (their terms ask for one). Used by the find_open_access and download_papers_pdf tools (without it download_papers_pdf skips the Unpaywall source); there is no default. |
PYEUROPEPMC_MCP_DOWNLOAD_DIROptional | Optional. Folder where the download_papers_pdf tool saves PDFs on the machine running the server. Default: ~/Downloads/pyeuropepmc. |
Details
| Package | [email protected] (PYPI, stdio) |
| First published | 8 Nov 2026 |
| Last updated | 8 Nov 2026 |
| Registry name | io.github.JonasHeinickeBio/pyeuropepmc |
More search and web servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
