Unpaywall MCP Server
Unpaywall MCP-Server
Ein MCP-Server (Model Context Protocol), der Unpaywall-Tools bereitstellt, damit KI-Clients:
Metadaten per DOI abrufen
Artikeltitel durchsuchen
Die besten OA-Volltext-Links abrufen
Text aus OA-PDFs herunterladen und extrahieren können
Schnellstart (npx)
Fügen Sie dies Ihrer MCP-Client-Konfiguration hinzu (Beispiel Claude Desktop):
{
"mcpServers": {
"unpaywall": {
"command": "npx",
"args": ["-y", "unpaywall-mcp"],
"env": { "UNPAYWALL_EMAIL": "you@example.com" }
}
}
}Testen Sie dann die Tools: unpaywall_search_titles, unpaywall_get_fulltext_links, unpaywall_fetch_pdf_text.
Sie müssen dieses Repository nicht klonen oder npm install ausführen — npx kümmert sich beim ersten Aufruf um das Abrufen und Zwischenspeichern.
Related MCP server: ScholarScope MCP
Anforderungen
Node.js 18+ (für
npx)Eine E-Mail-Adresse für Unpaywall- / OpenAlex-Anfragen (von Unpaywall erforderlich, wird für den OpenAlex-Polite-Pool verwendet).
Lokale Entwicklung (nur für Mitwirkende)
Endbenutzer sollten die obige npx-Konfiguration verwenden. Mitwirkende, die aus dem Quellcode bauen:
npm install
npm run build
UNPAYWALL_EMAIL=you@example.com npm start # stdio transport, as required by MCP clientsHot-Run (ohne Build-Schritt):
UNPAYWALL_EMAIL=you@example.com npm run devTools
unpaywall_get_by_doi
Beschreibung: Ruft Unpaywall-Metadaten für eine DOI ab
Eingabeschema:
doi(string, erforderlich): z. B.10.1038/nphys1170email(string, optional): überschreibtUNPAYWALL_EMAIL, falls angegeben
Ausgabe: JSON-Antwort von Unpaywall
unpaywall_search_titles
Beschreibung: Durchsucht Artikeltitel und gibt Unpaywall-artige OA-Metadaten für jeden Treffer zurück (50 Ergebnisse/Seite)
Eingabeschema:
query(string, erforderlich): Titelsucheis_oa(boolean, optional): wenn true, nur OA-Ergebnisse; wenn false, nur geschlossene; weglassen für allepage(integer >= 1, optional): Seitennummeremail(string, optional): überschreibtUNPAYWALL_EMAIL
Ausgabe: JSON, das dem Unpaywall-Suchformat entspricht —
results[].responseist ein DOI-artiger Datensatz (doi,title,is_oa,oa_status,best_oa_location,oa_locations), mitscoreundsnippetpro Ergebnis._source: "openalex"markiert den Upstream.Hinweis: Unterstützt durch den
/works-Endpunkt von OpenAlex, da Unpaywalls eigenes/v2/searchseit der Überarbeitung im Mai 2025 HTTP 500 zurückgibt. Unpaywall fungiert jetzt als Unterroutine von OpenAlex, daher ist dies das kanonische moderne Äquivalent.
unpaywall_get_fulltext_links
Beschreibung: Gibt die beste OA-PDF-URL und Open-URL für eine DOI sowie alle OA-Standorte zurück
Eingabeschema:
doi(string, erforderlich)email(string, optional): überschreibtUNPAYWALL_EMAIL
Ausgabe: JSON mit den Feldern:
best_pdf_url,best_open_url,best_oa_location,oa_locationsund ausgewählten Metadaten
unpaywall_fetch_pdf_text
Beschreibung: Lädt Text aus dem besten OA-PDF für eine DOI herunter und extrahiert ihn, oder von einer bereitgestellten
pdf_urlEingabeschema:
pdf_url(string, optional): direkte PDF-URL (hat Vorrang)doi(string, optional): wird verwendet, um das beste OA-PDF aufzulösen, falls keinepdf_urlbereitgestellt wurdeemail(string, optional): erforderlich, wenndoiverwendet wird und keineUNPAYWALL_EMAIL-Umgebungsvariable gesetzt isttruncate_chars(integer >= 1000, optional): maximale Anzahl der zurückzugebenden Zeichen des extrahierten Textes (Standard 20000)
Ausgabe: JSON mit
text(möglicherweise gekürzt),length_chars,truncated,pdf_urlund PDF-Metadaten
Tipps für LLM-Prompts (MCP)
Wenn Sie diesen Server von einem MCP-fähigen LLM-Client aus verwenden, bitten Sie das Modell:
Suchen und dann abrufen: Verwenden Sie
unpaywall_search_titlesmit einem prägnanten Titel-Ausdruck; wählen Sie ein Ergebnis aus; rufen Sie dannunpaywall_get_fulltext_linksoderunpaywall_fetch_pdf_textfür die gewählte DOI auf.OA bevorzugen: Übergeben Sie
is_oa: truebei Suchen, wenn Sie nur Open-Access-Ergebnisse wünschen.Größe kontrollieren: Setzen Sie
truncate_charsinunpaywall_fetch_pdf_text(Standard 20000) und fassen Sie lange Texte zusammen, bevor Sie fortfahren.Resilient sein: Wenn die beste PDF-URL fehlt, greifen Sie auf
best_open_urlzurück und extrahieren Sie Inhalte von der Landingpage (außerhalb dieses Servers).Ratenbegrenzungen respektieren: Lassen Sie bei vielen Anfragen Zeit zwischen den Aufrufen; verwenden Sie frühere Antworten wieder, anstatt denselben Aufruf zu wiederholen.
Gute Benutzeranweisungen für das LLM:
"Finde 3 OA-Arbeiten über 'foundation models in biomedicine', extrahiere dann die Einleitung der besten Arbeit und fasse sie zusammen."
"Suche nach 'Graph Neural Networks survey 2024', filtere nach Möglichkeit auf OA, rufe dann den PDF-Text ab und erstelle eine Zusammenfassung mit 10 Stichpunkten."
Beispiel-Tool-Call-Payloads
Je nach MCP-Client unterscheidet sich die Struktur; die Kern-Payloads sind:
// Search titles
{
"name": "unpaywall_search_titles",
"arguments": {
"query": "graph neural networks survey",
"is_oa": true,
"page": 1
}
}// Get best OA links for a DOI
{
"name": "unpaywall_get_fulltext_links",
"arguments": {
"doi": "10.48550/arXiv.1812.08434"
}
}// Fetch and extract PDF text (by DOI)
{
"name": "unpaywall_fetch_pdf_text",
"arguments": {
"doi": "10.48550/arXiv.1812.08434",
"truncate_chars": 20000
}
}Konfiguration in einem MCP-Client
Empfohlene (No-Build) Konfiguration für Claude Desktop unter Verwendung von npm/npx:
{
"mcpServers": {
"unpaywall": {
"command": "npx",
"args": ["-y", "unpaywall-mcp"],
"env": {
"UNPAYWALL_EMAIL": "you@example.com"
}
}
}
}Alternative (lokales Repo) Konfiguration unter Verwendung des kompilierten dist:
{
"mcpServers": {
"unpaywall": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": {
"UNPAYWALL_EMAIL": "you@example.com"
}
}
}
}Nach dem Hinzufügen bitten Sie Ihren Client, die Tools aufzulisten und zu testen:
unpaywall_search_titlesmit einerqueryunpaywall_get_fulltext_linksmit einerdoiunpaywall_fetch_pdf_textmit einerdoi(oderpdf_url)
Hinweise
Respektieren Sie die Ratenbegrenzungen und Nutzungsrichtlinien von Unpaywall: https://unpaywall.org/products/api
Der Server verwendet stdio-Transport und
@modelcontextprotocol/sdk.Setzen Sie
UNPAYWALL_EMAILoder übergeben Sieemailpro Aufruf, damit Unpaywall Sie bezüglich der Nutzung kontaktieren kann.
Maintainer: Veröffentlichung auf npm
# 1) Build the project (also runs automatically on publish)
npm run build
# 2) Bump version (choose patch/minor/major)
npm version patch
# 3) Publish (ensure you are logged in: npm login)
npm publish --access public
# 4) Tag a release on GitHub (optional, recommended)Benutzer können dann ihren MCP-Client mit npx -y unpaywall-mcp wie oben gezeigt konfigurieren. Kein Klonen oder Build erforderlich.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseCqualityFmaintenanceEnables real-time search and retrieval of academic paper information from multiple sources, providing access to paper metadata, abstracts, and full-text content when available, with structured data responses for integration with AI models that support tool/function calling.3119AGPL 3.0
- AlicenseAqualityDmaintenanceEnables academic research through the OpenAlex API, allowing users to search for papers, authors, and institutions, retrieve citations, and fetch full-text content when available. Perfect for building intelligent research assistants that can explore academic literature and related works.87MIT
- AlicenseAqualityCmaintenanceEnables querying open-access availability of scholarly articles via Unpaywall API, including DOI lookup, title search, and citation export.4MIT
- FlicenseAqualityCmaintenanceEnables looking up free-to-read versions of scholarly papers by DOI and searching article titles for Open Access matches via the Unpaywall API.21
Related MCP Connectors
Unpaywall MCP — open-access lookup for scholarly papers (free, no key)
Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.
Find academic papers across major sources like arXiv, PubMed, bioRxiv, and more. Download PDFs whe…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ElliotPadfield/unpaywall-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server