MCP Notes Server

by truaxki

7 stars
341 downloads
Not rated
GitHub

About

A Model Context Protocol (MCP) server implementation providing persistent note management created with Python SDK.

Details

Author
truaxki
GitHub stars
7
Downloads
341
Categories
Knowledge Base

- Create, read, update, and delete notes
- Persistent JSON storage with timestamp tracking
- Note summarization via LLM prompts
- Resource access using the note:// URI scheme
- Supports both brief and detailed summaries

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP Notes Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install automatically via Smithery (npx -y @smithery/cli install notes --client claude) or manually with Python 3.10+ and the MCP package. Start the server with mcp install src/notes and mcp start Notes, then call tools like add-note, list-all-notes, update-note, and delete-note from an MCP client.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp notes server": {
            "mcp-notes-truaxki": {
                "command": "npx",
                "args": [
                    "-y",
                    "@smithery/cli",
                    "install",
                    "notes",
                    "--client",
                    "claude"
                ]
            }
        }
    }
}

McpServers

{
    "mcp-notes-truaxki": {
        "command": "npx",
        "args": [
            "-y",
            "@smithery/cli",
            "install",
            "notes",
            "--client",
            "claude"
        ]
    }
}

MCP Notes Server

smithery badge

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

<a href="https://glama.ai/mcp/servers/tg4ugmp8jr">Notes Server MCP server</a>

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]

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.