学术数据库检索服务

MCP服务器为OpenAlex学术数据库提供支持,使AI代理能够搜索和检索学术文章、作者和机构信息。

  • by ELumya
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ELumya/openalex-mcp

使用说明

mcp openalex

MCP服务器 OpenAlex 学术数据库。为AI代理提供搜索和检索学术文章、作者和机构的工具。

需求

安装

git clone https://github.com/ELumya/openalex-mcp.git
cd openalex-mcp
uv sync

配置

复制示例env文件并设置API密钥:

cp .env.example .env
# edit .env and set OPENALEX_API_KEY=your-key-here

跑步

STDIO(默认值——适用于本地MCP客户端):

uv run fastmcp run src/server.py

HTTP传输:

MCP_TRANSPORT=http MCP_HOST=127.0.0.1 MCP_PORT=8000 uv run fastmcp run src/server.py

MCP工具

工具 说明
search_articles 使用过滤器搜索文章(机构、年份、日期范围、类型、同行评审)
fetch_article 通过OpenAlex ID或DOI获取完整的文章元数据——可以选择提取PDF或请求LLM摘要
search_authors 按姓名或ORCID搜索作者资料
fetch_author 通过OpenAlex ID或ORCID获取完整的作者资料
get_author_articles 列出特定作者的所有出版物
search_institutions 按名称、国家或类型搜索机构
fetch_institution 通过OpenAlex ID或ROR获取完整的机构简介

建筑

看 建筑.md 用于系统概述、模块依赖关系图和工具流程图。

全部

  • []添加测试
  • []添加CI/CD
  • []对高速率请求使用缓存
  • [x] 扫描代码库以查找死代码
  • [x] 添加美人鱼文档
  • []统一概念名称(即文章/作品)
  • [x] 中的两个层次的格式化细节 filter:低(当前值),中(适用于 fetch_* 工具)

工具演变

  • [x] 测试OpenAlex对Elasticsearch的支持:是!
  • [x] 更新工作搜索工具描述,添加:“Elasticsearch语法”
  • [x] 更新工具描述,不要解释它是如何工作的,而是你需要传递什么。
  • [x] 更新作者搜索工具,删除ID处理(使用 fetch_author 为此)

在 format_work_result 添加:

  • [x] 前3作者
  • [x] 主要主题分类

在 _进程全文 在 fetch_article

  • [x] 删除纯PDF处理,根据提示(如果提供提示)自动检测格式→ LLM总结,否则→ 降价)
  • []使用适当的采样参数(延迟)

搜索

  • []按主题搜索
  • []搜索基础作品

引用

  • []图形工作基准

作者

  • [x] 获取作者文章:参数 author 被替换为 author_id;只接受OpenAlex ID或ORCID。
  • []图表协作

机构

  • []图表_实验

全球分析工具

  • []OpenAlex主题比较
  • []地理区域比较
  • []机构比较
  • []趋势深度分析

许可证

麻省理工学院