关于 altmetric-mcp
altmetric-mcp 让 AI Agent 查询 Altmetric 中研究成果的关注度数据。研究人员和机构可按权限查询单项成果,或探索提及、受众人口统计和期刊数据。
主要功能
- 01按研究标识符查询关注度
- 02按时间范围搜索近期关注
- 03探索 Altmetric 中的研究成果
- 04分析提及与受众人口统计
- 05按 API 权限提供相应工具
适用场景
- 01查询 DOI 的新闻和政策关注度
- 02查找被政策文件提及的成果
- 03探索机构研究成果的媒体覆盖
- 04查看研究受众的地域分布
MCP 相关
该服务向 MCP 客户端开放 Altmetric Details Page API 和 Explorer API 功能,具体取决于账户权限。可通过支持 OAuth 的托管 Streamable HTTP 服务连接,也可使用 API 凭据在本地以 stdio 运行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y altmetric-mcpALTMETRIC_DETAILS_API_KEY密钥API key for Altmetric Details Page API. At least one credential set required: either this key OR both Explorer API credentialsALTMETRIC_EXPLORER_API_KEY密钥API key for Altmetric Explorer API (requires ALTMETRIC_EXPLORER_API_SECRET). At least one credential set requiredALTMETRIC_EXPLORER_API_SECRET密钥API secret for Altmetric Explorer API HMAC authentication (requires ALTMETRIC_EXPLORER_API_KEY)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Altmetric MCP 服务
模型上下文协议(MCP)服务,可让 AI Agent 访问 Altmetric API,以追踪研究成果在新闻媒体、政策文件、社交媒体和其他在线平台上的关注度和传播范围。
Altmetric 会监测研究成果在传统学术引用之外的讨论情况,包括主流媒体报道、政策引用、专利引用和社交媒体互动,从而全面呈现研究在现实世界中的影响。
有两种连接方式:
- 托管服务(推荐) — 将 AI 客户端指向
https://mcp.altmetric.com/mcp,并使用 Altmetric 帐户登录。无需复制或存储 API 密钥,并且会自动获得你有权使用的工具(Explorer、Details Page 或两者)。从这里开始。 - 本地运行 — 在自己的计算机上使用自己的 API 密钥,通过 stdio 运行服务。适用于离线使用,或希望自行管理密钥的情况。请参阅下文的使用自己的 API 密钥在本地运行。
所需访问权限
该服务只需拥有 Altmetric 的任一 API 的访问权限即可运行——Details Page API 或 Explorer API,并为你提供相应 API 的工具。要充分发挥 Altmetric 的潜力,强烈建议同时拥有两者,因为它们能回答不同的问题:
- Details Page API — 按标识符(DOI、PubMed ID 等)查询特定研究成果的关注度,并按时间范围搜索近期关注度。
- Explorer API — 在整个 Altmetric 数据库以及你所在机构的研究成果中搜索、筛选和汇总研究成果、提及、受众人口统计信息和期刊。
只有其中一个 API 时,你只能使用该 API 对应的工具。请参阅工具,了解每个 API 提供哪些工具;如果缺少某个 API,请申请 API 访问权限。
连接到托管服务(推荐)
在 AI 客户端中使用 Altmetric 最简单的方式,是连接托管服务 https://mcp.altmetric.com/mcp。将客户端指向该 URL,并在提示时使用 Altmetric 帐户登录——客户端会在浏览器中运行标准 OAuth 流程,因此无需复制或存储 API 密钥。你将获得帐户有权使用的全部工具。
Claude Desktop
- 打开设置 → 自定义 → 连接器,然后点击添加自定义连接器。
- 将其命名为
Altmetric,并输入 URLhttps://mcp.altmetric.com/mcp。 - 点击添加,然后点击连接,并在浏览器窗口打开时登录。
通过向 Claude 提问来验证:"使用 Altmetric 工具查询 DOI 10.1038/nature12373 的关注度评分"
Claude Code
claude mcp add --transport http altmetric https://mcp.altmetric.com/mcp
然后在 Claude Code 中运行 /mcp,选择 altmetric 并完成身份验证——浏览器窗口会打开供你登录。
Cursor
添加到 ~/.cursor/mcp.json(全局)或 .cursor/mcp.json(每个项目):
{
"mcpServers": {
"Altmetric": {
"url": "https://mcp.altmetric.com/mcp"
}
}
}
首次使用该服务时,Cursor 会在浏览器中启动登录流程。
VS Code(GitHub Copilot)
添加到 .vscode/mcp.json(VS Code 1.101 或更高版本):
{
"servers": {
"Altmetric": {
"type": "http",
"url": "https://mcp.altmetric.com/mcp"
}
}
}
打开命令面板,运行 MCP: List Servers,选择 Altmetric 并启动;在提示时登录。
ChatGPT
打开设置 → 连接器 → 高级并启用开发者模式,然后依次打开设置 → 连接器 → 添加自定义连接器,输入 https://mcp.altmetric.com/mcp 并完成 OAuth 登录。需要付费套餐(Plus、Pro、Business、Enterprise 或 Edu);免费套餐不提供自定义连接器。所有 Altmetric 工具均为只读,因此 Plus/Pro 套餐的只读限制不会影响这些工具。
其他 MCP 客户端
任何支持带 OAuth 的 Streamable HTTP 传输方式的客户端都可以连接。将其指向 https://mcp.altmetric.com/mcp。首次请求时,服务会返回 401,并附带指向发现文档(/.well-known/oauth-protected-resource)的 WWW-Authenticate 标头,客户端会据此自动通过 Altmetric Explorer 运行 OAuth 流程。
登录方式
托管服务是一个 OAuth 2.1 资源服务。客户端会从 Altmetric Explorer(授权服务)获取 mcp 范围的承载令牌。服务会用该令牌查询你账户的权限,并代表你调用 Altmetric API——你的承载令牌绝不会被转发到这些 API。公布的工具集会根据你的权限显示,因此你只能看到自己有权使用的产品对应的工具。
示例提示词
连接后,用自然语言提问——客户端会选择相应的工具。以下每条提示词都会使用不同的工具:
| 提示词 | 使用的工具 | 所需权限 |
|---|---|---|
| “DOI 10.1038/nature12373 的 Altmetric 关注度评分是多少?其中有多少来自新闻,多少来自政策?” | get_citation_counts | Details Page,免费层级 |
| “过去一个月有哪些研究成果被政策文件引用?” | search_citations | Details Page,免费层级 |
| “显示我所在机构 2025 年获得新闻报道的研究成果,并按关注度排序。” | explore_research_outputs | Explorer,机构权限 |
| “过去一年中,关注我们癌症研究的受众来自哪些国家?” | explore_demographics | Explorer,机构权限 |
你只能看到账户有权使用的工具,因此 Explorer 提示词需要机构权限。完整工具集见下文的工具。
数据来源和许可
每个工具都会调用 Altmetric 自有的 API——Details Page API 和 Explorer API,它们都是 Altmetric(Digital Science)的第一方服务。服务不会代理第三方 API,也不持有任何第三方数据。
这些 API 返回的数据包含根据 Altmetric 与第三方平台签订的协议所收集的关注度信息,其中有一项协议会影响返回的数据。根据 Altmetric 与 X(原 Twitter)的许可协议,来自 X 的提及仅包含数字标识符:任何权限层级、任何一个 API 都不会返回账户用户名、显示名称或帖子文本。可获取数量、ID 和汇总人口统计数据,但无法获取具名账户。请参阅 X 提及和 Altmetric API 中的 X 数据。
其他所有来源——新闻媒体、博客、Bluesky、Reddit、播客、政策文件、专利——都会返回具名信息。
使用自己的 API 密钥在本地运行
更倾向于自行运行服务——离线使用或直接管理 API 密钥?通过 npx 以 stdio 方式运行。
前置条件
- Node.js 20.6.0 或更高版本——建议使用仍受积极支持的 LTS 版本(下载)
- Altmetric API 凭据(至少需要一种,建议两种都准备——参见上文的所需权限):
- Details Page API 密钥——免费层级或商业权限
- Explorer API 密钥 + 密钥——机构权限
还没有密钥?申请 API 访问权限
快速安装(macOS 上的 Claude Desktop)
在终端中运行引导式安装程序——它会检查 Node.js、提示输入 API 密钥,并自动配置 Claude Desktop:
bash <(curl -fsSL https://raw.githubusercontent.com/altmetric/altmetric-mcp/main/install.sh)
或者,如果你已克隆此仓库:
bash install.sh
更倾向于手动设置?请参阅下方针对各客户端的说明。
手动配置
配置 MCP 客户端,使用 npx 运行服务。仅包含你有权使用的 API 凭据。
{
"type": "stdio",
"command": "npx",
"args": ["-y", "altmetric-mcp"],
"env": {
"ALTMETRIC_DETAILS_API_KEY": "your_details_api_key_here",
"ALTMETRIC_EXPLORER_API_KEY": "your_explorer_api_key_here",
"ALTMETRIC_EXPLORER_API_SECRET": "your_explorer_api_secret_here"
}
}
Claude Desktop
-
打开以下配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
在 macOS 上,你可以从终端打开该文件:
mkdir -p ~/Library/Application\ Support/Claude && open -a TextEdit ~/Library/Application\ Support/Claude/claude_desktop_config.json - macOS:
-
添加 Altmetric MCP 服务。如果文件为空,请粘贴以下内容(将占位密钥替换为你自己的密钥,并删除你没有的密钥):
{ "mcpServers": { "Altmetric": { "type": "stdio", "command": "npx", "args": ["-y", "altmetric-mcp"], "env": { "ALTMETRIC_DETAILS_API_KEY": "your_details_api_key_here", "ALTMETRIC_EXPLORER_API_KEY": "your_explorer_api_key_here", "ALTMETRIC_EXPLORER_API_SECRET": "your_explorer_api_secret_here" } } } }如果文件已有内容,请在现有的
"mcpServers"块中添加"Altmetric": { ... },并用逗号与其他条目分隔。 -
保存文件并重启 Claude Desktop(按 Cmd+Q 退出,然后重新打开)。
-
通过询问 Claude 来验证:“使用 Altmetric 工具查询 DOI 10.1038/nature12373 的关注度评分”
Claude Code
直接从命令行安装:
claude mcp add --transport stdio altmetric-mcp \
--env ALTMETRIC_DETAILS_API_KEY=your_details_api_key_here \
--env ALTMETRIC_EXPLORER_API_KEY=your_explorer_api_key_here \
--env ALTMETRIC_EXPLORER_API_SECRET=your_explorer_api_secret_here \
-- npx -y altmetric-mcp
VS Code (GitHub Copilot)
添加到项目的 .vscode/mcp.json:
{
"servers": {
"Altmetric": {
"type": "stdio",
"command": "npx",
"args": ["-y", "altmetric-mcp"],
"env": {
"ALTMETRIC_DETAILS_API_KEY": "your_details_api_key_here",
"ALTMETRIC_EXPLORER_API_KEY": "your_explorer_api_key_here",
"ALTMETRIC_EXPLORER_API_SECRET": "your_explorer_api_secret_here"
}
}
}
}
重新加载 VS Code 以应用更改。了解更多信息。
Cursor
添加到 ~/.cursor/mcp.json:
{
"mcpServers": {
"Altmetric": {
"type": "stdio",
"command": "npx",
"args": ["-y", "altmetric-mcp"],
"env": {
"ALTMETRIC_DETAILS_API_KEY": "your_details_api_key_here",
"ALTMETRIC_EXPLORER_API_KEY": "your_explorer_api_key_here",
"ALTMETRIC_EXPLORER_API_SECRET": "your_explorer_api_secret_here"
}
}
}
}
其他 MCP 客户端
任何支持 stdio 传输的 MCP 兼容客户端都可以使用此服务。使用上述通用配置,并根据客户端的配置格式进行调整。命令始终为 npx,参数为 ["-y", "altmetric-mcp"],并附上 API 密钥对应的环境变量。
安全部署本地服务
本地服务作为 MCP 宿主(Claude Desktop、Claude Code 等)的子进程运行。将其接入敏感工作流之前,有几点值得了解。
服务的行为
- 通过出站 HTTPS 向两个 Altmetric HTTP API 提供只读代理。唯一的例外是对 Explorer identifier_lists 端点执行幂等的
POST(创建或查找),在内部用于将 Explorer 查询限定到给定的一组标识符;它不会创建用户可见的状态,也不会执行破坏性操作。 - 没有入站网络暴露面;不执行破坏性操作。
- 将上游文本视为不可信内容:扫描提示词注入标记,在面向大模型的摘要中隐藏可疑匹配项,并仅通过
structuredContent提供原始值。
你应采取的措施
- 通过 MCP 宿主的
env块设置 API 密钥,不要使用已提交的.env文件。密钥会出现在 URL 查询字符串中;请将其视为等同于持有者凭据的敏感信息。 - 如果宿主支持,请使用较低权限运行。 此服务只需要通过出站 HTTPS 连接
api.altmetric.com和www.altmetric.com。如果宿主或容器运行时支持,请禁止对$TMPDIR以外的文件系统进行写入,并禁止其他网络出站流量。 - 考虑设置出站流量允许列表(正向代理 / DLP)。 如果你在处理敏感数据的环境中使用此服务,请通过只允许访问两个 Altmetric 主机的代理路由出站流量。此服务无需与其他主机通信。
- 遵守数据分类区要求。 此服务会将工具参数原样转发给第三方。如果提示词包含受限或受监管的数据,这些数据就会离开你的边界。
已为你实施的防护
- 确保出站 URL 使用
https:。 - 将上游响应限制为 20 MB 和 60 s。
- 将传入工具参数限制为总计 8 MB/每个字符串 64 KB。
- 在调用上游之前,在客户端验证筛选值(日期格式、长度、分页范围)。
- 上游错误正文仅按 SHA-256 前缀记录到 stderr,不会原样记录。
有关漏洞报告和支持的版本,请参阅 SECURITY.md。
故障排除
| 问题 | 解决方案 |
|---|---|
| 登录窗口未打开 /“需要身份验证”(托管) | 你的客户端必须支持通过 OAuth 使用 HTTP 远程 MCP。在 Claude Code 中运行 /mcp 并进行身份验证;在 Claude Desktop 中使用连接器的 Connect 按钮。确保浏览器启动未被阻止。 |
| 已登录,但缺少某些工具(托管) | 你只能看到 Altmetric 账户有权访问的产品对应的工具(Explorer、Details Page,或两者)。如果你认为应该有更多工具,请联系 Altmetric 账户管理员。 |
command not found: node(本地) | 未安装 Node.js。在此处下载(版本 20.6.0 或更高版本)。 |
| 编辑配置后 Claude Desktop 无法启动(本地) | JSON 文件存在语法错误。检查是否缺少逗号、括号不匹配或有多余的尾随逗号。将其粘贴到 jsonlint.com 进行验证。 |
| “MCP server failed to start”(本地) | 在终端中运行 npx -y altmetric-mcp,查看实际错误。通常是 API 密钥缺失或无效,或 Node.js 版本过旧。 |
| 工具显示正常,但返回 403 错误 | 你使用的是免费层级密钥,却调用了商业层级工具(get_citation_details)。请改用 get_citation_counts 或 search_citations。 |
| 首次查询速度较慢(本地) | 这是正常情况。npx 会在首次运行时下载软件包。之后使用会更快。 |
| Explorer 工具失败(本地) | Explorer 工具需要同时设置 ALTMETRIC_EXPLORER_API_KEY 和 ALTMETRIC_EXPLORER_API_SECRET。请确保两者均已设置。 |
API 层级
Details Page API
- 免费层级: 可使用
get_citation_counts和search_citations - 商业层级: 可使用所有 Details Page 工具,包括
get_citation_details
如果你尝试使用免费 API 密钥调用 get_citation_details,将收到 403 错误。
Explorer API
- 仅限机构访问: 所有 Explorer API 工具都需要机构凭据
- 可访问整个 Altmetric 数据库中的研究成果和关注度数据
- 集成了数据的组织还可以单独访问其自身的机构研究成果
- 支持按作者、院系、期刊和自定义组织元数据进行高级筛选
工具
此服务通过两个 API 提供 12 种工具:
| 工具 | API | 层级 | 描述 |
|---|---|---|---|
get_citation_counts | 详情页 | 免费 | 按标识符(DOI、PubMed ID 等)查询关注度指标 |
get_citation_details | 详情页 | 商业版 | 完整的提及文本、作者详情(包括 Dimensions Researcher ID)和元数据 |
search_citations | 详情页 | 免费 | 按时间范围搜索所有成果的关注度数据 |
get_batch_attention_data | 详情页 | 商业版 | 一次查询多个 DOI 的关注度指标并进行排名 |
translate_identifiers | 详情页 | 商业版 | 将标识符(DOI、PMID 等)转换为 Altmetric ID |
explore_research_outputs | Explorer | 机构版 | 搜索和筛选研究成果 |
explore_attention_summary | Explorer | 机构版 | 按来源和日期汇总关注度指标 |
explore_mentions | Explorer | 机构版 | 筛选单条提及的详情 |
explore_demographics | Explorer | 机构版 | 受众地理分布和人口统计数据 |
explore_mention_sources | Explorer | 机构版 | 分析提及的来源和媒体渠道 |
explore_journals | Explorer | 机构版 | 期刊指标、排名和搜索 |
list_departments | Explorer | 机构版 | 列出你所在机构的院系及其 ID |
所有 Explorer 工具还支持 researcher_id 和 grant_id 筛选条件(Dimensions ID),以及用于将查询范围限定为原始学术标识符列表的 identifiers 参数;服务会为你构建相应的标识符列表。Explorer 响应还包含情感数据(研究成果中的 sentiment-analysis-totals,以及 X/Bluesky 提及中的 sentiment-analysis)。
详细参数和示例请参阅 TOOLS.md。
API 文档
- 详情页 API: https://docs.altmetric.com/details-page-api/
- Explorer API: https://docs.altmetric.com/explorer-api/
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。