Skip to main content

Open-source command-line client for the NestorNotes knowledge base. Auditable thin wrapper around the hosted MCP server.

Project description

nestornotes

Open-source command-line client for NestorNotes — your AI-powered knowledge base.

This CLI is a thin, auditable wrapper that talks to the hosted NestorNotes MCP server over the Model Context Protocol. Every line of code that runs on your machine is in this repository — read it before you install.

Surface Source License
CLI client (this repo) src/nestornotes/cli.py, npm/ MIT (open source)
MCP server (hosted) Proprietary, runs at https://mcp.nestornotes.com/mcp Closed source

The CLI is generated from the server's tool registry by fastmcp generate-clicli.py is regenerated each release and pushed here via PR. You can verify by reading the file directly: it's plain Python, no obfuscation.

Install

Via PyPI (recommended)

uv tool install nestornotes        # or: pipx install nestornotes
nestornotes --help

Run ephemerally without installing: uvx nestornotes --help.

Upgrade: uv tool upgrade nestornotes (or pipx upgrade nestornotes).

Via npm

npm install -g nestornotes         # requires `uv` on PATH (https://astral.sh/uv)

The npm package is a thin Node.js wrapper that proxies to the matching PyPI wheel via uvx — same Python code, different distribution channel.

Usage

nestornotes call-tool list_collections
nestornotes call-tool semantic_search --query "rust async"
nestornotes call-tool list_articles --collection-id <uuid> --limit 5

By default the CLI talks to https://mcp.nestornotes.com/mcp. Override per-environment:

NESTORNOTES_SERVER_URL=http://localhost:8000/mcp nestornotes call-tool list_collections

OAuth is handled automatically by FastMCP: the first tool call opens a browser for Supabase sign-in; the token is cached locally.

What this CLI does (and doesn't)

  • Does: Parse your shell arguments → open an HTTPS connection to the configured MCP server → forward your call → print the JSON response.
  • Does not: Execute any business logic locally. Cache anything but OAuth tokens. Send telemetry. Talk to anything other than the configured NESTORNOTES_SERVER_URL.

You can verify all of the above by reading src/nestornotes/cli.py — it imports cyclopts (for argument parsing), fastmcp (for the MCP client), and rich (for output). That's it.

How updates happen

This repo is not hand-edited. When the NestorNotes server adds, changes, or removes a tool, an automated PR appears here with the regenerated cli.py. The PR contains exactly two artifact files (plus version bumps) — src/nestornotes/cli.py and src/nestornotes/SKILL.md — so you can diff each release against the previous one to see what changed.

Each release is tagged vX.Y.Z and triggers PyPI + npm publication via GitHub Actions (release.yml).

Verifying what you install

nestornotes --version
gh release view vX.Y.Z --repo nestornotes/nestornotes-cli
pip download --no-deps nestornotes==X.Y.Z
unzip -l nestornotes-X.Y.Z-py3-none-any.whl

The wheel contains exactly three files: __init__.py, cli.py, SKILL.md. Nothing more.

License

MIT. See LICENSE.

The CLI is open source. The MCP server it talks to is proprietary — but the interface (every tool name, parameter, and docstring) is fully documented here in cli.py.

Project details


Download files

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

Source Distribution

nestornotes-0.1.0.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

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

nestornotes-0.1.0-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file nestornotes-0.1.0.tar.gz.

File metadata

  • Download URL: nestornotes-0.1.0.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for nestornotes-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2d6160f059e446f74829a84ed85a0c2b84382947bea14d2f2b468f4f51aac3e4
MD5 e044cbb2ae28868185953ca7e01b748f
BLAKE2b-256 3a33589c672976e0f6b986c80a2e68fd570d64b2e3d2a0a9a67837bc51218992

See more details on using hashes here.

File details

Details for the file nestornotes-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: nestornotes-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for nestornotes-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 42510f58efc57a1f66a60e9c56917842cf53ac2c286efee447dec50cea3bbfaf
MD5 5c79e14e10d749ac38c6116591853126
BLAKE2b-256 5c920493b72a35fc0473f82f9c1f683129ff3880475bd594245fcf10129fd464

See more details on using hashes here.

Supported by

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