Skip to main content
Glama
penny4nonsense

mcp-scholaris

# mcp-scholaris

An MCP server for retrieving academic papers from open access sources. Provides search across arXiv, Semantic Scholar, and PubMed, with full text retrieval via arXiv PDFs, PubMed Central (BioC API), and Unpaywall. No paywalls, no grey area — legitimate open access only.

Installation

pip install mcp-scholaris

Related MCP server: Academic MCP

Tools

search_papers

Search for academic papers by topic, author, or keyword.

Parameters:

  • query (required) — search terms

  • sources (optional) — list of sources to search: arxiv, semantic_scholar, pubmed. Defaults to all three.

  • max_results (optional) — maximum results per source. Defaults to 5.

fetch_paper

Fetch the full text of a paper. Tries open access sources in order: arXiv → PubMed Central → Unpaywall. Provide at least one identifier.

Parameters:

  • arxiv_id — e.g. 2301.00001 or arxiv:2301.00001

  • pubmed_id — PubMed ID (PMID), e.g. 36383508

  • doi — e.g. 10.1371/journal.pone.0276755

Configuration

Semantic Scholar works without an API key but is rate-limited. For higher limits, create a .env file in your working directory:

SEMANTIC_SCHOLAR_API_KEY=your_key_here

API keys are free at semanticscholar.org.

Usage with an MCP client

Add to your MCP client configuration:

{
  "mcpServers": {
    "scholaris": {
      "command": "scholaris"
    }
  }
}

Or run directly:

scholaris

The server communicates over stdio using the MCP protocol (JSON-RPC 2.0).

Sources

Source

Search

Full Text

arXiv

✓ PDF

Semantic Scholar

✓ when OA PDF available

PubMed

✓ via BioC API (PMC articles)

Unpaywall

✓ for any DOI with OA version

License

MIT

Available Tools

2 tools
fetch_paperA

Fetch the full text of a paper given a DOI, arXiv ID, or PubMed ID. Tries open access sources in order: arXiv, PubMed Central, Unpaywall. Returns extracted text from the PDF.

ParametersJSON Schema
NameRequiredDescriptionDefault
doiNoDOI of the paper, e.g. 10.1000/xyz123
arxiv_idNoarXiv ID, e.g. 2301.00001 or arxiv:2301.00001
pubmed_idNoPubMed ID (PMID), e.g. 12345678

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral disclosure burden. It reveals the ordered fallback strategy (arXiv, PubMed Central, Unpaywall) and the output form (extracted text from PDF). It does not describe failure behavior when no open-access source has the paper, but the primary behavior is well covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with no filler: action and inputs come first, followed by source order and return type. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Core behavior and return type are covered, but with no annotations and no output schema it omits what happens when no ID is supplied, when multiple IDs conflict, or when the full text is unavailable. Since all parameters are optional in the schema, the at-least-one-identifier requirement should be clarified. These are clear but non-fatal gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all three identifier parameters with examples. The description adds no additional parameter-level meaning, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb, resource, and input types: fetch full text of a paper using DOI, arXiv ID, or PubMed ID. This clearly distinguishes it from the sibling search_papers tool, which would search rather than retrieve full text.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Defines a clear trigger condition: use this when you already have a paper identifier and want the full text. It does not explicitly discuss when to prefer search_papers, but the identifier-based precondition makes the intended context unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_papersA

Search for academic papers across arXiv, Semantic Scholar, and PubMed. Returns titles, authors, abstracts, DOIs, and links. Use this to find papers by topic, author, or keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query — topic, title, author, or keywords
sourcesNoWhich sources to search. Defaults to all three.
max_resultsNoMax results per source. Defaults to 5.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It covers the sources searched, the type of content returned, and general use case. It omits details like result aggregation across sources, defaults, rate limits, or pagination behavior, but those are not critical for a straightforward read-style search.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences deliver scope, return values, and usage without filler. The most important information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is sufficient for a search tool with no output schema or annotations: it states what is searched, what is returned, and how to use it. Could be stronger by mentioning how results are structured or explicitly routing to fetch_paper, but the core calling context is covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description echoes the query flexibility already documented in the schema and adds no new meaning for the sources or max_results parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific verb ('Search') and resource ('academic papers') across named sources, and enumerates return fields. The 'search' verb clearly distinguishes it from the sibling 'fetch_paper', which implies retrieving a specific paper.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Says explicitly 'Use this to find papers by topic, author, or keyword,' giving clear context for when to use it. However, it does not explicitly contrast with fetch_paper or state when not to use this tool, so exclusion guidance is absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv0.1.0
    • First observedfetch_paper
    • First observedsearch_papers

TDQS

A4.3/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly separate roles: search_papers is for discovery, returning metadata about papers, while fetch_paper retrieves full text for a known identifier. There is no overlap in purpose or output.

Naming Consistency5/5

Both tool names follow a consistent verb_noun snake_case pattern: search_papers and fetch_paper. The naming clearly communicates what each tool does and matches the same style.

Tool Count4/5

With only two tools, the server is on the small side, but the two operations form a natural and sufficient pair for a focused scholarly search-and-retrieval tool. Each tool is essential and earns its place.

Completeness5/5

For the stated purpose of finding academic papers and retrieving their full text, the pipeline is complete: search returns identifiers and metadata, and fetch consumes those identifiers to return content. No obvious dead ends or missing core operations exist in this read-only domain.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables searching and retrieving academic papers from arXiv by various criteria including title, author, and category, with support for extracting full text content from PDFs.
    4
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time access to over 200 million scientific papers and full-text extraction from major academic sources including arXiv, OpenAlex, and PubMed Central. It enables users to search, fetch metadata, and analyze citations across multiple research disciplines through a unified Model Context Protocol interface.
    139
    57
    MIT

Latest Blog Posts

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/penny4nonsense/mcp-scholaris'

If you have feedback or need assistance with the MCP directory API, please join our Discord server