Skip to main content

Newsclip

Search, read and privately archive news through a command-line interface, Python API, or MCP server. Newsclip uses your existing subscriptions and public publisher endpoints. It returns an article only when its identity and full content pass the provider's verification checks.

Subscription sign-in uses signin-window: open a short-lived link and sign in on the publisher's page yourself. Newsclip keeps the verified session afterwards. It does not need your password in a configuration file or an assistant conversation.

  • Ten built-in providers: Financial Times, WSJ, Bloomberg, CNBC, Reuters, The Economist, The New York Times, The Guardian, AP News and Axios.
  • Fair federated search with source status, date filters and coverage limits.
  • Separate user tokens, sessions, retained browser profiles and SQLite archives.
  • Transient reading with get; durable storage and Markdown export with save.
  • Local CLI/Python access and authenticated HTTP/MCP access to the same core.
  • MIT-licensed original code, with synthetic tests and no bundled account data.

Quick start

The reference server runs on Linux AMD64 with Docker Compose. Python 3.12+ and uv are used for setup and the CLI. The sign-in viewer works in a browser or phone; the browser service itself runs on Linux.

git clone https://github.com/benjamin-di/newsclip-mcp.git
cd newsclip-mcp
uv sync --locked --extra mcp --extra signin
uv run python scripts/setup.py --user alice --user bob
docker compose up -d

Setup writes private token files and configuration without printing secrets. Each person uses their own URL and token file:

export NEWSCLIP_URL=http://127.0.0.1:8000/users/alice
export NEWSCLIP_TOKEN_FILE="$PWD/local/tokens/alice.token"

uv run newsclip search "energy markets" --source ap --json
uv run newsclip auth connect ft
# Open the returned link, complete sign-in, then check the session.
uv run newsclip auth status ft --json
uv run newsclip get 'https://www.ft.com/content/<article-id>'
uv run newsclip save 'https://www.ft.com/content/<article-id>' --out article.md
uv run newsclip archive-search "energy" --json

get does not archive. save commits the verified article and can additionally write a Markdown file on the CLI client's machine. Failed, partial and unauthorized pages never become archived articles. Use archive-get ARTICLE_ID to read a saved article without contacting its publisher.

The default deployment is reachable only on the server itself. For phone or remote-client access, configure an HTTPS public origin and reverse proxy as explained in deployment.

Install the CLI or Python package

For an existing Newsclip server, install the client from PyPI with Python 3.12 or later:

pip install newsclip
newsclip --help
newsclip --server http://127.0.0.1:8000/users/alice \
  --token-file /path/to/alice.token search "energy markets" --source ap --json

The same package provides newsclip.client.NewsclipClient for Python programs. Use the Docker Compose quick start above for the complete server and sign-in browser setup.

Interfaces

For MCP, connect your client to http://127.0.0.1:8000/users/alice/mcp with Alice's bearer token. The server exposes search, get, save, archive_search, archive_get, reextract, session_status, and connect. connect returns a human sign-in link; read operations never submit credentials.

For Python:

from pathlib import Path
from newsclip.client import NewsclipClient

with NewsclipClient(
    "http://127.0.0.1:8000/users/alice",
    Path("local/tokens/alice.token").read_text(),
) as client:
    response = client.search_many("energy markets", provider_keys=["ap"])
    for result in response.results:
        print(result.headline, result.url)

The local CLI and synchronous NewsclipService are also available without running an HTTP server. newsclip --user alice ... selects isolated local storage; it is an administrator/local-process option, not remote authorization. newsclip mcp serves local stdio MCP with the same local user's access.

Providers and limits

See the provider matrix for authentication, search coverage and retrieval behavior. A supported adapter cannot guarantee that a publisher will accept every network, account or browser. Articles outside a subscription are reported as not_entitled. Provider failures remain visible beside healthy search results.

Newsclip is for content you are authorized to access. You supply the necessary subscriptions and API permissions. It does not purchase access, redistribute publisher content, or grant rights to that content through its software license.

Documentation

Development

uv sync --locked --extra mcp --extra signin
uv run patchright install chromium
make check
make check-mcp

Offline tests use synthetic content and require no publisher credentials. Live provider checks are explicit private operator actions and are never run on a contributor's pull request. Public images and release archives are built from the public release source.

License

MIT for original code. Dependencies retain their own licenses; see NOTICE. Newsclip is not affiliated with the supported publishers.

Optional operator maintenance, per-account credential configuration and trusted reverse proxy deployment are described in Maintenance. Human sign-in remains the default; maintenance uses the same public package with separate runtime authority.

See Upgrading for account, maintenance and health-contract changes.

Metadata

Release files for newsclip 0.8.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for newsclip 0.8.1
File Size Uploaded Provenance
newsclip-0.8.1.tar.gz 978.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for newsclip 0.8.1
File Interpreter ABI Platform
newsclip-0.8.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.4 MB

Release files / newsclip-0.8.1.tar.gz

Download URL newsclip-0.8.1.tar.gz
Size 978.4 kB
Tags Source
SHA-256 checksum
How to use checksums
3f2612a8c545417081a9c4fccbba5cd83091d0f6be773cab7a5fd8f285665ad8
BLAKE2b-256 checksum
How to use checksums
0e6ed92970390cda7f9cee45d9718cf6451c86ede53f52d8f3265117c237e1d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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":null}

Release files / newsclip-0.8.1-py3-none-any.whl

Download URL newsclip-0.8.1-py3-none-any.whl
Size 467.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fbce87b710dbdbe0d3532488b9158897fb2b05c1619a0a90ee5335f0cf2aa856
BLAKE2b-256 checksum
How to use checksums
3971fd6bbd6eb8d565ae6b9a794c964be8b4fc19eba74d47cad1e1b657aba7c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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":null}

Security for newsclip 0.8.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.8.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page