Token导航 LogoToken导航TokenDH.com
Unpaywall MCP Server logo
搜索检索HTTP官方级别未说明来源级核验

Unpaywall MCP Server

MCP Server

通过DOI获取元数据、搜索文章标题、检索最佳开放获取全文链接以及从PDF中提取文本的服务。

工具数

4

提示词数

0

GitHub Stars

8

资源数

0
搜索TypeScriptClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ElliotPadfield

提供方

ElliotPadfield

最后核验

2026/5/17 20:24

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx 快速启动

详细介绍

无付费MCP服务器

](https://www.npmjs.com/package/unpaywall-mcp) ![CI](https://github.com/ElliotPadfield/unpaywall-mcp/actions/workflows/ci.yml) ![license](LICENSE) ](#requirements)

MCP(模型上下文协议)服务器公开Unpaywall工具,以便AI客户端可以:

  • 按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 installnpx 处理第一次调用时的获取和缓存。

需求

  • Node.js 18+(适用于 npx)
  • Unpaywall/OpenAlex请求的电子邮件地址(Unpaywall要求,用于OpenAlex礼貌池)。

地方发展(仅贡献者)

最终用户应该使用上面的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

工具

unwall_get_by_doi

  • 描述:获取DOI的未付费元数据
  • 输入架构:

- doi (字符串,必填):例如。 10.1038/nphys1170 - email (字符串,可选):覆盖 UNPAYWALL_EMAIL 如果提供

  • 输出:来自Unpaywall的JSON响应

unwall_search_titles

  • 描述:搜索文章标题,并为每次点击返回Unpaywall风格的OA元数据(50个结果/页)
  • 输入架构:

- query (字符串,必填):标题查询 - is_oa (boolean,可选):如果为真,则仅OA结果;如果为false,则只关闭;全部省略 - page (整数>=1,可选):页码 - email (字符串,可选):覆盖 UNPAYWALL_EMAIL

  • 输出:JSON匹配Unpaywall搜索形状-- results[].response 是DOI风格的记录(doi, title, is_oa, oa_status, best_oa_location, oa_locations),与 scoresnippet 每个结果。 _source: "openalex" 标志着上游。
  • 注:由OpenAlex支持 /works 端点,因为Unpaywall自己的 /v2/search 自2025年5月重写以来,一直在返回HTTP 500。Unpaywall现在作为OpenAlex的一个子例程运行,因此这是规范的现代等效程序。

unwall_get_fulltext_links

  • 描述:返回DOI的最佳OA PDF URL和Open URL,以及所有OA位置
  • 输入架构:

- doi (字符串,必填) - email (字符串,可选):覆盖 UNPAYWALL_EMAIL

  • 输出:带字段的JSON: best_pdf_url, best_open_url, best_oa_location, oa_locations,并选择元数据

unwall_fetch_pdf_text

  • 描述:从DOI的最佳OA PDF或提供的 pdf_url
  • 输入架构:

- pdf_url (字符串,可选):直接PDF URL(优先) - doi (字符串,可选):用于在以下情况下解析最佳OA PDF pdf_url 未提供 - email (字符串,可选):如果使用,则为必填项 doi 而没有 UNPAYWALL_EMAIL env 是 - truncate_chars (整数>=1000,可选):要返回的提取文本的最大字符数(默认20000)

  • 输出:JSON text (可能被截断), length_chars, truncated, pdf_url,以及PDF元数据

LLM提示提示提示(MCP)

当从启用MCP的LLM客户端使用此服务器时,要求模型:

  • __搜索然后提取__:使用 unpaywall_search_titles 用简洁的标题短语;选择结果;然后打电话 unpaywall_get_fulltext_linksunpaywall_fetch_pdf_text 关于选定的DOI。
  • __更喜欢OA__:通行证 is_oa: true 当你只想开放访问时,在搜索中。
  • __控制大小__:设置 truncate_charsunpaywall_fetch_pdf_text (默认值20000),并在继续之前总结长篇文本。
  • __要有韧性__:如果缺少最佳PDF URL,请返回 best_open_url 并从登录页面(在该服务器之外)提取内容。
  • __遵守费率限制__:如果拨打多个电话,请预留空间;重用早期的响应,而不是重复相同的调用。

LLM的良好用户说明:

  • “找到3篇关于‘生物医学基础模型’的OA论文,然后提取并总结最佳论文的介绍。”
  • “搜索‘图形神经网络调查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"
      }
    }
  }
}

添加后,让您的客户列出工具并尝试:

  • unpaywall_search_titles 带着一个 query
  • unpaywall_get_fulltext_links 带着一个 doi
  • unpaywall_fetch_pdf_text 带着一个 doi (或 pdf_url)

备注

  • 遵守Unpaywall的费率限制和使用指南:https://unpaywall.org/products/api
  • 服务器使用stdio传输和 @modelcontextprotocol/sdk.
  • UNPAYWALL_EMAIL 或通过 email 每次通话,Unpaywall可以联系您了解使用情况。

维护者:发布到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)

然后,用户可以配置他们的MCP客户端 npx -y unpaywall-mcp 如上所示。无需克隆或构建。

目录标签

目录标签

搜索TypeScriptClaude开放获取本地部署学术搜索PDF处理元数据检索

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

HTTP

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

HTTPsessionremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP