Search and analyse scientific literature across Europe PMC, PubMed, arXiv, and ClinicalTrials.gov
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
PyEuropePMC is a Python client for Europe PMC. It searches the literature, downloads open-access full text, and parses JATS XML into metadata, plain text and structured sections. It also ships a command-line tool and an MCP server for AI agents.
QueryBuilder, pagination, and results as JSON, XML or Dublin Core. Search guidesemanticscholar extra and CORE an API key. Multi-source searchrdf_map.yml that ships with the package; pass RDFMapper(config_path=...) or PipelineConfig(rdf_config_path=...) to use your own. Data models and RDFPyEuropePMC supports Python 3.10 to 3.13. The core install covers search, full-text download, XML parsing, RDF, the command line and the MCP server. The extras add:
| Extra | Installs | Adds |
|---|---|---|
analytics | pandas, numpy | to_dataframe, citation_statistics, quality_metrics, remove_duplicates and CSV export |
visualization | matplotlib, seaborn, pandas, numpy | The plot_* functions and create_summary_dashboard |
export | pandas, tabulate, xlsxwriter | Excel and Markdown-table export (pyeuropepmc.utils.export) |
semanticscholar | semanticscholar | SemanticScholarClient and the semantic_scholar search source |
enrichment | semanticscholar | Semantic Scholar data in PaperEnricher |
bibliography | bibtexparser | BibTeX parsing, validation and RIS/CSL conversion, including the bib_* MCP tools |
zotero | pyzotero | The Zotero client |
agentic | openai, langchain, langchain-openai, langgraph, jinja2 | LLM analysis, the LLM MCP tools and pyeuropepmc claim |
ui | flask, tornado | The web UI (pyeuropepmc claim serve) |
signing | cryptography | Signed search logs for systematic reviews |
benchmark | huggingface-hub | Downloading the published benchmark datasets (pyeuropepmc benchmark download) |
rdf | nothing | Kept so existing installs keep working; the core rdflib writes JSON-LD itself |
standard | jupyterlab, notebook, ipykernel, ipython, ipywidgets, matplotlib, seaborn, pandas, numpy, tabulate, xlsxwriter, requests-cache, rich | Jupyter plus the analytics, plotting and export packages |
all | all of the above | Every optional feature |
Upgrading from 1.x? The migration guide lists what moved into extras.
section_type is front for the title and abstract, then body, back or appendix. Each block has a type such as paragraph, list, table or figure. Tables and figures carry label and caption, and tables also carry rows. The XML parsing guide covers the other extractors.
PyEuropePMC parses every XML document it reads with defusedxml: full-text articles, Europe PMC search results, arXiv and PubMed responses, and local files. A DOCTYPE declaration is accepted, but a document that declares entities, internal or external, is refused rather than expanded; FullTextXMLParser raises ParsingError. lxml is not used and does not need to be installed.
| Command | What it does |
|---|---|
pyeuropepmc unified_search | search several sources with deduplication, or compare-sources to see each source's results |
pyeuropepmc normalize | Turn JATS XML into clean text (text), sections (sections) or BioC JSON (bioc); classify a heading; batch a directory |
pyeuropepmc benchmark | Score and profile the XML parser on a local folder or a published dataset |
pyeuropepmc claim | Check the claims in a text against Europe PMC literature with LLM agents (needs the agentic extra and an API key) |
unified_search search queries Europe PMC, PubMed and arXiv unless you pass --source. Add --help to any command for its options.
pyeuropepmc-mcp serves 24 tools over the Model Context Protocol: multi-source search, paper details and citations, citation-graph walking, ClinicalTrials.gov search, a local full-text index, figure extraction, bibliography conversion and LLM-powered analysis. The server is part of the core install. pip install "pyeuropepmc[all]" enables every tool; otherwise the bib_* tools need bibliography, and the LLM tools need agentic plus an OpenAI-compatible API key (see Configuration below).
For Claude Desktop and other clients that start the server themselves:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/pyeuropepmc)<a href="https://allmcps.com/mcp/pyeuropepmc"><img src="https://allmcps.com/api/badge/pyeuropepmc?style=directory" alt="PyEuropePMC on AllMCPs" /></a>