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 shared Core/Runtime modules and thin CLI/MCP adapters.
Web docs: bluewhitep.github.io/notion-nilo
Status
- Core owns shared business logic; Runtime owns shared process and execution lifecycle behavior.
- CLI is the git-like human and Function Calling entrypoint, with explicit short aliases and stable
--jsonerrors. - MCP tools are the structured Agent/LLM entrypoint and reuse Core/Runtime capabilities.
- Background MCP server lifecycle commands are available through
nilo server .... - Local MCP clients use stdio; URL-based local or remote clients use Streamable HTTP. Legacy SSE is not supported.
Remote deployment guidance, authentication, TLS, and reverse-proxy configuration are deferred; current HTTP examples bind to localhost only.
The project is in alpha. Public APIs, CLI commands, and MCP tool contracts may still change before a stable release.
Installation
PyPI release
Install the current release from PyPI:
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
Web documentation is deployed with GitHub Pages:
Repository documentation is organized by language. The English tree is the source for content decisions:
Common English entrypoints:
Roadmap
- Stabilize the Core/Runtime, CLI, and MCP contracts toward the first stable release.
- Expand remote deployment security guidance before recommending network exposure.
- 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.4.0.tar.gz.
File metadata
- Download URL: notion_nilo-0.4.0.tar.gz
- Upload date:
- Size: 218.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d100ef5eb2da14d0a2c37f098232ff4a4ae74c426de4d77a64c7aded42a2726
|
|
| MD5 |
dd967c75ebf4e1563970e43a71e8734e
|
|
| BLAKE2b-256 |
afdd7bfa3e098157b28c6222cfbce2d3ce4338edd179a7585cc5f6532af0938c
|
Provenance
The following attestation bundles were made for notion_nilo-0.4.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.4.0.tar.gz -
Subject digest:
3d100ef5eb2da14d0a2c37f098232ff4a4ae74c426de4d77a64c7aded42a2726 - Sigstore transparency entry: 2149201243
- Sigstore integration time:
-
Permalink:
bluewhitep/notion-nilo@f213d76826c275e9ad2c673f6c864151b4d079c4 -
Branch / Tag:
refs/tags/v_0.4.0 - Owner: https://github.com/bluewhitep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f213d76826c275e9ad2c673f6c864151b4d079c4 -
Trigger Event:
release
-
Statement type:
File details
Details for the file notion_nilo-0.4.0-py3-none-any.whl.
File metadata
- Download URL: notion_nilo-0.4.0-py3-none-any.whl
- Upload date:
- Size: 112.7 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 |
bc1df4398400f1680f9e2e9de241cea4940a1b77f8b4897bf65fe0ce7491bb62
|
|
| MD5 |
6c5843b44c9c761b092e984310299829
|
|
| BLAKE2b-256 |
3194e796e3d55f00239a8021e3a75f5fe7c1d8d93495f2d4339ce089a246a535
|
Provenance
The following attestation bundles were made for notion_nilo-0.4.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.4.0-py3-none-any.whl -
Subject digest:
bc1df4398400f1680f9e2e9de241cea4940a1b77f8b4897bf65fe0ce7491bb62 - Sigstore transparency entry: 2149201652
- Sigstore integration time:
-
Permalink:
bluewhitep/notion-nilo@f213d76826c275e9ad2c673f6c864151b4d079c4 -
Branch / Tag:
refs/tags/v_0.4.0 - Owner: https://github.com/bluewhitep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f213d76826c275e9ad2c673f6c864151b4d079c4 -
Trigger Event:
release
-
Statement type: