Unpaywall MCP Server
Unpaywall MCP 서버
AI 클라이언트가 다음을 수행할 수 있도록 Unpaywall 도구를 노출하는 MCP(Model Context Protocol) 서버입니다:
DOI로 메타데이터 가져오기
논문 제목 검색
최적의 OA(오픈 액세스) 전문 링크 검색
OA PDF 다운로드 및 텍스트 추출
퀵스타트 (npx)
MCP 클라이언트 설정(Claude Desktop 예시)에 다음을 추가하세요:
{
"mcpServers": {
"unpaywall": {
"command": "npx",
"args": ["-y", "unpaywall-mcp"],
"env": { "UNPAYWALL_EMAIL": "you@example.com" }
}
}
}그런 다음 도구를 사용해 보세요: unpaywall_search_titles, unpaywall_get_fulltext_links, unpaywall_fetch_pdf_text.
이 저장소를 복제하거나 npm install을 실행할 필요가 없습니다. npx가 첫 호출 시 가져오기 및 캐싱을 처리합니다.
Related MCP server: ScholarScope MCP
요구 사항
Node.js 18+ (
npx용)Unpaywall / OpenAlex 요청을 위한 이메일 주소 (Unpaywall에서 요구하며, OpenAlex의 polite pool에 사용됨)
로컬 개발 (기여자 전용)
최종 사용자는 위의 npx 설정을 사용해야 합니다. 소스에서 빌드하는 기여자는 다음을 수행하세요:
npm install
npm run build
UNPAYWALL_EMAIL=you@example.com npm start # stdio transport, as required by MCP clients핫런(빌드 단계 없음):
UNPAYWALL_EMAIL=you@example.com npm run dev도구
unpaywall_get_by_doi
설명: DOI에 대한 Unpaywall 메타데이터 가져오기
입력 스키마:
doi(문자열, 필수): 예:10.1038/nphys1170email(문자열, 선택): 제공 시UNPAYWALL_EMAIL을 재정의함
출력: Unpaywall의 JSON 응답
unpaywall_search_titles
설명: 논문 제목을 검색하고 각 결과에 대한 Unpaywall 스타일의 OA 메타데이터를 반환합니다 (페이지당 50개 결과)
입력 스키마:
query(문자열, 필수): 제목 검색어is_oa(불리언, 선택): true인 경우 OA 결과만, false인 경우 비공개 결과만, 생략 시 전체page(정수 >= 1, 선택): 페이지 번호email(문자열, 선택):UNPAYWALL_EMAIL을 재정의함
출력: Unpaywall 검색 형태와 일치하는 JSON —
results[].response는 DOI 스타일 레코드(doi,title,is_oa,oa_status,best_oa_location,oa_locations)이며, 결과별score와snippet이 포함됩니다._source: "openalex"는 업스트림을 표시합니다.참고: Unpaywall 자체의
/v2/search가 2025년 5월 재작성 이후 HTTP 500을 반환하고 있어 OpenAlex의/works엔드포인트를 기반으로 합니다. Unpaywall은 현재 OpenAlex의 서브루틴으로 실행되므로 이것이 표준적인 현대적 대안입니다.
unpaywall_get_fulltext_links
설명: DOI에 대한 최적의 OA PDF URL 및 Open URL과 모든 OA 위치를 반환합니다
입력 스키마:
doi(문자열, 필수)email(문자열, 선택):UNPAYWALL_EMAIL을 재정의함
출력:
best_pdf_url,best_open_url,best_oa_location,oa_locations및 선택된 메타데이터 필드가 포함된 JSON
unpaywall_fetch_pdf_text
설명: DOI에 대한 최적의 OA PDF에서 텍스트를 다운로드 및 추출하거나, 제공된
pdf_url에서 추출합니다입력 스키마:
pdf_url(문자열, 선택): 직접 PDF URL (우선순위 높음)doi(문자열, 선택):pdf_url이 제공되지 않은 경우 최적의 OA PDF를 확인하는 데 사용됨email(문자열, 선택):doi를 사용하고UNPAYWALL_EMAIL환경 변수가 없는 경우 필수truncate_chars(정수 >= 1000, 선택): 반환할 추출 텍스트의 최대 문자 수 (기본값 20000)
출력:
text(잘릴 수 있음),length_chars,truncated,pdf_url및 PDF 메타데이터가 포함된 JSON
LLM 프롬프트 팁 (MCP)
MCP 지원 LLM 클라이언트에서 이 서버를 사용할 때 모델에게 다음을 요청하세요:
검색 후 가져오기: 간결한 제목 문구로
unpaywall_search_titles를 사용하고, 결과를 선택한 다음, 선택한 DOI에 대해unpaywall_get_fulltext_links또는unpaywall_fetch_pdf_text를 호출하세요.OA 선호: 오픈 액세스 결과만 원할 경우 검색 시
is_oa: true를 전달하세요.크기 제어:
unpaywall_fetch_pdf_text에서truncate_chars(기본값 20000)를 설정하고 긴 텍스트는 진행하기 전에 요약하세요.복원력 유지: 최적의 PDF URL이 누락된 경우
best_open_url로 대체하고 랜딩 페이지에서 콘텐츠를 추출하세요(이 서버 외부).속도 제한 준수: 많은 호출을 수행할 경우 요청 간격을 두고, 동일한 호출을 반복하는 대신 이전 응답을 재사용하세요.
LLM에 대한 좋은 사용자 지침:
"'생의학 분야의 파운데이션 모델'에 관한 OA 논문 3개를 찾은 다음, 가장 좋은 논문의 서론을 추출하고 요약해 줘."
"'Graph Neural Networks survey 2024'를 검색하고, 가능하면 OA로 필터링한 다음, PDF 텍스트를 가져와서 10개의 글머리 기호로 요약해 줘."
도구 호출 페이로드 예시
MCP 클라이언트에 따라 구조가 다르지만, 핵심 페이로드는 다음과 같습니다:
// 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
}
}MCP 클라이언트에서 설정
npm/npx를 사용하는 Claude Desktop에 권장되는(빌드 없는) 설정:
{
"mcpServers": {
"unpaywall": {
"command": "npx",
"args": ["-y", "unpaywall-mcp"],
"env": {
"UNPAYWALL_EMAIL": "you@example.com"
}
}
}
}컴파일된 dist를 사용하는 대체(로컬 저장소) 설정:
{
"mcpServers": {
"unpaywall": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": {
"UNPAYWALL_EMAIL": "you@example.com"
}
}
}
}추가 후 클라이언트에게 도구 목록을 나열하도록 요청하고 다음을 시도해 보세요:
query와 함께unpaywall_search_titlesdoi와 함께unpaywall_get_fulltext_linksdoi(또는pdf_url)와 함께unpaywall_fetch_pdf_text
참고
Unpaywall의 속도 제한 및 사용 지침을 준수하세요: https://unpaywall.org/products/api
이 서버는 stdio 전송 및
@modelcontextprotocol/sdk를 사용합니다.Unpaywall이 사용량에 대해 연락할 수 있도록
UNPAYWALL_EMAIL을 설정하거나 호출당email을 전달하세요.
유지 관리자: 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)사용자는 위와 같이 npx -y unpaywall-mcp를 사용하여 MCP 클라이언트를 설정할 수 있습니다. 복제나 빌드가 필요하지 않습니다.
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