Skip to main content

Read and write notes.

Project description

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:
    python -m venv .venv
    
    # On Unix/MacOS:
    source .venv/bin/activate
    
    # On Windows:
    .venv\Scripts\activate
    
  3. Install requirements:
    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:

    mcp install src/notes
    mcp start Notes
    
  2. Example operations:

    # 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]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_notes-0.1.0.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iflow_mcp_notes-0.1.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file iflow_mcp_notes-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_notes-0.1.0.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.17

File hashes

Hashes for iflow_mcp_notes-0.1.0.tar.gz
Algorithm Hash digest
SHA256 97ed49e3862a8dfc68c9904c2c7e7fa934377adcccfb16c721c792bac6cad03a
MD5 55c3d522b767d2f24e82a3b3a9336dda
BLAKE2b-256 cb4d6ff6f734944b92ff6a6bb33fd4041791a51231b4c759a86dddb689871923

See more details on using hashes here.

File details

Details for the file iflow_mcp_notes-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for iflow_mcp_notes-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5750514dbc00e0cd30853f7147e26c1b1d955f055084d46693a0231ae04cd2d7
MD5 9f7ea0e08cfa6e19bc35024ca302135b
BLAKE2b-256 a0ba55a844e331838d3b7fc65ac71d4fdfb44e5aaf92d7fb3b3f5043f6f8476b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page