openalex
Provides tools to search and retrieve data about scholarly works from OpenAlex.
claude mcp add --transport stdio davidencrypted-openalex-mcp-server uv --directory /YOUR/INSTALL/DIRECTORY/openalex-mcp-server run server.py \ --env OPENALEX_EMAIL="your.email@example.com"
How to use
This MCP server provides a set of tools to interact with the OpenAlex scholarly works database via the MCP protocol. The server exposes five tools: search_works, get_work_details, get_referenced_works, get_citing_works, and get_work_ngrams. You can use these tools through an MCP client to query for papers by keywords, fetch detailed metadata for a specific work, retrieve the references a work cites, find works that cite a given paper, and obtain N-gram information for a work's full text when available. Keep in mind that OpenAlex generally does not store full text due to copyright, so full-text search is limited to title and abstract per OpenAlex capabilities. To use the tools, configure the openalex MCP server in your client (e.g., Claude integration) and call the desired tool with the required parameters as shown in the README examples.
How to install
Prerequisites: Python and the uvx CLI installed, and access to a machine where you can run the server.
-
Clone the repository (optional): git clone <repository-url> cd openalex-mcp-server
-
Create and activate a Python virtual environment, then install dependencies: uv venv source .venv/bin/activate
uv pip install . This installs the server package along with its dependencies (mcp[cli], pyalex).
-
Run the server locally (development): uv --directory /YOUR/INSTALL/DIRECTORY/openalex-mcp-server run server.py
-
Set up the OpenAlex email for polite pool usage (optional but recommended): export OPENALEX_EMAIL="your.email@example.com"
Additional notes
Tips and considerations:
- To maximize throughput, set OPENALEX_EMAIL to enable the faster OpenAlex polite pool; without it, the server will use the anonymous pool with stricter rate limits.
- When configuring MCP client integrations, ensure the environment variable OPENALEX_EMAIL is present in the client configuration if you rely on the polite pool.
- The get_work_ngrams endpoint provides N-gram data only if available; many works will not have N-gram data.
- If you experience timeouts or rate limiting, consider adjusting the client timeout (e.g., 60s) and respecting OpenAlex rate limits by using filters and pagination thoughtfully.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP