Skip to content

lib4u/open-notebook-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Open Notebook MCP Server

An MCP (Model Context Protocol) server that connects AI assistants to your Open Notebook instance. Manage notebooks, sources, notes, search content, chat, and configure AI models — all through natural language. Writen in Go

Features

The server exposes 25 tools organized into the following categories:

📒 Notebooks

Tool Description
list_notebooks List all notebooks with optional filtering by archived status and ordering
get_notebook Retrieve a specific notebook by ID
create_notebook Create a new notebook with name and description
update_notebook Update notebook name, description, or archived status
delete_notebook Delete a notebook

📄 Sources

Tool Description
list_sources List sources with optional filtering by notebook, pagination
get_source Retrieve a specific source by ID
create_source Create a new source (link, upload, or text) with optional embedding
update_source Update a source title or topics
delete_source Delete a source

📝 Notes

Tool Description
list_notes List notes with optional filtering by notebook, pagination
get_note Retrieve a specific note by ID
create_note Create a new note with title and content
update_note Update note title, content, or topics
delete_note Delete a note

🔍 Search & Q&A

Tool Description
search Search content using vector or text search, optionally scoped to a notebook
ask_question Ask a question with full control over strategy, answer, and synthesis models
ask_simple Simplified question interface with the same model options

🤖 Models

Tool Description
list_models List all configured AI models
get_model Retrieve a specific model configuration
create_model Create a new AI model configuration (provider, type)
delete_model Delete a model configuration
get_default_models Get default model configurations

💬 Chat

Tool Description
list_chat_sessions List chat sessions, optionally filtered by notebook
create_chat_session Create a new chat session within a notebook
get_chat_session Retrieve a specific chat session
update_chat_session Update a chat session title
delete_chat_session Delete a chat session
execute_chat Send a message in a chat session and get a response
get_chat_context Build context for a chat conversation

⚙️ Settings

Tool Description
get_settings Get application settings
update_settings Update application settings

🔎 Meta

Tool Description
search_capabilities Search available tools with progressive detail levels (name, summary, full)

Installation

Prerequisites

Build from source

git clone https://github.com/lib4u/open-notebook-mcp
cd open-notebook-mcp
go build -o open-notebook-mcp .

This produces a single binary open-notebook-mcp that you can place anywhere on your system.

Configuration

The server is configured via environment variables:

Variable Default Description
OPEN_NOTEBOOK_URL http://localhost:5055 Base URL of your Open Notebook instance
OPEN_NOTEBOOK_PASSWORD (empty) Authentication token (if your instance requires it)
MCP_TRANSPORT stdio Transport mode: stdio or streamable-http
HOST 127.0.0.1 Host to bind (streamable-http only)
PORT 8000 Port to listen on (streamable-http only)
MCP_PATH /mcp HTTP endpoint path (streamable-http only)

Usage with AI Clients

Claude Desktop

Add the following to your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "open-notebook": {
      "command": "/path-to-binary/open-notebook-mcp",
      "args": [],
      "env": {
        "OPEN_NOTEBOOK_URL": "http://localhost:5055",
        "OPEN_NOTEBOOK_PASSWORD": "your_password_if_needed"
      }
    }
  }
}

Cursor

Open Settings → MCP and add a new server. In your .cursor/mcp.json:

{
  "mcpServers": {
    "open-notebook": {
      "command": "/path-to-binary/open-notebook-mcp",
      "args": [],
      "env": {
        "OPEN_NOTEBOOK_URL": "http://localhost:5055",
        "OPEN_NOTEBOOK_PASSWORD": "your_password_if_needed"
      }
    }
  }
}

Note: Replace /path-to-binary/open-notebook-mcp with the actual path to your compiled binary.

Streamable HTTP Mode

For remote or shared deployments, you can run the server in HTTP mode:

MCP_TRANSPORT=streamable-http \
OPEN_NOTEBOOK_URL=http://localhost:5055 \
HOST=0.0.0.0 \
PORT=8000 \
./open-notebook-mcp

The MCP endpoint will be available at http://<host>:<port>/mcp.

License

MIT

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages