Skip to main content
Glama

Paper Finder MCP

npm downloads license

Google Scholar for your AI. See how it compares.

Paper Finder MCP is an academic paper search MCP server. Ask your AI to find real scholarly papers for an essay or research project, with authors, year, citation counts, DOIs, a one line abstract and a free to read link when one exists.

Sort by citation count to get the most cited papers on a topic, or by date to get the newest ones. Ask for the papers a paper cites, or the papers that cite it, when you build a literature review.

A search that matches thousands of papers says how many there are and which results you are reading, so you can keep going with the next page instead of stopping at the first handful. The author, citing, related and reference lists work the same way.

Results come straight from OpenAlex, a free open catalog of scholarly works, so the papers are real, not invented. Free forever, no account and no key.

Students often type things like 'find 5 sources for my essay on spaced repetition' or 'citations for my literature review'.

Install

Install in Cursor Install in VS Code

Click a button to add the server to Cursor or VS Code, or set it up by hand with the config below.

npx -y paper-finder-student-mcp

Add this to your AI app's MCP config. Where the file goes and what the key inside it is called depends on the app.

Claude Desktop

The file is claude_desktop_config.json.

{
  "mcpServers": {
    "paper-finder": {
      "command": "npx",
      "args": ["-y", "paper-finder-student-mcp"]
    }
  }
}

Cursor

The file is ~/.cursor/mcp.json for every project, or .cursor/mcp.json for one project.

{
  "mcpServers": {
    "paper-finder": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "paper-finder-student-mcp"]
    }
  }
}

VS Code

The file is .vscode/mcp.json in your workspace. VS Code calls the key servers and asks for the type.

{
  "servers": {
    "paper-finder": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "paper-finder-student-mcp"]
    }
  }
}

Restart your AI app, then try one of the prompts below. You need Node.js 20 or newer. For Claude Code, run claude mcp add paper-finder -- npx -y paper-finder-student-mcp.

Related MCP server: ResearchMCP

What it looks like

This is what search_papers returns for the query "spaced repetition" when you ask for the most cited papers first.

Papers about "spaced repetition", most cited first
Showing 1 to 3 of 12,408. Pass page 2 for the next page.

1. Spaced Repetition Promotes Efficient and Effective Learning (2016)
  Sean H. K. Kang, Policy Insights from the Behavioral and Brain Sciences
  405 citations. DOI 10.1177/2372732215624708. W2310690298
  No free copy found
  Abstract: Concern that students in the United States are less proficient in mathematics, science, and reading than their peers in other countries has led some to question whether American students spend enough...

2. A Trainable Spaced Repetition Model for Language Learning (2016)
  Burr Settles, Brendan Meeder, Annual Meeting of the Association for Computational Linguistics (ACL)
  217 citations. DOI 10.18653/v1/p16-1174. W2514897959
  Free to read, https://www.aclweb.org/anthology/P16-1174.pdf
  Abstract: We present half-life regression (HLR), a novel model for spaced repetition practice with applications to second language acquisition.HLR combines psycholinguistic theory with modern machine learning...

3. Enhancing human learning via spaced repetition optimization (2019)
  Behzad Tabibian, Utkarsh Upadhyay, Abir De, et al., Proceedings of the National Academy of Sciences
  181 citations. DOI 10.1073/pnas.1815156116. W2914319828
  Free to read, https://doi.org/10.1073/pnas.1815156116
  Abstract: Spaced repetition is a technique for efficient memorization which uses repeated review of content following a schedule determined by a spaced repetition algorithm to improve long-term retention.

Each result carries the title, the authors, the year, the venue, the citation count, the DOI, the OpenAlex id, a free to read link when one exists and the first line of the abstract, so you can judge a paper before you open it. The showing line says which results you are reading and how many matched in all, and the page to ask for next. OpenAlex counts change over time, so the totals in this sample will differ when you run it.

Example prompts

  • "Find open access papers on spaced repetition and exam performance since 2020."

  • "Find the most cited papers on spaced repetition since 2020."

  • "Find papers with spaced repetition in the title."

  • "Find papers on spaced repetition published from 2015 to 2020 with at least 50 citations."

  • "Show me the newest journal articles about spaced repetition."

  • "Find 5 sources for my essay on spaced repetition."

  • "Citations for my literature review."

  • "Get the paper with DOI 10.1038/nature14539 and show me the abstract."

  • "Find a free PDF of this paper, DOI 10.1038/nature14539."

  • "What papers are related to DOI 10.48550/arXiv.1706.03762?"

  • "Who cited DOI 10.48550/arXiv.1706.03762?"

  • "What does DOI 10.1038/nature14539 cite?"

  • "Find authors named John Dewey."

  • "List papers by John Dewey on education since 1950."

  • "List papers by A. Duckworth on grit."

How it compares

Three ways to get papers for an essay, and what each one actually gives you. This section has a stable anchor at README.md#how-it-compares if you want to link someone here.

Paper Finder MCP

Asking ChatGPT

Semantic Scholar MCP

Where the answers come from

OpenAlex, queried live each time you ask

Whatever the chat app does on its own, with no fixed catalog behind the answer

The Semantic Scholar catalog, queried live each time you ask

Can you open the source

Yes, every result carries a DOI or OpenAlex id you can open

A paper it names may not exist, and there is often nothing to open

Yes, results carry identifiers you can open

Free to read copy

find_open_access_pdf returns a link when one exists, or says plainly that none was found

It may offer a link, but nothing checks it against a catalog

Depends on what that server exposes, see its own README

Citations and related work

find_citing_papers, paper_references, find_related_papers and list_author_papers, all in the same chat

You can ask, but you get one guess at a time, not a list read from an index

It has its own tools, check that project's README for which ones

Account, key or plan

None, no account and no key

You need an account with that service to ask

Depends on that project, check its own docs

Where it runs

Inside your MCP client, next to your other tools

In a chat window

Inside your MCP client

Paper Finder MCP is the one where every line has a live catalog record behind it and the follow up questions are tools rather than more guessing. The Semantic Scholar MCP column describes those servers in general, since they are separate projects with their own features and setup. Always open the paper itself before you cite it.

Tools

Tool

What it does

Parameters

search_papers

Search scholarly works by keywords, with optional year range, citation count, open access, title matches, type and order settings

query, from_year, to_year, min_citations, open_access_only, title_only, type, sort, page, limit

get_paper

Details for one paper from its DOI, doi.org link or OpenAlex id, including the abstract

paper, doi

find_open_access_pdf

The free to read copy of one paper, preferring a PDF link, or a plain note that none exists

paper

find_related_papers

Papers OpenAlex marks as related to a paper

paper, page, limit

find_citing_papers

Newer papers that cite a paper, most recent first

paper, page, limit

paper_references

The papers a paper cites, so you can read its bibliography

paper, sort, page, limit

find_authors

Candidate authors matching a name, so you can pick the right one before listing their papers

name

list_author_papers

Papers by one author, most cited first, with the name looked up in the OpenAlex author records, with optional year range and citation count

author, from_year, to_year, min_citations, open_access_only, page, limit

Every tool description states its inputs and one example prompt, so clients can pick the right tool without reading this page. paper accepts a DOI like 10.1038/nature14539, a doi.org link, or an OpenAlex id like W2741809807. doi accepts a DOI or doi.org link with no OpenAlex ids, and get_paper takes either paper or doi, so a DOI lookup has one home. limit is 1 to 25, default 8 and page is 1 to 400, default 1. search_papers shows the title, authors, year, venue, citations, DOI and a one line abstract for every hit, so you can judge a paper before you open it. sort takes relevance (the default OpenAlex order), cited_by_count:desc for the most cited papers on the topic first, or publication_date:desc for the newest papers first. type takes journal_article, preprint or book_chapter to keep the results to one kind of paper. title_only keeps only the papers whose title carries the search words, which stops a famous paper that only mentions the topic from taking the top spot on a broad search. from_year and to_year set the two ends of a range of years, so a search can ask for the papers published from 2015 to 2020, and min_citations keeps only the papers with at least that many citations, so a search can ask for the well cited papers on a topic. list_author_papers looks the name up in the OpenAlex author records first and then takes the papers from that author id, so J. Smith, Smith, John and John Smith all reach the same papers, even when the name on the paper is written differently. When the name cannot be resolved that way, the tool matches the name as it is written on the papers instead. find_citing_papers gives the papers that cite a paper, and paper_references gives the papers it cites, so a literature review can walk the citation graph in both directions. Those two lists and the related paper list show the same one line abstract under every entry, so a paper can be judged from the list before it is opened. paper_references takes its own sort, with cited_by_count:desc for the most cited references first and publication_year:asc for the oldest references first, which reads like a bibliography from the beginning. The heading says how many references OpenAlex holds for the paper, so a list cut short by limit is clear. Every search and every one of those lists comes with a showing line that says which results are on this page and how many matched in all, and names the page to ask for next, so a long list can be read a page at a time with page.

cited_by, related_papers, get_paper_by_doi and get_related_work still exist as deprecated aliases so saved prompts keep working. They do the same work as find_citing_papers, find_related_papers and get_paper with doi, and new prompts should use those instead. They are not in the tool list a client sees, so a client gets the tools above and no second name for them. A saved prompt that calls one of the old names still gets an answer.

Good to know

  • Lookups that miss are flagged as errors with a stable code, not empty results. A wrong or unknown reference returns a not found error that suggests searching by the title or checking the DOI format, and a rate limit returns an error that says to wait about a minute and retry. An OpenAlex outage, such as a server error, a request that runs out of time or a connection that breaks, returns an upstream error with the code upstream_error and says to try again shortly, so a client can tell an outage from a bad request. A missing free copy is not an error, find_open_access_pdf just says that none was found.

  • sort reorders the papers OpenAlex matched. It does not change which papers match, so on a broad topic the most cited match can be a famous paper that only mentions the topic. Ask for relevance when you want the closest match first, or set title_only to true so only the papers with the search words in the title come back.

  • from_year, to_year and min_citations narrow the results, so a year range that is too narrow or a citation count that is too high can leave you with nothing. When a search finds nothing it says which of those filters to relax.

  • Author names go through the OpenAlex author records, so a name that is written in another form on the papers still finds them. OpenAlex sometimes keeps more than one profile for a name. In that case the tool shows the profile whose name matches best and has the most papers, and it lists the others. You can pass one of those ids, such as A5108843829, as author to see that profile.

  • Citation counts and open access links come from OpenAlex and can be a little behind the publisher.

  • If you want faster, more reliable service for heavy use, set OPENALEX_EMAIL to your own email. OpenAlex asks for it so they can reach you, and it is sent only to OpenAlex.

  • OPENALEX_BASE_URL points the server somewhere else, which the tests use.

  • Always read the paper yourself before you cite it. A catalog entry is not the paper.

Development

npm install
npm run build
npm test

Tests run against a fake OpenAlex server, so they need no network.

More free student MCP servers

All free, open source and read only where they touch your accounts. Browse the full list at brightspacemcp.com/more-mcps.

Server

What it does

Brightspace MCP

D2L Brightspace for AI. Due dates with real submission status, grades, a target grade calculator and course files.

Canvas MCP

Canvas LMS for AI, read only. Due dates, missing work, grades and announcements.

Moodle MCP

Moodle for AI, read only. Due dates, overdue work, grades and announcements.

Google Classroom MCP

Google Classroom for AI, read only. Todos, due dates, missing work and grades.

GPA Calculator MCP

GPA, grade conversion and the grade you need on the final, for AI. Works offline, no account.

Citations MCP

APA, MLA and Chicago citations from a DOI, an ISBN or typed details. No account.

Study Planner MCP

Exam study schedules, spaced repetition dates, pomodoro plans and assignment milestones. Works offline.

BibTeX Reference Manager MCP

Clean, convert, dedupe and lint BibTeX, RIS and CSL JSON reference lists, and make cite keys. Works offline.

Open Textbook Finder MCP

Find free legal copies of textbooks on OpenStax, DOAB and Open Library, look up editions by ISBN and suggest cheaper older ones.

STEM Calculator MCP

Chemistry and physics homework math: molar mass, balancing equations, grams to moles, unit conversion and significant figures. Works offline.

Essay Stats MCP

Offline writing metrics for essays. Word and page counts, readability scores, passive voice, repeated openers, filler words, long sentences and word limit checks, so students can check their work against assignment requirements. No account, no network.

Syllabus to Calendar MCP

Syllabus to calendar MCP server. Extract dates from syllabus text, build an ics calendar, expand recurring classes and merge calendars. Works offline, no account.

Job Application Tracker MCP

Job application tracker MCP server. Track internships, jobs, interviews and deadlines offline, see what is coming up, and export your list as CSV or Markdown. No account and no API keys.

License

MIT

Available Tools

8 tools
find_authorsFind authors by nameA
Read-only

Candidate authors matching a name, so you can pick the right one before listing their papers. Each line shows the OpenAlex author id, the name as OpenAlex writes it, and how many works and citations that profile has. Inputs: name (required, the author name to look up, for example Jane Doe). Example prompt: 'find authors named John Dewey'.

NameRequiredDescriptionDefault
nameYesThe author name to look up, for example Jane Doe.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds real value beyond that by disclosing the return shape (one line each with author id, name, works count, citation count) — meaningful since there is no output schema. It doesn't mention result limits or ranking among candidates, which keeps it from a 5.

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

Conciseness4/5

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

Front-loaded with purpose and return format, then inputs and an example — well ordered with no fluff. The final example prompt largely restates the opening intent, a minor redundancy rather than a defect.

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?

For a one-parameter lookup with no output schema, the description covers purpose, next step, and the fields returned per result line. The remaining gap is how many candidates come back and how ties are ordered, which matters for a disambiguation tool.

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% and the single parameter is documented there with the same 'Jane Doe' example, so the description's restatement of name as required adds little. The mention of matching behavior ('candidate authors matching a name') hints at partial-match semantics but doesn't specify matching rules. Baseline 3 is appropriate when the schema carries the parameter burden.

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 and resource ('candidate authors matching a name') and immediately frames the intent: pick the right one before listing their papers. That explicitly distinguishes it from the sibling list_author_papers, so an agent can route between the two without opening either schema.

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?

The workflow context ('so you can pick the right one before listing their papers') plus the example prompt makes the intended call sequence clear. It stops short of naming explicit exclusions or prerequisites, but the disambiguation-first framing gives strong usage signals.

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

find_citing_papersFind citing papersA
Read-only

Lists the papers that cite a given paper, newest first. Every result carries a one line abstract, so you can judge a paper before you open it. This is the other half of the citation graph that paper_references covers, so a literature review can walk the graph in both directions. A showing line under the heading says which citing papers are on this page and how many there are in all, with the page to ask for next. Inputs: paper (required, a DOI like 10.1038/nature14539, a doi.org link, or an OpenAlex id like W2741809807), page (optional, which page of results to show, 1 to 400, 1 by default), limit (optional, 1 to 25, default 8). Example prompt: 'who cited DOI 10.48550/arXiv.1706.03762?'

NameRequiredDescriptionDefault
pageNoWhich page of results to show, 1 to 400, 1 by default. Pass the page the showing line names to read the next page.
limitNoHow many results to return, 1 to 25.
paperYesA DOI like 10.1038/nature14539, a doi.org link, or an OpenAlex id like W2741809807.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds useful behavior beyond that: results are ordered newest first, each carries a one-line abstract, and a separator line summarizes the page and total count. It doesn't cover error behavior or rate limits, but with annotations carrying the safety profile this is strong.

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

Conciseness4/5

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

Front-loaded with purpose and behavior, then pagination details, then inputs. Four sentences plus an example are reasonably tight, though the inputs list redundantly repeats the schema's parameter descriptions.

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

Completeness5/5

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

No output schema exists, and the description compensates by describing the return shape (one-line abstract per result, showing line with page/total info) and how to paginate. Combined with full schema coverage and annotations, an agent has everything needed to invoke it correctly.

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 schema already documents all three parameters fully. The description's inputs section largely restates the schema (paper formats, page range, limit range) without adding new syntax or constraints. Baseline 3 is appropriate when the schema does the heavy lifting.

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 (lists) and resource (papers that cite a given paper), plus ordering (newest first). Explicitly distinguishes itself from sibling paper_references as 'the other half of the citation graph,' so an agent can route correctly without opening either schema.

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

Usage Guidelines5/5

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

Explains when to use it (walking the citation graph in both directions for a literature review) and names the complementary sibling tool explicitly. The example prompt ('who cited DOI ...?') reinforces the use case.

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

find_open_access_pdfFind a free copyA
Read-only

Finds a free to read copy of one paper and returns the link, preferring a PDF over a landing page. When OpenAlex has no free copy it says so in plain words instead of failing. Inputs: paper (required, a DOI like 10.1038/nature14539, a doi.org link, or an OpenAlex id like W2741809807). Example prompt: 'find a free PDF of this paper, DOI 10.1038/nature14539.'

NameRequiredDescriptionDefault
paperYesA DOI like 10.1038/nature14539, a doi.org link, or an OpenAlex id like W2741809807.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, openWorldHint), and the description adds real behavioral value beyond them: it prefers PDF over landing page and degrades gracefully ('says so in plain words instead of failing'). It stops short of describing where copies come from or what fields the response carries.

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

Conciseness4/5

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

Front-loaded with the outcome and preference rule, then inputs and an example. Only the restated input formats duplicate the schema; everything else earns its place.

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?

With one parameter and no output schema, the description covers the essentials an agent needs: what comes back (a link, PDF preferred) and what happens on no-result (plain-words message). A short note on what the plain-words response looks like would close the last gap.

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% and the description repeats the accepted identifier formats verbatim from the schema, so it adds little new semantic detail. The example prompt is marginally useful but doesn't explain normalization or error behavior for malformed IDs.

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 and resource ('Finds a free to read copy of one paper and returns the link') plus a preference rule (PDF over landing page). This clearly separates it from siblings like get_paper (metadata) and search_papers (discovery).

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?

The framing ('free to read copy') plus the example prompt gives an agent a clear trigger condition. It doesn't explicitly name an alternative such as get_paper, so the when-not guidance is implied rather than stated.

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

get_paperGet a paperA
Read-only

Details for one paper, including the abstract and a free to read link when one exists. A wrong or unknown reference returns a not found error that suggests searching by title or checking the DOI format. Inputs: paper (optional, a DOI like 10.1038/nature14539, a doi.org link, or an OpenAlex id like W2741809807), doi (optional, a DOI like 10.1038/nature14539 or a doi.org link, no OpenAlex ids). Give paper or doi, and paper wins if you give both. Example prompt: 'show me the abstract of DOI 10.1038/nature14539.'

NameRequiredDescriptionDefault
doiNoA DOI like 10.1038/nature14539, or a doi.org link. No OpenAlex ids here. Give this or paper.
paperNoA DOI like 10.1038/nature14539, a doi.org link, or an OpenAlex id like W2741809807. Give this or doi.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so safety is covered; the description adds real behavioral detail beyond that – the not-found error path and its suggested remedy, plus the precedence rule that 'paper wins if you give both' inputs. It lacks anything about rate limits or whether the free-to-read link can be stale, but the operational contract for a lookup tool is well disclosed.

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

Conciseness4/5

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

Front-loaded with the return value, then inputs, then a worked example – a sensible ordering with no wasted framing sentences. The trailing 'Example prompt' quote is mild filler that restates the DOI format already given twice.

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?

No output schema exists, and the description compensates by summarizing the returned payload (abstract, free-to-read link) and the failure mode. Complete enough to call correctly; the only residual gap is none of it clarifying overlap with find_open_access_pdf.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline would be 3, but the description adds semantics the schema does not: the conflict-resolution rule when both arguments are supplied, and a restatement that OpenAlex ids are valid only for 'paper'. That precedence rule is genuinely useful call-time behavior not encoded anywhere in the schema.

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

Purpose4/5

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

States a specific verb+resource ('Details for one paper') and enumerates what comes back (abstract, free-to-read link when available), which distinguishes it from list-style siblings like search_papers. It never names an alternative tool outright, so the boundary with find_open_access_pdf in particular is left to inference.

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?

It gives concrete input-type guidance (DOI, doi.org link, OpenAlex id) and a routing rule on failure: a not-found error suggests searching by title, which implicitly points at search_papers. It stops short of explicitly saying when to prefer this tool over find_open_access_pdf or paper_references.

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

list_author_papersList papers by an authorA
Read-only

Papers by one author, most cited first. The name is looked up in the OpenAlex author records first, so initials, a different order of the name parts and other spellings of the same person still find the papers, and the papers are then taken from that author id. When OpenAlex has no record for the name, the papers are matched by the name as it is written on them. A showing line says which papers are on this page and how many matched in all, with the page to ask for next. Inputs: author (required, the author name, for example Jane Doe, or an OpenAlex author id like A5108843829), from_year (optional earliest publication year), to_year (optional latest publication year), min_citations (optional, keep only the papers with at least this many citations), open_access_only (optional, false by default), page (optional, which page of results to show, 1 to 400, 1 by default), limit (optional, 1 to 25, default 8). Example prompt: 'list papers by John Dewey on education since 1950.'

NameRequiredDescriptionDefault
pageNoWhich page of results to show, 1 to 400, 1 by default. Pass the page the showing line names to read the next page.
limitNoHow many results to return, 1 to 25.
authorYesThe author name, for example Jane Doe. Initials and other name forms work. An OpenAlex author id like A5108843829 works too.
to_yearNoOnly papers published in or before this year.
from_yearNoOnly papers published in or after this year.
min_citationsNoOnly papers with at least this many citations.
open_access_onlyNoOnly papers with a free to read copy.

TDQS

A4.4/5.0
Behavior5/5

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

Annotations cover only read-only and open-world, so the description carries the rest and does: it discloses the two-stage author resolution (OpenAlex author records first, name-on-paper fallback), the citation-descending ordering, and the 'showing line' pagination contract. That is behavior an agent cannot get from the annotations.

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

Conciseness4/5

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

Front-loaded with purpose, ordering, and resolution behavior, and the example prompt earns its place. The enumerated 'Inputs:' block duplicates the schema and is the main slack in an otherwise well-ordered description.

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

Completeness5/5

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

With no output schema, the description still explains the return shape (per-page listing plus total matched and next page) and the fallback matching path. Nothing essential for correct invocation is missing for a 7-parameter read tool.

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 every parameter is already documented, and the description's trailing 'Inputs:' list largely restates ranges and defaults. It adds only marginal value, such as the concrete 'Jane Doe' / 'A5108843829' author forms and the hint to pass the page from the showing line.

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 resource and scope up front ('Papers by one author, most cited first'), which immediately separates it from find_authors (person lookup) and search_papers (topic search). The verb and result ordering are both explicit.

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?

Gives clear context for when this tool applies (you know an author name or OpenAlex author id) and includes a concrete example prompt. It never names a sibling tool or states when to prefer search_papers/find_authors instead, so it stops short of full when/when-not guidance.

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

paper_referencesPaper referencesA
Read-only

The papers that one paper cites, which is the other half of the citation graph that find_citing_papers covers. Every result carries a one line abstract, so you can judge a paper before you open it. Use it to read the bibliography of a paper, to find the source a result came from, or to work backwards from a paper to the earlier work it builds on. A showing line says which references are on this page and how many the paper lists in all, with the page to ask for next. Inputs: paper (required, a DOI like 10.1038/nature14539, a doi.org link, or an OpenAlex id like W2741809807), sort (optional, cited_by_count:desc for the most cited references first, or publication_year:asc for the oldest references first), page (optional, which page of results to show, 1 to 400, 1 by default), limit (optional, 1 to 25, default 8). Example prompt: 'what papers does DOI 10.1038/nature14539 cite?'

NameRequiredDescriptionDefault
pageNoWhich page of results to show, 1 to 400, 1 by default. Pass the page the showing line names to read the next page.
sortNoHow to order the references. cited_by_count:desc puts the most cited references first, publication_year:asc puts the oldest references first.
limitNoHow many results to return, 1 to 25.
paperYesA DOI like 10.1038/nature14539, a doi.org link, or an OpenAlex id like W2741809807.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. Beyond that, the description discloses meaningful behavior the annotations do not: every result carries a one-line abstract, and a 'showing line' reports which references are on the page, the total the paper lists, and the next page to request. It does not cover error behavior for invalid DOIs, which is the main remaining gap.

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

Conciseness3/5

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

The narrative portion is front-loaded and useful, but the trailing 'Inputs:' block and example prompt duplicate the JSON schema almost verbatim (limits, defaults, enum values), which is wasted space. Roughly a third of the text earns nothing beyond what structured fields already provide.

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?

For a paginated read tool with no output schema, the description supplies what an agent needs: what each result contains (abstract), how pagination is surfaced (showing line with total and next page), and how to continue. Only failure modes and empty-result behavior are unaddressed.

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 all four parameters are already documented in the schema. The description's 'Inputs:' section restates the same ranges, defaults, and accepted identifier formats without adding new semantics. Baseline 3 applies since the schema, not the description, carries this dimension.

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 and resource ('papers that one paper cites') and immediately defines itself against the sibling that covers the inverse direction ('the other half of the citation graph that find_citing_papers covers'). An agent can distinguish this from find_citing_papers without opening either schema.

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?

Gives three concrete usage scenarios (read a bibliography, trace a result's source, work backwards to earlier work) and names the sibling alternative plus the condition that separates the two. It lacks an explicit 'do not use this when...' exclusion, but the routing guidance is clear.

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

search_papersSearch papersA
Read-only

Search scholarly papers by keywords. Returns title, authors, year, venue, citation count, DOI, a one line abstract and a free to read link when one exists. A showing line under the heading says which results are on this page and how many matched in all, with the page to ask for next, so a long list can be read a page at a time. The results can be ordered, so you can get the most cited papers on a topic or the newest ones, and they can be limited to one kind of paper, to a range of years, to a minimum number of citations or to papers whose title carries the search words. Inputs: query (required keywords), from_year (optional earliest publication year), to_year (optional latest publication year), min_citations (optional, keep only the papers with at least this many citations), open_access_only (optional, false by default), title_only (optional, false by default, keep only the papers whose title carries the search words), type (optional, journal_article, preprint or book_chapter), sort (optional, relevance for the OpenAlex order, cited_by_count:desc for the most cited papers first, or publication_date:desc for the newest papers first), page (optional, which page of results to show, 1 to 400, 1 by default), limit (optional, 1 to 25, default 8). Example prompt: 'find the most cited papers on spaced repetition since 2020.'

NameRequiredDescriptionDefault
pageNoWhich page of results to show, 1 to 400, 1 by default. Pass the page the showing line names to read the next page.
sortNoHow to order the results. relevance is the OpenAlex order, cited_by_count:desc puts the most cited papers first, publication_date:desc puts the newest papers first.
typeNoKeep only one kind of paper: journal_article, preprint or book_chapter.
limitNoHow many results to return, 1 to 25.
queryYesKeywords, for example: spaced repetition exam performance.
to_yearNoOnly papers published in or before this year.
from_yearNoOnly papers published in or after this year.
title_onlyNoOnly papers with the search words in the title, not just somewhere in the paper.
min_citationsNoOnly papers with at least this many citations.
open_access_onlyNoOnly papers with a free to read copy.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only declare readOnlyHint and openWorldHint; the description goes well beyond them by specifying the exact return fields (title, authors, year, venue, citation count, DOI, one-line abstract, free-to-read link) and by explaining the result-counting line and page-following mechanism. It stops short of covering failure modes, empty-result behavior, or source/rate-limit characteristics.

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

Conciseness3/5

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

The purpose and return shape are correctly front-loaded, but the single dense paragraph drifts into awkward phrasing ('a showing line under the heading says which results are on this page') and then duplicates the entire input schema parameter-by-parameter. The trailing enumeration of Inputs: is the least earning part of the text.

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?

With no output schema and ten parameters, the description carries the return-value burden and does so adequately, including pagination semantics and the page cap. Gaps remain around empty results, matching behavior for the query string (boolean/phrase support), and error handling, but nothing essential for a correct call is missing.

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 all ten parameters are already documented with ranges, enums and defaults. The description's parameter recap largely restates the schema, adding only light intent framing ('so you can get the most cited papers on a topic or the newest ones'), which earns baseline rather than above-baseline credit.

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?

Opens with a specific verb and resource ('Search scholarly papers by keywords') and immediately enumerates what comes back, which distinguishes it from siblings like get_paper, find_citing_papers and find_related_papers that operate on an already-known paper. An agent can tell this is the discovery entry point without opening the schema.

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

Usage Guidelines3/5

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

Usage is implied by the firehose-style filtering options and made concrete by the closing example prompt ('find the most cited papers on spaced repetition since 2020'). However, it never states when NOT to use this tool or names an alternative sibling (e.g. 'once you have a DOI, use get_paper'), leaving the agent to infer the search-then-fetch pattern.

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.

  1. 2 tool updatesv0.1.7
    • Addedfind_authors
    • Changedlist_author_papers2 fields changed
      • addedInput schema / properties / min_citations
        Added value: +{
        +  "description": "Only papers with at least this many citations.",
        +  "maximum": 1000000,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedInput schema / properties / to_year
        Added value: +{
        +  "description": "Only papers published in or before this year.",
        +  "maximum": 2100,
        +  "minimum": 1900,
        +  "type": "integer"
        +}
  2. 7 tool updatesv0.1.3
    • First observedfind_citing_papers
    • First observedfind_open_access_pdf
    • First observedfind_related_papers
    • First observedget_paper
    • First observedlist_author_papers
    • First observedpaper_references
    • First observedsearch_papers

TDQS

A4.1/5.0

Scored across 8 tools

Disambiguation4/5

Most tools target clearly distinct resources or actions: author discovery versus author papers, citations versus references, related papers, search, and paper details. The only minor overlap is between find_open_access_pdf and get_paper, since get_paper also returns a free-to-read link, but the specialized PDF tool is still distinguishable.

Naming Consistency4/5

Seven of eight tools follow a clear verb_noun pattern (find_authors, list_author_papers, get_paper, search_papers, etc.). The lone outlier is paper_references, which uses a noun phrase, but it remains readable and fits the citation-graph context.

Tool Count5/5

Eight tools is well-scoped for a paper-finding MCP server. Each tool covers a distinct part of the literature workflow and none feels redundant or trivial.

Completeness5/5

The surface covers the core lifecycle: finding authors, listing author papers, searching papers, fetching paper details, open-access PDFs, and walking the citation graph in both directions. Related-paper discovery rounds out the coverage with no obvious dead ends for a paper-finding domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables academic research through the OpenAlex API, allowing users to search for papers, authors, and institutions, retrieve citations, and fetch full-text content when available. Perfect for building intelligent research assistants that can explore academic literature and related works.
    8
    7
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables AI-powered academic research by searching and retrieving research papers from OpenAlex database. Supports searching by keywords/topics and fetching full abstracts for detailed paper analysis.
    6
    -
  • A
    license
    A
    quality
    B
    maintenance
    Connects AI agents to the OpenAlex scholarly database, enabling search and retrieval of works, authors, institutions, and sources via natural language.
    9
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables searching scholarly literature via the OpenAlex database, with tools for full-text search, work details, citation lookup, and author queries.
    MIT