Skip to main content

NBER-CLI

A command line interface for reaching the National Bureau of Economic Research (NBER) paper without brower.

Pytest Lint Docs License PyPI version PyPI Downloads

简体中文 | Documentation

NBER is a registered trademark of the National Bureau of Economic Research. This project is an independent open-source tool and is not affiliated with, endorsed by, or sponsored by the National Bureau of Economic Research. By using this project, you agree to the Usage Policy.

Features

  • Search NBER working papers by title, paper number, author, abstract, or keyword.
  • Fetch structured metadata and abstracts for a paper ID such as w25000.
  • Download single papers or batches as PDF files.
  • Track newly released NBER working papers through a local RSS feed cache (nber-cli feed fetch / feed clean).
  • Cache paper metadata locally (nber-cli info writes to info_cache) with a sliding TTL, plus a behavior log for search, download, and info lookups.
  • Store the cache, RSS items, and behavior logs in a local SQLite database at ~/.nber-cli/nber.db, managed through SQLModel/SQLAlchemy and configurable with a filesystem path or sqlite:///... URL.
  • Expose the same core workflows as MCP tools for AI agents.
  • Provide an optional loopback-only HTTP server for local integrations.
  • Provide a Desktop workspace for macOS, Windows, and Linux with a bundled one-shot worker that reuses the Python CLI logic without requiring users to install Python or uv.
  • Return human-readable output by default, with JSON output for automation.
  • Provide --verbose debug logging and a rotating log file for troubleshooting.
  • Use -c/--config <path> to temporarily override the config file for a single run.

See Configuration for the full list of configurable values and the local database layout, and Usage Policy for what NBER-CLI writes to disk by default.

Quick Start

Use in Agents

NBER-CLI can be used by agents through plugins, the MCP server, and the skill. Claude Code and Codex should install the NBER-CLI plugin first; OpenClaw and other agents should use the MCP server plus the skill.

If you want an agent to install and check NBER-CLI automatically, send it this prompt:

Install NBER-CLI globally for yourself from https://github.com/sepinetam/nber-cli, and check the status.

After installation, verify it with either prompt:

I remember that in 2025, Anton had a paper on NBER about Agent for Econ. Download it to the current directory.
I remember that paper w25000 was interesting. Show me its abstract.

If you are an agent, visit the Agent Guides.

CLI Mode

Run commands directly with uvx:

uvx nber-cli search "Labor Economic"
uvx nber-cli info w25000
uvx nber-cli download w34567

If the command is not found or fails, run uvx nber-cli -v to check the current version. If it is not the latest version, update the cache with:

uvx --refresh nber-cli -v

Or install the command first:

uv tool install nber-cli
nber-cli search "Labor Economic"
nber-cli info w25000
nber-cli download w34567

MCP Server Mode

NBER-CLI can run as a stdio MCP server:

uvx nber-cli mcp-server

Example MCP client configuration:

{
  "mcpServers": {
    "nber-cli-mcp": {
      "command": "uvx",
      "args": ["nber-cli", "mcp-server"]
    }
  }
}

The MCP server exposes tools for paper lookup, search, and PDF download.

Local HTTP Server

The HTTP API is an optional extra. Run it without installing the server dependencies into the normal CLI environment:

uvx --from "nber-cli[server]" nber-server --host 127.0.0.1 --port 31527

The server upgrades the local SQLite database to schema v3 on startup and exposes health, feed, paper, read-status, and settings endpoints under /api/v1. See the Local HTTP API reference for parameters, response envelopes, side effects, and the loopback-only security boundary.

Desktop App

Download the macOS, Windows, or Linux installer from GitHub Releases. Current installers are unsigned. Desktop 0.9.1 bundles the required Python runtime and reuses the CLI's feed and paper logic, so users do not install Python or uv; see the Desktop guide.

If macOS reports that "NBER-CLI Desktop.app" is damaged and cannot be opened, run xattr -cr /Applications/NBER-CLI\ Desktop.app in Terminal, then reopen the app.

Documentation

More usage details, command references, MCP setup, Python API examples, development notes, and release history are available in the documentation.

Development

uv sync --dev --group docs
uv run pytest tests
uv run ruff check .
uv run --group docs mkdocs serve

License

NBER-CLI is released under the Apache-2.0 License.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nber_cli-0.10.0.tar.gz (11.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nber_cli-0.10.0-py3-none-any.whl (60.8 kB view details)

Uploaded Python 3

File details

Details for the file nber_cli-0.10.0.tar.gz.

File metadata

  • Download URL: nber_cli-0.10.0.tar.gz
  • Upload date:
  • Size: 11.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.30 {"installer":{"name":"uv","version":"0.11.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for nber_cli-0.10.0.tar.gz
Algorithm Hash digest
SHA256 b32b357081b02e20ae798cc94bae99cba3d46de894286e90da1d5f1d425ce530
MD5 63251667e364cee9d5d7d39e797f4f97
BLAKE2b-256 ff85d1ef2e8a6683b06ac37ca2cf844ddacaa2634d16a3f6003d695d4ed58d8e

See more details on using hashes here.

File details

Details for the file nber_cli-0.10.0-py3-none-any.whl.

File metadata

  • Download URL: nber_cli-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 60.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.30 {"installer":{"name":"uv","version":"0.11.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for nber_cli-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8fdd65ab7171273e3952af469330dd6c1e2a92ebe01442d34b60ef5218623cfe
MD5 1f2c1e3b03117aeacc6eee102a7aa37f
BLAKE2b-256 e6a54dd3aafdca2f68381715f04f57f2e607f2488665747f3b804f9493cf281d

See more details on using hashes here.

Release history Release notifications | RSS feed

0.11.0

2 files

This release

0.10.0 This release

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page