OpenNotebook MCP Proxy Server
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
OpenNotebook MCP Multitenant Proxy Server
This repository contains a Model Context Protocol (MCP) server that acts as a secure, multi-tenant proxy between an AI Assistant and the OpenNotebook backend API. It exposes 81 MCP tools covering 14 resource domains with full CRUD, search, chat, podcast, and command management.
β¨ Features
π Identity Passthrough β Extracts the
Authorization: Bearer <token>header from incoming HTTP requests and forwards it to the OpenNotebook API without server-side authentication.π₯ Multi-Tenancy β Uses Python
contextvarsto maintain thread-safe user identity isolation, ensuring all AI-driven actions are scoped to the authenticated user's permissions.π Full OpenNotebook Coverage β 81 tools mapped to OpenNotebook API endpoints across 14 resource domains.
β‘ TOON Optimization β Bulk list responses are automatically compressed using TOON (Token-Optimized Object Notation) to reduce token consumption and maximize context window efficiency.
π Efficient Gets β GET responses return only commonly used fields by default. Full objects are available via an
include_all_fieldsflag.π§ͺ Comprehensive Testing β 109 automated tests covering all tool domains, run via the test runner pipeline.
π·οΈ Tool Annotations β All tools expose standard MCP ToolAnnotations hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint). The tags field carries grouping metadata (basic/primary/advanced + opennotebook).
Related MCP server: NotebookLM MCP Server
π§ Environment Variables
Variable | Required | Description |
| Yes | Docker-internal URL of the OpenNotebook API |
| Yes | Port number the MCP server listens on |
| No | When |
| No | When |
π¦ Installation & Local Development
Ensure you have Python 3.12+ installed.
Install dependencies:
pip install fastmcp httpx pydantic uvicorn toon-mcp-serverRun the server:
export OPENNOTEBOOK_BASE_URL=http://localhost:5055 export MCP_SERVER_PORT=80 python -m src.main
π³ Docker Deployment
Build and run the server using Docker:
docker build -t opennotebook-mcp:latest .
docker run -d --name opennotebook-mcp \
-e OPENNOTEBOOK_BASE_URL="http://opennotebook-app:5055" \
-e MCP_SERVER_PORT=80 \
opennotebook-mcp:latestThe MCP server serves at http://opennotebook-mcp:80/mcp
(Streamable HTTP).
β οΈ Important Notes
π
include_all_fieldsβ Theinclude_all_fieldsparameter (available on allget_*andlist_*tools) controls whether all available fields are included in responses. Defaults toFalsefor performance; set toTrueonly when additional fields are needed.β‘ TOON Compression β All bulk list responses are automatically compressed using TOON to reduce token consumption by 30β60%.
π Required Fields & Defaults β Each
create_*tool requires specific key fields. All other fields default to empty strings or reasonable values. The owner field is automatically set to the authenticated user for most resources.
π οΈ API Tool Mapping
The server implements 81 MCP tools organized into the following categories:
π Notebooks (9 tools)
check_server_statusβ Check the health and status of the OpenNotebook backend APIlist_all_notebooksβ List all notebook recordsget_notebook_by_idβ Get a single notebook by IDcreate_notebookβ Create a new notebookupdate_notebookβ Update an existing notebookdelete_notebook_by_idβ Delete a notebook by IDget_notebook_delete_previewβ Get a preview of what will be deletedadd_source_to_notebookβ Add an existing source to a notebookremove_source_from_notebookβ Remove a source from a notebooklist_recently_viewedβ List recently viewed items
π Notes (5 tools)
list_all_notesβ List all note recordsget_note_by_idβ Get a single note by IDcreate_noteβ Create a new noteupdate_noteβ Update an existing notedelete_note_by_idβ Delete a note by ID
π Sources (8 tools)
list_all_sourcesβ List all source recordsget_source_by_idβ Get a single source by IDcreate_sourceβ Create a new source (link or text type)update_sourceβ Update an existing sourcedelete_source_by_idβ Delete a source by IDget_source_statusβ Get processing status for a sourceretry_source_processingβ Retry processing for a failed sourcelist_source_insightsβ List all insights for a sourcecreate_source_insightβ Start insight generation for a source
π‘ Insights (4 tools)
get_insight_by_idβ Get a single insight by IDdelete_insight_by_idβ Delete an insight by IDsave_insight_as_noteβ Convert an insight to a notelist_source_insightsβ List insights for a source
π Search & Settings (4 tools)
search_knowledge_baseβ Search the knowledge baseask_knowledge_base_simpleβ Ask the knowledge base a questionget_settingsβ Get all application settingsupdate_settingsβ Update application settings
π€ Models (5 tools)
list_all_modelsβ List all configured modelscreate_modelβ Create a new model configurationdelete_model_by_idβ Delete a model by IDget_default_modelsβ Get default model assignmentsupdate_default_modelsβ Update default model assignments
π Transformations (8 tools)
list_all_transformationsβ List all transformation recordsget_transformation_by_idβ Get a single transformation by IDcreate_transformationβ Create a new transformationupdate_transformationβ Update an existing transformationdelete_transformation_by_idβ Delete a transformation by IDexecute_transformationβ Execute a transformation on input textget_default_transformation_promptβ Get the default promptupdate_default_transformation_promptβ Update the default prompt
π§© Embedding (3 tools)
embed_contentβ Embed content for vector searchstart_embedding_rebuildβ Start a background rebuild jobget_rebuild_statusβ Get rebuild operation status
π¬ Chat (7 tools)
list_chat_sessionsβ List chat sessions for a notebookcreate_chat_sessionβ Create a new chat sessionget_chat_sessionβ Get a chat session with messagesupdate_chat_sessionβ Update a chat sessiondelete_chat_sessionβ Delete a chat sessionexecute_chatβ Execute a chat requestbuild_chat_contextβ Build notebook context
π Source Chat (5 tools)
create_source_chat_sessionβ Create a source chat sessionlist_source_chat_sessionsβ List source chat sessionsget_source_chat_sessionβ Get a source chat sessionupdate_source_chat_sessionβ Update a source chat sessiondelete_source_chat_sessionβ Delete a source chat session
ποΈ Podcasts (6 tools)
generate_podcastβ Generate a podcast episodeget_podcast_job_statusβ Get podcast job statuslist_podcast_episodesβ List all podcast episodesget_podcast_episodeβ Get a specific episoderetry_podcast_episodeβ Retry a failed episodedelete_podcast_episodeβ Delete a podcast episode
π¬ Episode Profiles (6 tools)
list_episode_profilesβ List all episode profilesget_episode_profileβ Get a profile by namecreate_episode_profileβ Create a new episode profileupdate_episode_profileβ Update an episode profiledelete_episode_profileβ Delete an episode profileduplicate_episode_profileβ Duplicate an episode profile
π£οΈ Speaker Profiles (6 tools)
list_speaker_profilesβ List all speaker profilesget_speaker_profileβ Get a profile by namecreate_speaker_profileβ Create a new speaker profileupdate_speaker_profileβ Update a speaker profiledelete_speaker_profileβ Delete a speaker profileduplicate_speaker_profileβ Duplicate a speaker profile
π Commands (4 tools)
submit_command_jobβ Submit a command for background processingget_command_job_statusβ Get command job statuslist_command_jobsβ List command jobscancel_command_jobβ Cancel a running command job
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
This server cannot be deployed
Maintenance
Related MCP Connectors
Agent-native notes, tasks, dev-docs, vaults, sync & handoffs. MCP + OpenAPI dual surface.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
The OpenRouter for tools. One MCP connection gives any AI agent 254 hosted tools, pay per call.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA production-grade MCP server designed for multi-tenant, authenticated, and observable AI agent systems, enabling secure tool execution across heterogeneous data sources.67MIT
- AlicenseNot gradedqualityCmaintenanceExposes Google NotebookLM as MCP tools, enabling management of notebooks, sources, chat, artifacts, and research via natural language.2MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to discover and execute tools via a secure MCP server with JWT authentication, RBAC, rate limiting, and audit logging.1MIT
- AlicenseBqualityCmaintenanceMCP server that provides ~39 tools to interact with Google NotebookLM's internal API, enabling notebook management, source addition, chat queries, and Studio artifact generation through stdio, HTTP, and SSE transports.39MIT