Purpose
JotDown is a Model Context Protocol (MCP) server implemented in Rust, with the goal of enabling large language models (LLMs) to interact directly with two types of content systems: Notion and mdBook. It is aimed at content management and publishing workflows, allowing LLM-generated content to be automatically saved to Notion or compiled into structured Markdown books.
Main Capabilities
- Notion integration: Through this tool, LLMs can create new pages in Notion or update existing pages, used to store articles or other types of structured documents.
- mdBook generation: LLMs can send structured content to the server to automatically generate an entire mdBook, including chapter creation, README.md, SUMMARY.md management, and each chapter's Markdown files.
- MCP support: With the Model Context Protocol, context is maintained during interactions, making content creation and updates smarter and more consistent.
Tool Descriptions
- Notion Page Tool: LLMs use it to create or update pages in Notion, saving structured documents generated by the LLM.
- mdBook Tool: LLMs use it to automatically generate Markdown books, handling multi-chapter creation and structure management, and generating SUMMARY.md for navigation; it can generate new books based on LLM-generated content and automatically generate chapters with correct links.
Usage
Prerequisites:
- Rust: Rust must be installed first, available from rust-lang.org.
- Notion API Token: A Notion API token (internal integration secret) is required to connect to Notion.
- Claude Desktop or another MCP client (such as Cline, Continue, etc.): The Notion integration token must already be installed and configured.
Installation steps:
- Clone the repository:
git clone https://github.com/Harry-027/JotDown, thencd jotdown. - Install dependencies:
cargo build --release. - Install the mdbook cli (required for book generation):
cargo install mdbook. - Notion setup: Create an internal integration connected to the Notion workspace, copy the internal integration secret; create a page in the workspace titled
Jot It Down, and share it with that connection. This is required for the integration to work properly. - Configure the Notion integration for Claude Desktop (or another MCP client): Add
"mcpServers": { "Jotdown": { "command": "/path_to_repo/Jotdown/target/release/Jotdown", "args": [], "env": { "NOTION_TOKEN": "your_notion_intergration_token" } } }to the configuration file. - Restart Claude Desktop and you can try it out.
Integration examples:
- Notion integration: The LLM sends a request to the server, specifying the content and page details, and the server calls the Notion API to create a new page or update an existing page.
- mdBook integration: The LLM sends structured content to the server to generate an entire mdBook, including chapter creation, README.md and SUMMARY.md management, and the server compiles the content into a complete book.
Applicable Scenarios
- Automatically write LLM-generated articles or documents to Notion pages.
- Automatically generate Markdown e-books (mdBook) with navigation based on LLM content.
- Integrate the above workflows in MCP-supporting clients such as Claude Desktop, Cline, and Continue.
Limitations
- Required conditions include a Rust environment, a Notion API token, and installation of the mdbook cli; lacking any one of these may make the corresponding functionality unavailable.
- The Notion integration requires creating a page named
Jot It Downin advance and sharing it with the internal connection. - The project does not provide descriptions of features other than Notion and mdBook.
- The project does not provide commercial information such as fees or pricing.
License and Contact
JotDown is licensed under the MIT License. For support or inquiries, email harishmmp@gmail.com.