Notes MCP Server

Notes MCP Server

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

Category
Visit Server

README

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured