Plugin
Papers by Ouroboros Apps
Early access
Research-paper search with real citations. It searches OpenAlex, Semantic Scholar, PubMed, Crossref, and arXiv. For researchers, students, and writers who need real citations.
A citation is only as good as the record the API returned. An empty result means those sources didn't return a match, not that the paper doesn't exist.
Server URL
https://papers-mcp.vercel.app/mcp
Connect
- Claude: Customize, then Connectors, then Add custom connector. Paste the URL and sign in.
- Cursor: add this to
~/.cursor/mcp.jsonor.cursor/mcp.json, then restart and sign in. - Grok: grok.com/connectors, New Connector, Custom, then the URL.
ChatGPT's directory doesn't list this yet. Use developer mode until it does. That's the early-access route.
{
"mcpServers": {
"papers": {
"url": "https://papers-mcp.vercel.app/mcp"
}
}
}
Tools
These names and descriptions are what the server returns from tools/list before you sign in.
search_papersSearch 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 withget_paperFetch 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.find_related_papersList papers that cite a work (relation cited_by) or papers that work cites (relation references). Every row is an API hit. An empty list means the API returned none, not that none exist.format_citationFormat 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