mnedoszytko/noteplan-mcp
If you are the rightful owner of noteplan-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The NotePlan MCP Server allows interaction with NotePlan notes through Claude or other LLMs, providing a seamless integration for note-taking and task management.
NotePlan MCP Server
MCP (Model Context Protocol) server for interacting with NotePlan notes through Claude or other LLMs.
NotePlan is a powerful markdown-based note-taking and task management app for macOS and iOS that combines calendar, notes, and todos in one place.
Features
- Read daily notes: Access today's note or any specific date
- Search notes: Find notes containing specific text
- List tasks: Extract todos from your notes with completion status
- Browse projects: List all project folders and their contents
- Query specific notes: Read any note by its path
Installation
- Clone this repository
- Install dependencies:
npm install
- Build the project:
npm run build
Configuration
NotePlan Data Directory
By default, the server looks for NotePlan data in the standard macOS location:
~/Library/Containers/co.noteplan.NotePlan3/Data/Library/Application Support/co.noteplan.NotePlan3
If you have NotePlan installed in a different location or are using a different operating system, you can override this by setting the NOTEPLAN_BASE_PATH
environment variable:
export NOTEPLAN_BASE_PATH="/path/to/your/noteplan/data"
Or create a .env
file in the project root:
NOTEPLAN_BASE_PATH="/path/to/your/noteplan/data"
Usage with Claude Desktop
Add this to your Claude Desktop config file (~/Library/Application Support/Claude/claude_desktop_config.json
):
{
"mcpServers": {
"noteplan": {
"command": "node",
"args": ["/path/to/noteplan-mcp/dist/index.js"]
}
}
}
Usage with Claude Code
The MCP server is already configured in .claude/settings.local.json
. When you open this project in Claude Code, the NotePlan MCP server will be automatically available.
Alternatively, you can add it to any project by including this in .claude/settings.local.json
:
{
"mcpServers": {
"noteplan": {
"command": "node",
"args": ["/path/to/noteplan-mcp/dist/index.js"]
}
}
}
Available Tools
read_today_note
Reads today's daily note from NotePlan.
read_date_note
Reads a daily note for a specific date.
date
: Date in YYYY-MM-DD format
read_note
Reads a specific note by its path.
notePath
: Path relative to Notes directory (e.g., "10 - Projects/My Project/My Project JV - main points.txt")
search_notes
Searches for notes containing specific text.
query
: Search queryfolder
: (optional) Limit search to specific folder
list_tasks
Lists all tasks from notes.
includeCompleted
: (optional) Include completed tasksfolder
: (optional) Limit to specific folder
list_projects
Lists all project folders and their note counts.
add_task
Adds a task to a note (defaults to today's note).
task
: Task descriptiontype
: (optional) "main" (*) or "sub" (+), defaults to "sub"date
: (optional) Date in YYYY-MM-DD formatnotePath
: (optional) Path to specific note (overrides date)parentTask
: (optional) Parent task to add this as a subtasktimeBlock
: (optional) Time block in HH:MM-HH:MM format
append_to_note
Appends content to a note (defaults to today's note).
content
: Content to appenddate
: (optional) Date in YYYY-MM-DD formatnotePath
: (optional) Path to specific note (overrides date)
toggle_task
Toggles a task between done ([x]) and undone.
taskQuery
: Part of the task text to find itdate
: (optional) Date in YYYY-MM-DD formatnotePath
: (optional) Path to specific note (overrides date)occurrence
: (optional) Which occurrence to toggle (defaults to 1)
edit_task
Edits an existing task's text while preserving its status.
oldTaskQuery
: Part of the current task text to find itnewTaskText
: New task text (without * or + prefix)date
: (optional) Date in YYYY-MM-DD formatnotePath
: (optional) Path to specific note (overrides date)occurrence
: (optional) Which occurrence to edit (defaults to 1)
Development
Run in development mode:
npm run dev
Example Queries
- "Show me today's tasks"
- "Search for notes about My Project"
- "What are my incomplete tasks in the Projects folder?"
- "Read my note about My Project JV main points"
- "Add a task to today's note: Review code changes"
- "Add a time-blocked task: 16:00-17:00 Team meeting"
- "Add a subtask under 'New Project'"
- "Mark 'test ig' as done"
- "Toggle the task containing 'break'"
- "Edit task 'this one is not done' to 'Complete the documentation'"
Author
Michal Nedoszytko
Email:
Website: nedoszytko.com
Check out my other projects:
- Previsit.ai - AI-powered pre-visit preparation platform
- MedDuties.com - Medical duty management system