Integrations
Manages markdown notes in a directory, providing tools to create, read, update and list markdown notes with automatic file management and timestamp tracking.
MCP Notes Server
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.
Features
- Create new markdown notes
- Read existing markdown notes
- Update existing markdown notes
- List all notes in the vault
- Automatic file management in the specified directory
- Proper error handling and logging
- Timestamp tracking for note creation and modification
- JSON Schema validation for all operations
Server Capabilities
The server implements the following capabilities:
- Version: 1.0.0
- Name: Notes MCP Server
- Description: A server for managing markdown notes in an given directory
- Supported Transports: stdio
Resources
The server provides the following resource:
- Properties:
path
: The path to the vaultnote_count
: The total number of notes in the vault
Tools
The server implements the following MCP tools:
create_note
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 creation
read_note
Reads 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 modification
update_note
Updates 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 update
list_notes
Lists 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 modification
total
: Total number of notes
Setup
- Install the required dependencies:
- 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:
- The configuration file is located at
.cursor/mcp.json
- Cursor will automatically detect and use this configuration
- The server is configured to run with Python and proper UTF-8 encoding
- The configuration file is located at
Running the Server
The server will automatically start when Cursor loads the project. You can also run it manually:
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.
Error Handling
The server implements proper error handling for various scenarios:
- Missing required parameters
- File already exists
- File not found
- General exceptions
All errors are logged and returned with appropriate error codes and messages.
Configuration Details
The MCP server is configured in .cursor/mcp.json
with the following settings:
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:
- Names the server "notes-server"
- Uses Python to run the server
- Sets UTF-8 encoding for proper character handling
This server cannot be installed
Manages markdown notes in a specified directory, allowing users to create, read, update, and list notes through the Model Context Protocol.