ScholarScope MCP
ScholarScope MCP is an academic research server that provides comprehensive access to scholarly literature and research data through the OpenAlex API.
Core Capabilities:
Search academic papers by keywords with customizable search fields (default, title, or title+abstract), filtering by institution or author ID, and sorting by relevance, citation count, or publication date
Search authors by name with filtering by institution affiliation and sorting by relevance or citation count
Search institutions by name with relevance and citation-based sorting
Retrieve all papers by a specific author using their OpenAlex Author ID, sorted by citations or publication date
Citation and relationship analysis - find works citing a paper (forward citations), works referenced by a paper (backward citations), and related works
Fetch full-text content of papers from preferred full-text URLs using Jina AI integration, with access to open-access and publicly available content
Access comprehensive metadata including paper IDs, titles, authors, institution affiliations, publication dates, and citation counts
Pagination support across all search functions for browsing large result sets efficiently
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., "@ScholarScope MCP find recent papers about large language models in education"
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.
ScholarScope MCP
Academic MCP Server
About
The ScholarScope MCP Server is a custom Model Context Protocol server built with FastMCP for powerful academic research tasks.
It integrates with the OpenAlex API to search for papers, authors, institutions, retrieve citations, and even fetch full text using Jina where available.
๐ Perfect for building intelligent research assistants that can:
Search academic literature by keywords, author, or institution
Explore related works and citations
Retrieve full-text papers directly when possible
Related MCP server: OpenAlex MCP Server
๐ Installation
Clone the repository
git clone https://github.com/ErikNguyen20/ScholarScope-MCP.git cd ScholarScope-MCPInstall uv (if you don't already have it)
pip install uvInstall dependencies
uv syncSet up environment variables
Create a.envfile in the project root:OPENALEX_MAILTO=your_email@example.com
๐งช Run with MCP Inspector
You can use the official MCP Inspector to test your server locally:
npx @modelcontextprotocol/inspector uv run \
--directory "/path/to/mcp_server" \
--with fastmcp \
fastmcp run src/server.py[!Note] Replace
/path/to/mcp_serverwith the path to your local project root.
๐ฌ Connect to Claude Desktop
Open your Claude Desktop configuration file (usually
claude_desktop_config.json).Add your MCP server configuration:
{
"mcpServers": {
"Tool Example": {
"command": "uv",
"args": [
"run",
"--directory", "/path/to/mcp_server",
"fastmcp",
"run",
"src/server.py"
]
}
}
}[!Note] Ensure the
/path/to/mcp_servermatches your local directory structure.
Restart Claude Desktop after updating the config.
๐งญ Features
๐ Search papers by keyword, title, author, or institution
๐ Sort results by relevance, citations, or publication date
๐ Retrieve related works and citations for any paper
๐ Fetch full text from preferred sources when available
โก Built with FastMCP for fast startup and modular tools
Available Tools
8 toolsfetch_fulltextARead-onlyIdempotent
Retrieves the contents of a paper or work from its preferred full-text URL and returns the response body as plain text.
Note: In some cases, the target content may be paywalled, require authentication, or otherwise restrict access. In such situations, the returned output may consist of partial content, metadata, or an access notice rather than the complete text.
Args: preferred_fulltext_url: Preferred full-text URL of the paper or work.
Returns: Plaintext representation of the retrieved content. This may be the complete text, or a limited excerpt if access to the full resource is restricted.
Inputs: preferred_fulltext_url (required). Returns: result
papers_by_authorB
Searches for academic papers by a particular author using the OpenAlex API.
Args: author_id: An OpenAlex Author ID of target author. e.g., "https://openalex.org/A123456789" sort_by: The sorting criteria ("cited_by_count", or "publication_date"). page: The page number of the results to retrieve (default: 1).
Returns: A JSON object containing a list of papers+ids by the specified author, or an error message if the search fails.
Inputs: author_id (required), sort_by, page. Returns: data, page, has_next, per_page, +1 more
referenced_works_in_paperA
Gets referenced works used in the specified paper using the OpenAlex API. Note: May return empty if the paper's full text is inaccessible.
Args: paper_id: An OpenAlex Work ID of the target paper. e.g., "https://openalex.org/W123456789"
Returns: A JSON object containing a list of paper ids used in the work, or an error message if the fetch fails.
Inputs: paper_id (required). Returns: data, count
search_authorsB
Searches for authors using the OpenAlex API.
Args: query: The search name to look for the authors. sort_by: The sorting criteria ("relevance_score" or "cited_by_count"). institution_id: An optional institution id to filter search results. e.g., "https://openalex.org/I123456789" page: The page number of the results to retrieve (default: 1).
Returns: A JSON object containing a list of authors+ids, or an error message if the search fails.
Inputs: query (required), sort_by, institution_id, page. Returns: data, page, has_next, per_page, +1 more
search_institutionsC
Searches for institutions using the OpenAlex API.
Args: query: The search name to look for the institutions. sort_by: The sorting criteria ("relevance_score" or "cited_by_count"). page: The page number of the results to retrieve (default: 1).
Returns: A JSON object containing a list of institutions+ids, or an error message if the search fails.
Inputs: query (required), sort_by, page. Returns: data, page, has_next, per_page, +1 more
search_papersB
Searches for academic papers using the OpenAlex API.
Args: query: The search term or keywords to look for in the papers. search_by: The field to search in ("default", "title", or "title_and_abstract"). sort_by: The sorting criteria ("relevance_score", "cited_by_count", or "publication_date"). institution_name: An optional institution or affiliation name to filter search results. author_id: An optional OpenAlex Author ID to filter search results. e.g., "https://openalex.org/A123456789" page: The page number of the results to retrieve (default: 1).
Returns: A JSON object containing a list of searched papers+ids, or an error message if the search fails.
Inputs: query (required), search_by, sort_by, institution_name, +2 more. Returns: data, page, has_next, per_page, +1 more
works_citing_paperA
Retrieves works that cite a given paper from the OpenAlex API.
Args: paper_id: An OpenAlex Work ID of target paper. e.g., "https://openalex.org/W123456789" sort_by: The sorting criteria ("cited_by_count", or "publication_date"). page: The page number of the results to retrieve (default: 1).
Returns: A JSON object containing a list of papers+ids citing the specific paper, or an error message if the retrieval fails.
Inputs: paper_id (required), sort_by, page. Returns: data, page, has_next, per_page, +1 more
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogโฆ
TDQS
Scored across 8 tools
Each tool has a clearly distinct purpose with no ambiguity. The tools cover different aspects of academic research: fetching full text, searching for papers/authors/institutions, getting author papers, and analyzing paper relationships (references, related works, citations). There is no overlap in functionality.
All tools follow a consistent verb_noun pattern with snake_case throughout. The naming is predictable and readable: fetch_fulltext, papers_by_author, referenced_works_in_paper, related_works_of_paper, search_authors, search_institutions, search_papers, works_citing_paper.
With 8 tools, this is well-scoped for an academic research server. Each tool earns its place by covering essential operations: searching across different entity types, fetching content, and analyzing paper relationships. The count is neither too thin nor too heavy for the domain.
The tool surface provides excellent coverage for academic research workflows: searching, fetching, and relationship analysis. Minor gaps exist, such as no direct tools for updating metadata or managing user collections, but agents can accomplish core research tasks effectively with the provided tools.
Maintenance
Related MCP Connectors
Search 250M+ academic works, citation graphs, DOIs, and institutional research via OpenAlex.
Academic literature search, retrieval, and private library management on top of OpenAlex.
OpenAlex academic papers, authors and citations search via the official API. Runs on Apify.
Access the OpenAlex academic research catalog โ 270M+ publications.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables streamlined academic research and author disambiguation by providing AI agents with optimized access to the OpenAlex.org API. It supports searching for authors, resolving institutional affiliations, and retrieving scholarly works with detailed citation metrics.857MIT
- FlicenseNot gradedqualityDmaintenanceProvides academic research tools via the OpenAlex API, enabling searches for papers, authors, concepts, institutions, and citation analysis.-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search and analyze OpenAlex scholarly database for OSINT research, including works, authors, institutions, funding, citations, and collaboration networks.MIT
- AlicenseAqualityCmaintenanceConnects AI agents to the OpenAlex scholarly database, enabling search and retrieval of works, authors, institutions, and sources via natural language.9MIT