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
The server exposes 25 tools organized into the following categories:
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| Tool | Description |
|---|---|
get_settings |
Get application settings |
update_settings |
Update application settings |
| Tool | Description |
|---|---|
search_capabilities |
Search available tools with progressive detail levels (name, summary, full) |
- Go 1.23 or later
- A running Open Notebook instance
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.
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) |
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"
}
}
}
}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-mcpwith the actual path to your compiled binary.
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-mcpThe MCP endpoint will be available at http://<host>:<port>/mcp.
MIT