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
- 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.
Install the current release from PyPI:
uv tool install notion-nilo
nilo --helpIf you do not use uv, install with pip instead:
pip install notion-nilo
nilo --helpUse 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 --helpThe 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.
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:
- 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.
uv run pytest -q -p no:cacheprovider
uv run ruff check .
uv run mypy srcLive Notion tests require explicit opt-in and real Notion credentials. Do not commit tokens or local configuration files.
Report non-sensitive bugs through GitHub issues. For sensitive security reports, follow SECURITY.md.
Pull requests are welcome. See CONTRIBUTING.md before opening a PR.
Licensed under the Apache License 2.0.