pi-paper-search
Pi extension: search Semantic Scholar, arXiv, and OpenAlex. API credentials via the built-in /login.
Package details
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