Paper Finder MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENALEX_EMAIL | No | Your own email. OpenAlex asks for it so they can reach you, and it is sent only to OpenAlex. Setting it gives faster, more reliable service for heavy use. | |
| OPENALEX_BASE_URL | No | Points the server to a different OpenAlex base URL (used by the tests). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_papersA | 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.' |
| get_paperA | 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.' |
| find_open_access_pdfA | 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.' |
| find_related_papersA | Lists the papers that OpenAlex lists as related to a given paper, so you can find more work on the same topic. Every result carries a one line abstract, so you can judge a paper before you open it. A showing line under the heading says which results are on this page and how many related papers 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: 'what papers are related to DOI 10.48550/arXiv.1706.03762?' |
| find_citing_papersA | 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?' |
| paper_referencesA | 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?' |
| list_author_papersA | 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.' |
| find_authorsA | 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'. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
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.
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.
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.
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.