logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

mcp-notes

Manage notes with persistent storage and access through URI. Supports create, read, update, and delete operations, along with note summarization and timestamp tracking.

Author

mcp-notes logo

truaxki

MIT License

Quick Info

GitHub GitHub Stars 7
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

notetakingnotestruaxkinotes managemanage notesnotes persistent

MCP Notes Server

smithery badge

A Model Context Protocol (MCP) server implementation for managing notes with persistent storage.

Notes Server MCP server

Features

  • Create, read, update, and delete notes
  • Persistent storage using JSON
  • Timestamp tracking for creation and modifications
  • Note summarization via prompts
  • Resource-based access using note:// URI scheme

Installation

Installing via Smithery

To install notes for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install notes --client claude

Manual Installation

  1. Ensure you have Python 3.10 or later installed
  2. Create a virtual environment: ```bash python -m venv .venv

# On Unix/MacOS: source .venv/bin/activate

# On Windows: .venv\Scripts\activate 3. Install requirements:bash pip install MCP ```

Project Structure

notes/
├── __init__.py          # Package initialization
├── server.py           # Main server implementation
├── storage.py          # Note persistence layer
├── resources.py        # Resource handling (note:// URIs)
├── prompts.py         # LLM prompt generation
└── tools/             # Server tools
    ├── __init__.py    # Tools package initialization
    ├── list_tools.py  # Tool listing functionality
    └── handle_tools.py # Tool handling implementation

Available Tools

  • add-note: Create a new note
  • list-all-notes: Display all stored notes
  • update-note: Modify an existing note
  • delete-note: Remove a note

Usage

  1. Start the server: bash mcp install src/notes mcp start Notes

  2. Example operations: ```python # Create a note await client.call_tool("add-note", { "name": "example", "content": "This is a test note" })

# List all notes await client.call_tool("list-all-notes")

# Update a note await client.call_tool("update-note", { "name": "example", "content": "Updated content" })

# Delete a note await client.call_tool("delete-note", { "name": "example" }) ```

Storage

Notes are stored in notes_storage.json with the following structure:

{
    "note_name": {
        "content": "Note content",
        "created_at": "2025-01-12T11:28:16.721704",
        "modified_at": "2025-01-12T11:28:16.721704"
    }
}

Resource Access

Notes can be accessed as resources using the note:// URI scheme: - List resources: Returns all available notes as resources - Read resource: Access a specific note using note://internal/note_name

Prompt Generation

The server includes a prompt generation feature for note summarization: - Supports both brief and detailed summaries - Formats notes for language model input - Available via the "summarize-notes" prompt

Development

To modify or extend the server: 1. Clone the repository 2. Install development dependencies 3. Make changes in the appropriate module 4. Test thoroughly before deploying

Testing

Tests should cover: - Basic CRUD operations - Multiple note handling - Error cases - Resource access - Prompt generation

License

[Add your license here]

See Also

`