Notes MCP Server

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 vault
    • note_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 file
  • path: The full path to the created file
  • created_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 note
  • content: The content of the note
  • path: The full path to the file
  • created_at: ISO timestamp of creation
  • modified_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 file
  • path: The full path to the file
  • updated_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 note
    • path: The full path to the file
    • created_at: ISO timestamp of creation
    • modified_at: ISO timestamp of last modification
  • total: Total number of notes

Setup

  1. Install the required dependencies:
pip install -r requirements.txt
  1. Configure the server to work within the given directory on line 110 of main.py by editing the notes_dir property:
  2. 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

Running the Server

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.

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:

{ "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:

  • Names the server "notes-server"
  • Uses Python to run the server
  • Sets UTF-8 encoding for proper character handling
-
security - not tested
F
license - not found
-
quality - not tested

Manages markdown notes in a specified directory, allowing users to create, read, update, and list notes through the Model Context Protocol.

  1. Features
    1. Server Capabilities
      1. Resources
        1. Tools
          1. create_note
          2. read_note
          3. update_note
          4. list_notes
        2. Setup
          1. Running the Server
            1. Error Handling
              1. Configuration Details
                ID: x0ui78j8rd