Manages markdown notes in a specified directory, allowing users to create, read, update, and list notes through the Model Context Protocol.
This is an MCP (Model Context Protocol) server implementation that manages markdown notes in a given directory. The server provides functionality to create, read, and update markdown notes using the stdio transport.
The server implements the following capabilities:
The server provides the following resource:
path
: The path to the vaultnote_count
: The total number of notes in the vaultThe server implements the following MCP tools:
Creates a new markdown note.
Parameters:
title
: The title of the note (required)content
: The content of the note (optional, defaults to empty string)Returns:
filename
: The name of the created filepath
: The full path to the created filecreated_at
: ISO timestamp of creationReads an existing markdown note.
Parameters:
title
: The title of the note to read (required)Returns:
title
: The title of the notecontent
: The content of the notepath
: The full path to the filecreated_at
: ISO timestamp of creationmodified_at
: ISO timestamp of last modificationUpdates an existing markdown note.
Parameters:
title
: The title of the note to update (required)content
: The new content for the note (optional, defaults to empty string)Returns:
filename
: The name of the updated filepath
: The full path to the fileupdated_at
: ISO timestamp of updateLists all markdown notes in the vault.
Parameters: None
Returns:
notes
: Array of note objects, each containing:
title
: The title of the notepath
: The full path to the filecreated_at
: ISO timestamp of creationmodified_at
: ISO timestamp of last modificationtotal
: Total number of notespip install -r requirements.txt
Configure the server to work within the given directory on line 110 of main.py by editing the notes_dir property:
Configure Cursor to use the MCP server:
.cursor/mcp.json
The server will automatically start when Cursor loads the project. You can also run it manually:
python main.py
The server will start and listen for MCP requests through stdin/stdout. All operations are logged with appropriate levels (info/error) for debugging and monitoring.
The server implements proper error handling for various scenarios:
All errors are logged and returned with appropriate error codes and messages.
The MCP server is configured in .cursor/mcp.json
with the following settings:
{ "mcpServers": { "notes-server": { "command": "python", "args": ["main.py"], "env": { "PYTHONIOENCODING": "utf-8" } } } }
To add the MCP as globally used, add it to the .cursor folder in your user directory, or go to Cursor Settings -> MCP -> Add New Global MCP Server -> copy/paste the mcp.json in this project to the new file -> Update the args to point to main.py
This configuration:
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!