OpenAlex Paper Search MCP Server

by yourusername

A Model Context Protocol (MCP) server that provides comprehensive access to the OpenAlex academic database. Requires setting environment variables OPENALEX_EMAIL (recommended) and optionally OPENALEX_API_KEY for API access.

Education & sciencestdioCommunity

Repository-wide counts · Cached 2025-11-01

Overview

The OpenAlex Paper Search MCP Server MCP server is a publicly available project. Review the upstream repository for installation instructions, supported tools, compatibility, permissions, and current maintenance status.

Configuration

Configuration, transport, authentication, and runtime requirements vary by project. Open the repository before connecting and use the smallest set of credentials and permissions required.

Open the OpenAlex Paper Search MCP Server repository to read the latest documentation.

KEEP EXPLORING

Compare source, connection, and authentication details before choosing an implementation.

View the complete category

Deep Research

u14app

Community

Deep Research 使用强大的 AI 模型快速生成深入的研究报告。支持 SSE API 和 MCP 服务器。需要在 .env 文件中配置环境变量以设置服务器端的 API 密钥和相关参数。

TorchLeet

Exorust

Community

TorchLeet provides 68 PyTorch problems from real ML/AI interviews at companies like Google, Meta, and Anthropic. It includes an AI Tutor MCP server that gives AI assistants access to problems, hints, prep plans, and learning paths with a no-spoilers teaching style.

Zotero MCP

54yyyu

Community

用于 Zotero 的模型上下文协议(MCP)服务器,将您的 Zotero 研究库与 Claude 及其他 AI 助手连接。支持本地和 Web API 访问、PDF 注释提取以及高级搜索功能。完整本地 API 功能需要 Python 3.10 及 Zotero 7 以上版本。配置可以通过环境变量或 JSON 配置文件进行设置。

mcp-brasil

mcp-brasil

Community

MCP Server for 70 Brazilian public data sources covering economy, legislation, transparency, judiciary, elections, environment, health, education, public security, and more. Some APIs require optional API keys configured via environment variables (e.g., TRANSPARENCIA_API_KEY, DATAJUD_API_KEY, META_ACCESS_TOKEN).

FROM THE SOURCE

Repository README

Build-time snapshot · Retrieved 2026-10-05

View original

OpenAlex Paper Search MCP Server

A Model Context Protocol (MCP) server that provides comprehensive access to the OpenAlex academic database. Search and retrieve academic papers, authors, institutions, and more with advanced filtering capabilities.

Features

  • 🔍 Comprehensive Search: Search across hundreds of millions of academic works
  • 🎯 Advanced Filtering: Filter by date, open access status, citations, country, language, and more
  • 📊 Rich Metadata: Get detailed information including abstracts, citations, topics, and full bibliographic data
  • 🚀 High Performance: Optimized for fast responses with proper API configuration
  • 🐳 Docker Ready: Easy deployment with Docker and Docker Compose
  • 🔧 MCP Compatible: Works with any MCP-compatible client

Quick Start

Installation

# Clone the repository
git clone https://github.com/LeoGitGuy/alex-paper-search-mcp.git
cd openalex-mcp-server

# Install dependencies
pip install -e .

# Set your email for better API performance (optional but recommended)
export OPENALEX_EMAIL="[email protected]"

# Run the server
python -m openalex_mcp.server

Docker Setup

# Copy environment template
cp .env.example .env

# Edit .env to set your email
echo "[email protected]" > .env

# Run with Docker Compose
docker-compose up -d

Claude Desktop Integration

To use this MCP server with Claude Desktop, add this configuration to your Claude Desktop config file:

Mac: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "openalex_paper_search": {
      "command": "python",
      "args": [
        "-m",
        "openalex_mcp.server"
      ],
      "cwd": "/path/to/your/openalex-mcp-server",
      "env": {
        "OPENALEX_EMAIL": "[email protected]"
      }
    }
  }
}

Make sure to:

  1. Replace /path/to/your/openalex-mcp-server with the actual path to your cloned repository
  2. Replace [email protected] with your actual email address for better API performance
  3. Restart Claude Desktop after updating the configuration

Configuration

Environment Variables

Variable Required Description
OPENALEX_EMAIL Recommended Your email for OpenAlex polite pool access (faster response times)
OPENALEX_API_KEY Optional API key for authenticated requests (experimental feature)

Why Set an Email?

Setting OPENALEX_EMAIL gives you access to OpenAlex's "polite pool", which includes faster response times and higher rate limits

Available Tools

Core Search Functions

search_openalex

Main search function with full filtering capabilities:

# Basic search
search_openalex("machine learning", max_results=20)

# Advanced filtering
search_openalex(
    "neural networks", 
    max_results=15,
    from_publication_date="2020-01-01",
    is_oa=True,
    cited_by_count=">100",
    institution_country="us"
)
get_paper_by_id / get_paper_by_doi

Retrieve specific papers:

get_paper_by_id("W2741809807")
get_paper_by_doi("10.7717/peerj.4375")

Convenience Functions

search_open_access_papers

Find freely available research:

search_open_access_papers(
    "artificial intelligence",
    max_results=15,
    from_publication_date="2020-01-01"
)
search_recent_papers

Get the latest research:

search_recent_papers(
    "quantum computing",
    max_results=20,
    years_back=3,
    min_citations=10
)
search_by_institution

Find research from specific countries:

search_by_institution(
    "renewable energy",
    institution_country="de",  # Germany
    max_results=15
)

Filtering Options

Date Filters

  • from_publication_date: "YYYY-MM-DD" (published on or after)
  • to_publication_date: "YYYY-MM-DD" (published on or before)
  • publication_year: Integer (exact year)

Content Filters

  • is_oa: Boolean (open access only)
  • has_doi: Boolean (papers with DOI)
  • has_fulltext: Boolean (fulltext available)
  • has_abstract: Boolean (abstract available)
  • type: String ('article', 'book', 'dataset', etc.)

Quality Filters

  • cited_by_count: String (">50", "10-100", ">=5")
  • authors_count: String (">1", "1-5")
  • language: String ('en', 'zh', 'es', etc.)

Institution & Geographic Filters

  • institution_country: String ('us', 'gb', 'cn', 'de', etc.)
  • funder: String (funder name or ID)
  • journal: String (OpenAlex journal ID)

Text Search Filters

  • abstract_search: Search within abstracts
  • title_search: Search within titles
  • fulltext_search: Search within fulltext (where available)

Sorting Options

  • sort: 'cited_by_count', 'publication_date', 'relevance_score'
  • order: 'desc', 'asc'

Usage Examples

Find Highly Cited Recent Papers

search_openalex(
    "deep learning",
    max_results=10,
    from_publication_date="2023-01-01",
    cited_by_count=">100",
    sort="cited_by_count",
    order="desc"
)

Search Open Access Climate Research

search_open_access_papers(
    "climate change adaptation",
    max_results=20,
    from_publication_date="2020-01-01",
    type="article"
)

Find Papers by Abstract Content

search_openalex(
    "",  # Empty main query
    max_results=15,
    abstract_search="machine learning ethics",
    is_oa=True
)

Get Recent COVID Research from Multiple Countries

# US research
us_papers = search_by_institution("COVID-19", "us", 10, from_publication_date="2023-01-01")

# British research  
gb_papers = search_by_institution("COVID-19", "gb", 10, from_publication_date="2023-01-01")

Troubleshooting

Debug Mode

# Enable debug logging
export LOG_LEVEL=DEBUG
python -m openalex_mcp.server

Check Configuration

# Test your email configuration
from openalex_mcp.searcher import OpenAlexSearcher
searcher = OpenAlexSearcher(email="[email protected]")
papers = searcher.search("test", 1)
print(f"Found {len(papers)} papers")

License

MIT License - see LICENSE file for details.

Acknowledgments

  • OpenAlex for providing free access to academic data
  • PyAlex for the excellent Python library