Papers
Server Details
Scholarly paper search with real citations for AI assistants, over MCP.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2025-11-25
- URL
- Repository
- LAHutchins91/papers-mcp
- GitHub Stars
- 0
- Server Listing
- Papers
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: search_papers does keyword/question discovery, get_paper resolves a single identifier, find_related_papers walks the citation graph, and format_citation renders metadata into a style. There is no meaningful overlap between any pair, so an agent can select reliably.
All four names follow a strict snake_case verb_noun pattern (find_related_papers, format_citation, get_paper, search_papers). The verbs are varied but appropriate to each action, and the convention is uniform throughout.
Four tools is a lean but coherent surface for a literature-research server: discover, resolve, traverse citations, and format. It is slightly thin in that no batch or export operation exists, but every tool clearly earns its place with no redundancy.
The surface covers the core paper lifecycle: search, fetch by identifier, citation-graph traversal, and citation formatting across major styles. Minor gaps exist (no batch lookup, no author-centric search, no bulk citation export), but these are workarounds an agent can handle by calling tools repeatedly.
Available Tools
4 toolsformat_citationFormat citationARead-onlyIdempotentInspect
Format a real paper in APA, MLA, Chicago author-date, or BibTeX using metadata fetched for the identifier. Titles are kept as the source provided them. Author particles may need a human check because display names are split mechanically. If the paper cannot be resolved, do not hand-write a citation.
| Name | Required | Description | Default |
|---|---|---|---|
| style | Yes | ||
| identifier | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, idempotent=true, destructive=false, so the safety profile is covered. The description goes beyond them by disclosing normalization behavior (titles kept as the source provided them, display names split mechanically so author particles may need human review) and what to do on resolution failure โ genuinely useful traits not derivable from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the core action front-loaded and no filler. Slightly dense but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-format explanation is rightly omitted, and the tool is read-only so no destructive caveats are needed. However, for a tool whose only real input ambiguity is the identifier, leaving its accepted forms unstated leaves a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden. It enumerates the style values (matching the enum) but never says what form "identifier" takes โ DOI, arXiv ID, URL? โ which is the single most important thing an agent needs to construct a correct call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (format) plus resource (a real paper) and enumerates the four supported output styles, which cleanly separates it from the sibling read/lookup tools (find_related_papers, get_paper, search_papers). An agent can identify the tool's job without inspecting the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a failure-mode rule ("If the paper cannot be resolved, do not hand-write a citation"), which is useful conditional guidance, but never states when to prefer this tool over its siblings or that an identifier must first be obtained. Usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_paperGet paperARead-onlyIdempotentInspect
Fetch one paper's title, authors, year, venue, and abstract by DOI, PMID, arXiv id, or OpenAlex work id. Metadata comes from the API that resolved the identifier. If no source returns a record, say so. Do not guess the abstract.
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | DOI, PMID, arXiv id, or OpenAlex work id |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds genuinely new behavioral context: metadata provenance ('the API that resolved the identifier') and the failure contract ('if no source returns a record, say so. Do not guess the abstract'), which is exactly the kind of anti-hallucination instruction an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the operation and its inputs; each sentence carries distinct information (what it returns, identifier types, provenance, failure handling). Slightly padded by listing the fields, which the output schema already provides.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not strictly required, and annotations cover safety. The description fills the remaining critical gap โ what to do when resolution fails โ making it essentially complete for a single-identifier lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter with 100% schema description coverage, and the description only restates the identifier vocabulary already documented in the schema. It adds no syntax, precedence, or format guidance (e.g. how to disambiguate an ambiguous bare string), so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Fetch') plus a single, clearly bounded resource ('one paper'), and it enumerates the returned fields (title, authors, year, venue, abstract) and the accepted identifier types. It is unmistakably narrower than search_papers or find_related_papers, but it never names a sibling to make the contrast explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the accepted identifier types โ you call it when you already have a DOI/PMID/arXiv/OpenAlex id โ but the description never states when to prefer this over search_papers or find_related_papers, nor any prerequisite or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_papersSearch papersARead-onlyIdempotentInspect
Search peer-reviewed and preprint records by question or keywords. Filters: year_from, year_to, field, open_access, and source (openalex, semantic_scholar, pubmed, crossref, arxiv, or all). Returns only works those APIs returned, each with a source link and an identifier. An empty list means the APIs returned nothing. Do not invent papers to fill a gap.
| Name | Required | Description | Default |
|---|---|---|---|
| field | No | Subject area, such as Medicine or Computer Science | |
| limit | No | Maximum papers to return. Defaults to 8. | |
| query | Yes | Question or keywords | |
| source | No | Index to search. Defaults to all, which mixes sources. | |
| year_to | No | ||
| year_from | No | ||
| open_access | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds real behavioral context beyond them: results are limited to what upstream APIs returned, each carries a source link and identifier, an empty list is a legitimate signal, and the model must not fabricate entries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with purpose, then filters, then return semantics, then the anti-fabrication warning. No sentence is redundant and nothing is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return shapes need no explanation, yet the description still clarifies the source-link/identifier payload and the empty-result meaning. Combined with rich annotations, an agent has everything needed to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema coverage at 57%, the description compensates well by naming the filters (year_from, year_to, field, open_access, source), enumerating the source values, and explaining that source=all mixes indexes. Only 'limit' and the semantics of year bounds are left solely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search peer-reviewed and preprint records') plus the input mode (question or keywords), which clearly distinguishes it from siblings like get_paper and find_related_papers, which operate on a known paper. An agent can pick this for open-ended discovery 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the filters and the source list, and the closing line ('Do not invent papers to fill a gap') gives a genuine anti-hallucination directive for empty results. However, it never states when to prefer this over find_related_papers or get_paper, so sibling routing is left to inference.
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.
4 tool updates
- First observed
find_related_papers - First observed
format_citation - First observed
get_paper - First observed
search_papers
Related MCP Connectors
Academic research MCP server for paper search, citation checks, graphs, and deep research.
Academic paper search, scientific literature, citation analysis, arXiv & semantic related-work.
Search 340M+ academic papers โ citation graphs, semantic similarity, and AI literature reviews.
Read-only MCP over an agentic SLR workspace with per-claim citation verification
Related MCP Servers
- FlicenseNot gradedqualityDmaintenance๐ Enable AI assistants to search and access Google Scholar papers through a simple MCP interface.410-
- AlicenseAqualityAmaintenanceMCP server for scientific grounding: search and discover open-access research papers across arXiv, OpenAlex, Crossref, PubMed, and Semantic Scholar, and retrieve references/citations from paywalled journals via public DOI/abstract metadata.374 PyPI6MIT
- FlicenseNot gradedqualityDmaintenanceAn advanced scholarly research MCP server that enables AI assistants to discover, fetch, process, and manage academic papers across multiple sources like arXiv, PubMed, and Semantic Scholar, with capabilities for summarization, citation analysis, and concept relationship extraction.2-
- AlicenseAqualityFmaintenanceAI-powered academic paper search MCP server with relevance scoring, summarization, author search, and credit checking. Enables users to search papers naturally and get scored results.331 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.