mcpField
O
OpenAlex MCP Server

OpenAlex MCP Server

本地服务
github.com/reetp14搜索与检索569 周前更新

关于 OpenAlex MCP Server

这款 MCP 服务让研究人员和 AI Agent 查询 OpenAlex 开放学术目录。它支持实体搜索、检索、自动补全和文本分类,并可使用 OpenAlex 查询过滤与排序功能。

主要功能

  1. 01搜索学术作品、作者及研究实体
  2. 02筛选、排序、分页和聚合结果
  3. 03按 OpenAlex ID 获取实体
  4. 04跨实体类型自动补全
  5. 05将文本分类为研究概念

适用场景

  1. 01按主题、日期或引用量查找论文
  2. 02查找研究人员与机构
  3. 03按年份分析出版趋势
  4. 04根据标题和摘要推测研究概念

MCP 相关

将 OpenAlex API 的搜索与检索能力作为工具提供给 MCP 客户端,包括实体搜索、自动补全和文本分类。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

OpenAlex MCP Server

一个 Model Context Protocol(MCP)服务,可访问 OpenAlex API。OpenAlex 是一个完全开放的全球科研系统目录,涵盖超过 2.4 亿项学术成果。

功能

此 MCP 服务提供以下内容的搜索和检索工具:

  • 成果 - 学术论文、预印本、数据集、书籍(超过 2.4 亿项)
  • 作者 - 集成 ORCID 的研究人员和创作者
  • 来源 - 期刊、会议、知识库(约 25 万个刊源)
  • 机构 - 支持 ROR 匹配的大学、医院、实验室
  • 概念 - 分层研究主题(级别 0–5)
  • 出版商 - 出版组织
  • 资助方 - 提供资助的机构
  • 自动补全 - 跨所有实体类型的输入联想搜索
  • 文本分类 - 对任意文本进行概念预测

安装

通过 npm 安装(推荐)
npm install -g openalex-mcp
从源码安装
git clone https://github.com/reetp14/openalex-mcp.git
cd openalex-mcp
npm install
npm run build

使用方法

作为 MCP 服务

将以下内容添加到 MCP 客户端配置中:

{
  "mcpServers": {
    "openalex": {
      "command": "npx",
      "args": ["openalex-mcp"]
    }
  }
}

json



或者,如果已在本地安装:

{
  "mcpServers": {
    "openalex": {
      "command": "node",
      "args": ["./node_modules/openalex-mcp/build/index.js"]
    }
  }
}
可用工具
实体搜索工具

所有搜索工具均支持完整的 OpenAlex 查询语法:

  • search_works - 搜索学术成果
  • search_authors - 搜索研究人员和创作者
  • search_sources - 搜索期刊、会议、知识库
  • search_institutions - 搜索大学、医院、实验室
  • search_concepts - 搜索研究主题
  • search_publishers - 搜索出版组织
  • search_funders - 搜索提供资助的机构

常用参数:

  • search - 全文搜索查询
  • filter - 布尔筛选条件(例如,concept.id:C12345,from_publication_date:2022-01-01)
  • sort - 排序字段,可选添加 :desc(例如,cited_by_count:desc)
  • page/per_page - 标准分页(总计最多 10,000 条结果)
  • cursor - 深度分页(首次调用时使用 *)
  • group_by - 按字段进行分面/聚合
  • select - 以逗号分隔的返回字段
  • sample - 随机抽样数量,可选添加 seed
  • mailto - 用于提高速率限制的电子邮箱
单个实体检索
  • get_entity - 根据 OpenAlex ID 获取单个实体
    • entity_type - 以下类型之一:works、authors、sources、institutions、concepts、publishers、funders
    • openalex_id - OpenAlex ID(例如,W2741809807、A1969205038)
实用工具
  • autocomplete - 跨实体类型的输入联想搜索

    • search - 搜索查询(必填)
    • type - 要搜索的实体类型(可选)
    • per_page - 建议数量(最多 50 条)
  • classify_text - 根据文本预测研究概念

    • title - 要分类的标题文本
    • abstract - 要分类的摘要文本

示例

搜索 2023 年发表的 AI 论文
{
  "tool": "search_works",
  "arguments": {
    "search": "artificial intelligence",
    "filter": "from_publication_date:2023-01-01,to_publication_date:2023-12-31",
    "sort": "cited_by_count:desc",
    "per_page": 10,
    "mailto": "[email protected]"
  }
}
按机构查找作者
{
  "tool": "search_authors",
  "arguments": {
    "filter": "last_known_institution.id:I27837315",
    "sort": "works_count:desc",
    "select": "id,display_name,works_count,cited_by_count"
  }
}
按年份获取发表趋势
{
  "tool": "search_works",
  "arguments": {
    "filter": "concepts.id:C154945302",
    "group_by": "publication_year"
  }
}
自动补全期刊名称
{
  "tool": "autocomplete",
  "arguments": {
    "search": "nature",
    "type": "sources",
    "per_page": 5
  }
}
对研究文本进行分类
{
  "tool": "classify_text",
  "arguments": {
    "title": "Deep Learning for Medical Image Analysis",
    "abstract": "We present a novel approach using convolutional neural networks..."
  }
}

查询语法速查

筛选条件
  • 使用 , 连接表示 AND:concept.id:C12345,publication_year:2023
  • 使用 | 连接表示 OR:type:journal|type:repository
  • 使用 ! 取反:authors.id!A12345(排除作者)
  • 日期范围:from_publication_date:2020-01-01,to_publication_date:2023-12-31
排序
  • 升序:sort=publication_year
  • 降序:sort=cited_by_count:desc
  • 多字段排序:sort=publication_year:desc,cited_by_count:desc
分页
  • 标准分页:page=2&per_page=100(最多 10,000 条结果)
  • 深度分页:cursor=*(首次调用),之后使用返回的 next_cursor
速率限制
  • 匿名:每秒 10 次请求,每天 100,000 次
  • 使用 mailto:每秒 100 次请求,每天 1,000,000 次

API 响应格式

所有工具均返回标准的 OpenAlex JSON 信封:

{
  "meta": {
    "count": 249256387,
    "db_response_time_ms": 12,
    "page": 1,
    "per_page": 25,
    "next_cursor": "ZjEwMD..."
  },
  "results": [
    {
      /* entity object */
    }
  ]
}

开发

# Watch mode during development
npm run watch

# Test with MCP inspector
npm run inspector

# Run basic functionality test
node test-simple.js

环境配置

此服务支持通过环境变量进行配置。将 .env.example 复制为 .env 并进行配置:

cp .env.example .env
# Edit .env with your settings
环境变量
  • OPENALEX_BEARER_TOKEN:用于经过身份验证的 API 访问的 Bearer 令牌(可选)
  • OPENALEX_DEFAULT_EMAIL:未提供 mailto 参数时,用于速率限制的默认电子邮件地址

API 访问说明

  • 免费访问:OpenAlex API 免费开放
  • 速率限制:每秒 10 个请求(匿名)或每秒 100 个请求(使用 Bearer 令牌或 mailto)
  • 身份验证:自动从环境变量加载 Bearer 令牌
  • 响应大小:对于大型数据集,使用 select 参数限制响应大小

优化响应示例:

{
  "tool": "search_works",
  "arguments": {
    "search": "machine learning",
    "select": "id,display_name,publication_year,cited_by_count",
    "per_page": 10
  }
}

关于 OpenAlex

OpenAlex 是一个完全开放的全球研究体系目录,其名称源自古代亚历山大图书馆,由非营利组织 OurResearch 创建。它免费提供有关学术著作、作者、机构等的全面元数据。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。