mcp-note-taker

mcp-note-taker

3

MCP Note Taker is a proof-of-concept Model Context Protocol server designed for AI assistant note-taking. It features tools to manage notes effectively and can integrate with AI assistants like Cursor for enhanced functionality. All notes are stored locally in a text file.

MCP Note Taker (POC)

A proof-of-concept implementation of a Model Context Protocol (MCP) server for AI assistant note-taking, featuring custom tools and resources for managing notes.

Overview

This project demonstrates how to create and use a Model Context Protocol (MCP) server that provides note-taking capabilities to AI assistants (such as Claude, Cursor, and others supporting MCP). The server includes:

  • A tool to add notes
  • A resource to fetch the latest note
  • A prompt to summarize all notes

All notes are stored in a local notes.txt file in the project directory.

Requirements

  • Python 3.11
  • Required packages listed in requirements.txt

Installation and Setup

  1. Clone this repository:
git clone https://github.com/yourusername/mcp-server-poc.git
cd mcp-server-poc
  1. Create and activate a virtual environment:
# Init uv package manager 
uv init

# Create a Python 3.11 virtual environment
uv venv

# Activate on Windows
 .venv\Scripts\activate

# Activate on macOS/Linux
source venv/bin/activate
  1. Install the required packages:
uv pip install -r requirements.txt
  1. (Optional) Install MCP CLI tools if needed for development or alternative integrations:
uv add "mcp[cli]"

Running the Application

To run the MCP server:

uv run mcp

The server will start and wait for connections using the stdio transport method.

Integrating with Cursor

To use this MCP server with Cursor IDE:

  1. Create or edit the file ~/.cursor/mcp.json (on Windows: C:\Users\<username>\.cursor\mcp.json) with the following content:
{
    "mcpServers": {
        "mcp-server": {
            "command": "python", 
            "args": [
                "ABSOLUTE/PATH/TO/main.py"
            ]
        }
    }
}
  1. Replace the path with the absolute path to your main.py file.

    • On Windows, use double backslashes: C:\\Users\\username\\path\\to\\main.py
    • On macOS/Linux, use regular slashes: /Users/username/path/to/main.py
  2. Restart Cursor completely (including ending any background processes) to load the MCP server.

Features

Tools

  • add_note(note: str): Adds a note to the notes.txt file and returns a confirmation message.

Resources

  • notes://latest: Returns the latest note from the notes.txt file, or a message if there are no notes yet.

Prompts

  • note_summary_prompt(): Generates a prompt asking the AI to summarize all current notes in notes.txt.

Technical Details

  • All notes are stored in a plain text file named notes.txt in the project root. This file is created automatically if it does not exist.
  • The server uses the Model Context Protocol SDK and the mcp[cli] dependency.

Windows Binary Mode Fix

If you use stdio transport on Windows, you may need to set binary mode for stdin/stdout. See the MCP documentation for details.

Troubleshooting

  • Verify that all required packages are installed (pip list to check)
  • Check that the absolute path in the configuration file is correct
  • Make sure the MCP server is running with the proper version of Python (3.11)
  • If you encounter issues, try running the MCP server directly to see any error output

License

Acknowledgements