N.I.L.O. - Notion Interfaces, Locally Operated: a local Notion runtime with Core, CLI, and MCP tool entrypoints
Project description
N.I.L.O.
N.I.L.O. - Notion Interfaces, Locally Operated - provides a local Notion runtime with a Core + CLI + MCP Tool architecture.
Status
- Core is the only business logic layer.
- CLI is the git-like human entrypoint.
- MCP tools are the structured Agent/LLM entrypoint.
- Background MCP server lifecycle commands are available through
nilo server ....
The project is in alpha. Public APIs, CLI commands, and MCP tool contracts may still change before a stable release.
Installation
PyPI release
Use this method after the first PyPI release is published:
uv tool install notion-nilo
nilo --help
If you do not use uv, install with pip instead:
pip install notion-nilo
nilo --help
GitHub source
Use this method to install directly from the public source repository:
git clone https://github.com/bluewhitep/notion-nilo.git
cd notion-nilo
uv tool install .
nilo --help
Migration From notion-mcp
The previously published notion-mcp PyPI project remains separate and will not be renamed by PyPI. New releases use:
- PyPI package:
notion-nilo - Python import package:
nilo - CLI command:
nilo - GitHub repository:
bluewhitep/notion-nilo
Existing .notion_mcp/ project context directories and NOTION_MCP_* environment variables are intentionally kept for compatibility in this rename.
Documentation
Roadmap
- Publish the first
notion-niloPyPI release from GitHub Releasev_0.3.0. - Consider a final
notion-mcpmigration notice release that points users tonotion-nilo. - Keep GitHub source installation available for users who want the latest repository state before a PyPI release.
Development
uv run pytest -q -p no:cacheprovider
uv run ruff check .
uv run mypy src
Live Notion tests require explicit opt-in and real Notion credentials. Do not commit tokens or local configuration files.
Security
Report non-sensitive bugs through GitHub issues. For sensitive security reports, follow SECURITY.md.
Contributing
Pull requests are welcome. See CONTRIBUTING.md before opening a PR.
License
Licensed under the Apache License 2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file notion_nilo-0.3.0.tar.gz.
File metadata
- Download URL: notion_nilo-0.3.0.tar.gz
- Upload date:
- Size: 131.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0d00cb60ac0dd8975f408923a5e1f072ea1c0d3065d3141cd0f3894cb9b3507
|
|
| MD5 |
885a698d71618eeda05a72f8fd9ba060
|
|
| BLAKE2b-256 |
f149032deeec59cbb4d3a4de2f4e605d40ae88fae8c5ba512d7ffb8a45bd3bd9
|
Provenance
The following attestation bundles were made for notion_nilo-0.3.0.tar.gz:
Publisher:
publish.yml on bluewhitep/notion-nilo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
notion_nilo-0.3.0.tar.gz -
Subject digest:
e0d00cb60ac0dd8975f408923a5e1f072ea1c0d3065d3141cd0f3894cb9b3507 - Sigstore transparency entry: 2061787832
- Sigstore integration time:
-
Permalink:
bluewhitep/notion-nilo@7bf98dd05814c2d85afde4b20b63a44873e2b6c1 -
Branch / Tag:
refs/tags/v_0.3.0 - Owner: https://github.com/bluewhitep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7bf98dd05814c2d85afde4b20b63a44873e2b6c1 -
Trigger Event:
release
-
Statement type:
File details
Details for the file notion_nilo-0.3.0-py3-none-any.whl.
File metadata
- Download URL: notion_nilo-0.3.0-py3-none-any.whl
- Upload date:
- Size: 101.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ff8151ddf920dcaa75f065d5e607b276cf3e60b6f99110d765742b7594fa6d8
|
|
| MD5 |
4ce8c8d157994e9d116891c9f0a03d02
|
|
| BLAKE2b-256 |
1b812ec86e15af7911a23fdabc5f19fed02901bbb488f39cc5d8607f75764dbf
|
Provenance
The following attestation bundles were made for notion_nilo-0.3.0-py3-none-any.whl:
Publisher:
publish.yml on bluewhitep/notion-nilo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
notion_nilo-0.3.0-py3-none-any.whl -
Subject digest:
5ff8151ddf920dcaa75f065d5e607b276cf3e60b6f99110d765742b7594fa6d8 - Sigstore transparency entry: 2061788044
- Sigstore integration time:
-
Permalink:
bluewhitep/notion-nilo@7bf98dd05814c2d85afde4b20b63a44873e2b6c1 -
Branch / Tag:
refs/tags/v_0.3.0 - Owner: https://github.com/bluewhitep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7bf98dd05814c2d85afde4b20b63a44873e2b6c1 -
Trigger Event:
release
-
Statement type: