MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

O
Open Notebook MCP

Implementing an MCP server for the Open Notebook API in GoLang

Created 2/23/2026
Updated about 21 hours ago
Repository documentation and setup instructions

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

Quick Setup
Installation guide for this server

Installation Command (package not published)

git clone https://github.com/lib4u/open-notebook-mcp
Manual Installation: Please check the README for detailed setup instructions and any additional dependencies required.

Cursor configuration (mcp.json)

{ "mcpServers": { "lib4u-open-notebook-mcp": { "command": "git", "args": [ "clone", "https://github.com/lib4u/open-notebook-mcp" ] } } }