Atlas / MCP servers / epochal-dev / Open Notebook

Open NotebookBLOCK

mcp/epochal-dev/open-notebook

MCP server for an Open Source implementation of Notebook LM: Open Notebook

Verdict
BLOCK
Grade
D
Trust score
69 /100
Exposed tools
33 17r · 11w · 5d
Transport
stdio · streamable-http
License
MIT
Stars
46
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

An MCP (Model Context Protocol) server that provides tools to interact with the Open Notebook API. This server enables AI assistants like Claude to manage notebooks, sources, notes, search content, and interact with AI models through Open Notebook.

Features

  • Notebooks Management: Create, read, update, and delete notebooks
  • Sources Management: Add and manage content sources (links, uploads, text)
  • Notes Management: Create and organize notes within notebooks
  • Search & AI: Search content using vector/text search and ask questions
  • Models Management: Configure and manage AI models
  • Chat Sessions: Create and manage chat conversations
  • Settings: Access and update application settings
  • Progressive Disclosure: Efficient tool discovery with search_capabilities

Installation

Using uv (recommended)

# Clone the repository
git clone https://github.com/PiotrAleksander/open-notebook-mcp.git
cd open-notebook-mcp

# Install with uv
uv sync

Using pip

pip install -e .

Configuration

The server requires configuration to connect to your Open Notebook instance:

Environment Variables

Create a .env file or set these environment variables:

# Required: URL of your Open Notebook instance
OPEN_NOTEBOOK_URL=http://localhost:5055

# Optional: Authentication password (if APP_PASSWORD is set in Open Notebook)
OPEN_NOTEBOOK_PASSWORD=your_password_here

# Optional: Transport configuration (default: stdio)
MCP_TRANSPORT=stdio  # or streamable-http for remote deployment

Example Configuration

For local development with default Open Notebook settings:

# .env
OPEN_NOTEBOOK_URL=http://localhost:5055

If you've configured authentication in Open Notebook:

# .env
OPEN_NOTEBOOK_URL=http://localhost:5055
OPEN_NOTEBOOK_PASSWORD=my_secure_password
Read from source at commit f9610a599300OBSERVED · 2026-10-08
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code (pypi)
claude mcp add open-notebook-mcp --env OPEN_NOTEBOOK_PASSWORD=${OPEN_NOTEBOOK_PASSWORD} -- None open-notebook-mcp==0.2.0
03

Exposed tools (33)

17 read · 11 write · 5 destructive. Blast radius: 5 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.

ToolRiskDescription
ask_questionreadAsk a question about your content with detailed control.
ask_simplereadAsk a question about your content with simplified interface.
create_chat_sessionwriteCreate a new chat session.
create_modelwriteCreate a new AI model configuration.
create_notewriteCreate a new note.
create_notebookwriteCreate a new notebook.
create_sourcewriteCreate a new source (link, upload, or text).
delete_chat_sessiondestructiveDelete a chat session.
delete_modeldestructiveDelete a model configuration.
delete_notedestructiveDelete a note.
delete_notebookdestructiveDelete a notebook.
delete_sourcedestructiveDelete a source.
execute_chatwriteSend a message in a chat session.
get_chat_contextreadBuild context for a chat conversation.
get_chat_sessionreadGet a specific chat session by ID.
get_default_modelsreadGet default model configurations.
get_modelreadGet a specific model by ID.
get_notereadGet a specific note by ID.
get_notebookreadGet a specific notebook by ID.
get_settingsreadGet application settings.
get_sourcereadGet a specific source by ID.
list_chat_sessionsreadGet all chat sessions with optional filtering.
list_modelsreadGet all configured AI models.
list_notebooksreadGet all notebooks with optional filtering and ordering.
list_notesreadGet all notes with optional filtering.
list_sourcesreadGet all sources with optional filtering.
searchreadSearch content using vector or text search.
search_capabilitiesreadSearch tools exposed by this server with progressive detail levels.
update_chat_sessionwriteUpdate a chat session.
update_notewriteUpdate a note.
update_notebookwriteUpdate a notebook.
update_settingswriteUpdate application settings.
update_sourcewriteUpdate a source.
04

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (2 observation(s))
Network
declared (7 observation(s))
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (4)

HIGHPrivilege escalation / persistence · priv.escalate · CWE-269, CWE-250
.devcontainer/Dockerfile:13
sudo \
Why it matters. asks for elevated privileges
MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
delete_chat_session, delete_model, delete_note, delete_notebook, delete_source
Why it matters. 5 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
CONTRIBUTING.md:23
# Edit .env with your Open Notebook instance URL and password
Why it matters. asks the agent to read credentials
INFOPrompt injection · scope.undeclared_system · CWE-94, CWE-1427
<declared scope>
system use found in code, not declared in the description
Why it matters. the description does not admit a capability the code has
Fix. declare system use in the description, or remove it

Gates applied: no_behavioural_pass.

Audited 2026-10-08 · audit v0.4.1 · source sha f9610a599300full audit observations/trust-audit/mcp-server/epochal-dev__open-notebook.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-08f9610a599300BLOCKD69first audit
06

Questions

What is the Open Notebook MCP server?

MCP server for an Open Source implementation of Notebook LM: Open Notebook

What tools does Open Notebook expose?

33 in total: 17 read-only, 11 that write, and 5 that can delete or overwrite (delete_chat_session, delete_model, delete_note, delete_notebook, delete_source). Every one is listed on this page with its risk.

Is Open Notebook safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 5 of its tools can destroy data, so scope the token you give it to what you actually need.

What credentials does Open Notebook need?

It reads OPEN_NOTEBOOK_PASSWORD from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does Open Notebook run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on PyPI as open-notebook-mcp.

How current is this page?

The grade is for one exact copy of the source (f9610a599300), read on 2026-10-08. The repository is watched and re-audited when it changes.

Advertisement