MCP server that wraps the Open Notebook API
Valid MCP server (1 strong, 5 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry. Trust signals: trusted author (3/3 approved).
5 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: OPEN_NOTEBOOK_URL
Environment variable: OPEN_NOTEBOOK_PASSWORD
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-piotraleksander-open-notebook": {
"env": {
"OPEN_NOTEBOOK_URL": "your-open-notebook-url-here",
"OPEN_NOTEBOOK_PASSWORD": "your-open-notebook-password-here"
},
"args": [
"open-notebook-mcp"
],
"command": "uvx"
}
}
}From the project's GitHub README.
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.
search_capabilities# Clone the repository
git clone https://github.com/PiotrAleksander/open-notebook-mcp.git
cd open-notebook-mcp
# Install with uv
uv sync
pip install -e .
The server requires configuration to connect to your Open Notebook instance:
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
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
For local use with AI assistants:
uv run open-notebook-mcp
Or using the MCP CLI:
mcp dev src/open_notebook_mcp/server.py
For remote deployment:
MCP_TRANSPORT=streamable-http HOST=0.0.0.0 PORT=8000 uv run open-notebook-mcp
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"open-notebook": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/open-notebook-mcp",
"open-notebook-mcp"
],
"env": {
"OPEN_NOTEBOOK_URL": "http://localhost:5055",
"OPEN_NOTEBOOK_PASSWORD": "your_password_if_needed"
}
}
}
}
The server implements progressive disclosure. Use the search_capabilities tool to discover available functionality:
# Get a summary of all tools
search_capabilities(query="", detail="summary", limit=50)
# Search for specific functionality
search_capabilities(query="notebook", detail="summary", limit=10)
# Get full details for a specific tool
search_capabilities(query="create_notebook", detail="full", limit=1)
# Create a new notebook
result = create_notebook(
name="AI Research",
description="Research on AI applications"
)
notebook_id = result["notebook"]["id"]
# List all notebooks
notebooks = list_notebooks(archived=False, limit=20)
# Update a notebook
update_notebook(
notebook_id=notebook_id,
name="AI Research (Updated)"
)
# Get a specific notebook
notebook = get_notebook(notebook_id=notebook_id)
# Add a web source
source = create_source(
notebook_id=notebook_id,
type="link",
url="https://example.com/ai-article",
title="AI Research Article",
embed=True # Generate embeddings
)
# List sources in a notebook
sources = list_sources(notebook_id=notebook_id, limit=20)
# Create a note
note = create_note(
notebook_id=notebook_id,
title="Key Findings",
content="Important insights about AI applications...",
topics=["AI", "Research"]
)
# Update a note
update_note(
note_id=note["note"]["id"],
content="Updated insights..."
)
# Search content
results = search(
query="artificial intelligence",
type="vector",
notebook_id=notebook_id,
limit=10
)
# List available models first
models = list_models(limit=50)
model_id = models["models"][0]["id"]
# Ask a question
answer = ask_simple(
question="What are the main AI applications mentioned?",
strategy_model=model_id,
answer_model=model_id,
final_answer_model=model_id,
notebook_id=notebook_id
)
# Create a chat session
session = create_chat_session(
notebook_id=notebook_id,
title="Research Discussion"
)
session_id = session["session"]["id"]
# Build context
context = get_chat_context(notebook_id=notebook_id)
# Send a message
response = execute_chat(
session_id=session_id,
message="What are the key insights from my research?",
context=context["context"]
)
# Get session history
history = get_chat_session(session_id=session_id)
The server provides 39 tools across multiple categories:
search_capabilities - Progressive tool discoverylist_notebooks, get_notebook, create_notebook, update_notebook, delete_notebooklist_sources, get_source, create_source, update_source, delete_sourcelist_notes, get_note, create_note, update_note, delete_notesearch, ask_question, ask_simplelist_models, get_model, create_model, delete_model, get_default_modelslist_chat_sessions, create_chat_session, get_chat_session, update_chat_session, delete_chat_session, execute_chat, get_chat_contextget_settings, update_settingsThis server follows MCP best practices:
search_capabilities to minimize context usageopen-notebook-mcp/
├── src/
│ └── open_notebook_mcp/
│ ├── __init__.py
│ └── server.py # Main MCP server implementation
├── tests/ # (to be added)
├── pyproject.toml
├── README.md
└── .env.example
Test the server using the MCP Inspector:
mcp dev src/open_notebook_mcp/server.py
or
npx @modelcontextprotocol/inspector uv --directory ./src/open_notebook_mcp "run" "server.py"
This opens an interactive inspector where you can:
To add new tools:
Capability entry to the CAPABILITIES tuple@mcp.tool() decoratorverb_noun (e.g., list_notebooks)request_idmcp[cli]>=1.23.2, httpx>=0.28.1Contributions are welcome! Please ensure:
CAPABILITIES indexSee LICENSE file for details.
For issues related to:
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.