pi-paper-search

Pi extension: search Semantic Scholar, arXiv, and OpenAlex. API credentials via the built-in /login.

Packages

Package details

extension

Install pi-paper-search from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-paper-search
Package
pi-paper-search
Version
0.1.0
Published
Aug 28, 2026
Downloads
149/mo · 149/wk
Author
kentaroh-toyoda
License
MIT
Types
extension
Size
38.6 KB
Dependencies
0 dependencies · 3 peers
Pi manifest JSON
{
  "extensions": [
    "./src/index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-paper-search

A Pi extension that searches academic papers on Semantic Scholar, arXiv, and OpenAlex. API credentials are managed through Pi's built-in /login command.

Install

pi install npm:pi-paper-search

Configure credentials (optional)

All three sources work anonymously. Credentials only raise rate limits (Semantic Scholar) or put you in the polite pool (OpenAlex). Stored in pi's global ~/.pi/agent/auth.json.

/login semantic-scholar   # paste a Semantic Scholar Graph API key
/login openalex           # enter an OpenAlex polite-pool contact email

arXiv has no auth system, so it is not a /login target.

search_papers tool

Searches any of the three sources (or all of them at once) and returns normalized paper records.

Parameter Type Default Notes
query string required Free-text search
source semantic-scholar | arxiv | openalex | all required all merges and deduplicates by normalized title
limit number 10 Max results per source
year string e.g. 2024 or 2023-2026 (Semantic Scholar, OpenAlex)
sort relevance | citations relevance Semantic Scholar, OpenAlex
openAccess boolean false Only return papers with a free PDF link

Each result is normalized to:

{
  "source": "semantic-scholar",
  "id": "abc-1",
  "title": "Attention Is All You Need",
  "year": 2017,
  "citations": 90000,
  "authors": "A. Vaswani, N. Shazeer",
  "abstract": "...",
  "venue": "NeurIPS",
  "pdf": "https://...",
  "url": "https://...",
  "doi": "10.5555/...",
  "arxivId": "1706.03762"
}

How it works

Registers two auth-only pi-ai providers (semantic-scholar, openalex) that declare no LLM models, so they never appear in /model but do show up in /login. The search_papers tool reads the stored credentials via ctx.modelRegistry.getProviderAuth(...). This follows the same pattern as pi-zotero-web.

Development

npm test        # node:test suite
npm run check   # tsc --strict

License

MIT