mcp-openalex
Enables fetching work metadata by DOI.
Supports Elasticsearch syntax for advanced work queries via OpenAlex.
Allows searching and fetching authors by ORCID.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-openalex search for papers on transformer models published in 2023"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-openalex
MCP server for the OpenAlex scholarly database. Gives AI agents tools to search and retrieve academic works, authors, and institutions.
Requirements
Python >= 3.12
OpenAlex API key (get one for free)
Related MCP server: academic-search-mcp
Installation
git clone https://github.com/ELumya/openalex-mcp.git
cd openalex-mcp
uv syncConfiguration
Copy the example env file and set your API key:
cp .env.example .env
# edit .env and set OPENALEX_API_KEY=your-key-hereRunning
STDIO (default — for local MCP clients):
uv run fastmcp run src/server.pyHTTP transport:
MCP_TRANSPORT=http MCP_HOST=127.0.0.1 MCP_PORT=8000 uv run fastmcp run src/server.pyMCP Tools
Tool | Description |
| Search works with filters (institution, year, date range, type, peer-reviewed) |
| Find works similar to a text using AI semantic search (matches by meaning) |
| Fetch full work metadata by OpenAlex ID or DOI — optionally extract PDF or request an LLM summary |
| Search author profiles by name or ORCID |
| Fetch full author profile by OpenAlex ID or ORCID |
| List all publications by a specific author |
| Search institutions by name, country, or type |
| Fetch full institution profile by OpenAlex ID or ROR |
Architecture
See ARCHITECTURE.md for system overview, module dependency graph, and tool flow diagrams.
TODOs
Add tests
Add CI/CD
Use cache for high rate requests
Scan code base for dead code
Add mermaid documentation
Unify concepts names (ie. Articles/Works)
Two levels of formating details in
filter: low (current one), medium (forfetch_*tools)
Tools Evolutions
Test OpenAlex support of Elasticsearch: YES!
Update work search tools descriptions, add: "Elasticsearch syntax"
Update tools descriptions, do not explain how it works but what you need to pass.
Update Author search tool, remove IDs handling (use
fetch_authorfor this)
in format_work_result add:
first 3 Authors
Primary topic classification
in _process_fulltext in fetch_work
Remove pure PDF handling, auto-detect format based on prompt presence (if prompt provided → LLM summary, else → markdown)
Use proper sampling parameters
Search
Semantic search, added as a new tool but can easily be integrated to work_search, we perform modifications at filters
build_works_query.Search by topics
Search foundational works
Citation
graph_work_citations
Authors
get_author_works: parameter
authorreplaced byauthor_id; accepts only OpenAlex ID or ORCID.graph_collaborations
Institutions
graph_colaborations
Global analysis tools
OpenAlex Topic comparaison
Geographical Region comparaison
Institutions comparaison
Trend deep analysis
License
Available Tools
8 toolsfetch_authorARead-only
Fetch full author profile including topics and institutions.
Inputs: author_id (required). Returns: object
fetch_institutionARead-only
Fetch full institution profile.
Inputs: institution_id (required). Returns: object
fetch_workARead-only
Fetch complete metadata for one work. Set fulltext=True to retrieve the open-access PDF as markdown, or pass a prompt to get an LLM summary instead.
Inputs: work_id (required), include_abstract, fulltext, prompt. Returns: object
get_author_worksARead-only
List all works by a given author.
Inputs: author_id (required), limit, page, sort. Returns: object
search_authorsARead-only
Search author profiles by name, optionally filtered by institution.
Inputs: query_string (required), institution, limit, page, +2 more. Returns: object
search_institutionsARead-only
Search institutions by name, optionally filtered by country or type.
Inputs: query_string (required), country_code, institution_type, limit, +2 more. Returns: object
search_worksARead-only
Search works in OpenAlex by keyword, filtered by institution, date, type, and more.
Inputs: query_string (required), institution, publication_year, from_date, +7 more. Returns: object
semantic_search_worksARead-only
Find works similar to a given text using AI-powered semantic search. Searches by meaning rather than exact keyword match.
Inputs: query_string (required), institution, publication_year, from_date, +6 more. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Every tool has a clearly distinct purpose: fetching profiles, searching by name/keyword/semantic, and listing works. No overlap or ambiguity.
All tool names follow a consistent verb_noun pattern using snake_case (e.g., fetch_author, search_works, semantic_search_works). Perfectly predictable.
8 tools is well-scoped for a scholarly database API, covering fetching, searching, and listing without unnecessary bloat.
Core operations are covered: fetching authors, institutions, works; searching with filters; and semantic search. Minor gaps like missing get_institution_works or concept endpoints are acceptable given the scope.
Maintenance
Related MCP Connectors
OpenAlex MCP — wraps the OpenAlex API (scholarly works, free, no auth)
Hosted MCP server for live public-data APIs and Skills for AI agents.
One MCP server for all web data. Scrape, search, crawl, and AI research in one install.
Rivul is a free, read-only remote MCP server for searching scholarly literature. It runs semantic search over more than 300 million paper records from a dated OpenAlex snapshot, so an agent can find papers by meaning rather than exact keywords, then open the full record for any result. Tools: - search_papers: semantic search with optional filters for publication year range, minimum citation count, open access only, topic and field. Sort by relevance, most cited, newest or oldest. - get_paper_details: the full record for one work by its OpenAlex ID: title, every author, venue, work type, topic, field, publication date, citation count, DOI and open-access links. - usage_status: the workspace's MCP usage for the current day. Results come only from the index, never from a model. Each result carries a stable OpenAlex ID so the source can be checked, and every response states the snapshot date. Useful for literature reviews, scoping reviews, finding highly cited or open-access papers on a topic, citation chasing, and checking that a cited paper exists. Free for every account, with no plans or payment. Sign in with Google through OAuth 2.1 (PKCE, dynamic client registration), or use an MCP key from rivul.ai. Endpoint: https://rivul.ai/mcp (Streamable HTTP). Setup and docs: https://rivul.ai/features/atlas
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server enabling AI agents to search and retrieve scientific papers, citations, and author profiles from Crossref, OpenAlex, and Semantic Scholar with no API keys required.523 PyPI3MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for academic research using the OpenAlex API, enabling article search, details retrieval, and author profile lookup.-
- AlicenseNot gradedqualityCmaintenanceAn MCP server for searching and exploring OpenAlex's index of 250M+ scholarly works, authors, institutions, journals, funders, and grants through Claude.92 npm1MIT
- AlicenseAqualityDmaintenanceUnified MCP server for scientific literature search and extraction, integrating databases like Scopus, OpenAlex, Semantic Scholar, and Unpaywall to enable AI agents to discover papers, track citations, and analyze content.27MIT