Scholar MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| S2_API_KEY | No | Semantic Scholar API key for TLDRs and S2 graph access. | |
| CONTACT_EMAIL | Yes | Email for OpenAlex/Unpaywall polite-pool API routing. | |
| LIBGEN_MIRRORS | No | Comma-separated list of active Library Genesis mirrors. | |
| SCIHUB_MIRRORS | No | Comma-separated list of active Sci-Hub mirrors for PDF fallback. | |
| SCOPUS_API_KEY | Yes | Elsevier API key for Scopus search and author retrieval. | |
| SCOPUS_INST_TOKEN | No | Institutional token for full abstract access via Scopus. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_papers_toolA | Searches the Scopus library by accepting standard textual querying or advanced
Scopus Boolean Syntax (e.g. |
| get_paper_details_toolA | Get detailed metadata and the full abstract for a specific paper. If the paper_id looks like a Scopus ID (e.g., SCOPUS_ID:85123) or a DOI (10.xxx), it uses Scopus. Returns formatted detailed text. |
| get_full_text_toolA | Extracts full text from an Open Access PDF or HTML page given its URL. This is best used after finding an OA PDF link from search_papers_openalex. Use start_page/end_page (1-indexed) to extract only specific pages from long PDFs. Warning: This can return a very large string. |
| get_full_text_visual_toolA | Multimodal Vision Tool. Downloads a PDF and renders the specified number of pages identically into images for the AI to 'look at'. Use this if the user asks you to analyze a graph, table, format, or layout in the paper. If the text extractor doesn't capture formatting, you can use this tool to 'see' the actual PDF! Returns a sequence of texts and images (multimodal format natively parsed). Warning: High token/vision capacity used per page. Default 3 pages. |
| get_unpaywall_link_toolA | Checks the Unpaywall database using a DOI to find a legal Open Access PDF link. If found, returns the URL. If not, returns that it's behind a strict paywall. |
| get_citations_toolA | Tracks lineage by retrieving a paper's citations. Provide a DOI (10.xxx) or OpenAlex ID (Wxxx). Set direction="references" to see who this paper cites. Set direction="citations" to see who cited this paper recently. |
| autocomplete_authors_toolA | Rapidly autocomplete author names via OpenAlex to find the correct OpenAlex ID. Useful for disambiguation before tracking works. |
| search_authors_toolC | Search for deep author profiles via OpenAlex. Returns h-index, i10-index, and recent institutions. |
| retrieve_author_works_toolA | Retrieve chronologically sorted publications for an OpenAlex author ID. E.g., input 'W123456789' or 'https://openalex.org/A123456789'. |
| get_author_profile_scopus_toolA | Retrieve Elsevier Scopus Author Profile strictly using a Scopus Author ID (digits). Returns precise academic h-index and document metrics from Scopus. |
| search_titles_unpaywall_toolB | Natively search Unpaywall's database via paper titles. Set is_oa=True to strictly return Open Access results. |
| fetch_pdf_text_unpaywall_toolA | An all-in-one bypass. Takes a DOI, resolves its best PDF on Unpaywall, and directly downloads/extracts the text using PyMuPDF. |
| get_bibtex_toolA | Generate a BibTeX entry for a paper given its DOI. Uses CrossRef content negotiation to produce a properly formatted BibTeX string ready for use in LaTeX documents. |
| format_citation_toolA | Format a citation for a paper in a specific style. Supported styles: apa, ieee, chicago-author-date, harvard-cite-them-right, vancouver, modern-language-association, turabian-fullnote-bibliography. Uses CrossRef/DOI content negotiation for authoritative formatting. |
| get_related_works_toolA | Find related/similar papers for a given paper. Accepts a DOI (10.xxx) or OpenAlex ID (Wxxx). Uses OpenAlex's bibliographic coupling and co-citation analysis to find semantically related works. |
| batch_lookup_toolA | Batch-fetch metadata for multiple DOIs in a single call. Accepts a list of DOIs (up to 50). Returns title, authors, year, citation count, and OA status for each. Useful for processing reference lists or comparing multiple papers at once. |
| search_topics_toolA | Browse and discover research topics/concepts for a given keyword. Returns topic names, their parent fields, domains, and publication volume. Useful for mapping a research landscape, finding subfields, or identifying trending areas. |
| search_author_by_orcid_toolA | Look up an author directly by their ORCID identifier. Accepts raw ORCID (e.g. 0000-0002-9322-3515) or full URL (https://orcid.org/0000-0002-9322-3515). Returns the full author profile including h-index, works count, and affiliations. |
| search_papers_s2_toolB | Search papers using Semantic Scholar (S2). S2 provides excellent relevance sorting and AI-generated TLDRs on details. NOTE: S2 has a strict 1 request/second rate limit, so this tool may be slightly slower than OpenAlex or Scopus. |
| get_paper_details_s2_toolA | Get detailed metadata from Semantic Scholar, including the AI-generated TLDR. Accepts an S2 paper ID or a DOI (e.g., 10.1038/nrn3241). |
| get_author_profile_s2_toolA | Get author bibliometrics from Semantic Scholar using an S2 authorId. |
| get_scihub_link_toolB | Attempts to resolve a strict paywalled DOI to a free direct PDF link using Sci-Hub. |
| fetch_pdf_text_scihub_toolB | An all-in-one bypass that resolves a DOI via Sci-Hub and directly extracts its full text using PyMuPDF. |
| search_books_toolA | Search for books using either 'openlibrary' or 'googlebooks'. Returns a list of matching books with titles, authors, and year. |
| get_book_details_toolA | Get detailed metadata for a specific book. Provide the book_id (e.g., OL12345W or Google Volume ID) and the source ('openlibrary' or 'googlebooks'). |
| search_libgen_toolA | Search for books in Library Genesis (Libgen). Returns books with their 'md5' which can be used to extract the text. BEST PRACTICE: To know what a book is about before downloading, ALWAYS use 'search_books_tool' (Open Library/Google Books) FIRST to read its synopsis/description. Once you decide which book is best, use this tool to find its MD5 for text extraction. |
| interact_with_book_toolA | Extract text or interact with a book using its Libgen MD5 hash. action:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mlintangmz2765/Scholar-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server