Cover image
Try Now
2025-01-31

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

3 years

Works with Finder

1

Github Watches

4

Github Forks

7

Github Stars

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]

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Andris Teikmanis
  • Latvian GPT assistant for developing GPT applications

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Khalid kalib
  • Write professional emails

  • https://tovuti.be
  • Oede knorrepot die vasthoudt an de goeie ouwe tied van 't boerenleven

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • Yasir Eryilmaz
  • AI scriptwriting assistant for short, engaging video content.

  • Gil kaminski
  • Make sure you are post-ready before you post on social media

  • ShrimpingIt
  • Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx

  • huahuayu
  • A unified API gateway for integrating multiple etherscan-like blockchain explorer APIs with Model Context Protocol (MCP) support for AI assistants.

  • deemkeen
  • control your mbot2 with a power combo: mqtt+mcp+llm

  • zhaoyunxing92
  • 本项目是一个钉钉MCP(Message Connector Protocol)服务,提供了与钉钉企业应用交互的API接口。项目基于Go语言开发,支持员工信息查询和消息发送等功能。

  • apappascs
  • Discover the most comprehensive and up-to-date collection of MCP servers in the market. This repository serves as a centralized hub, offering an extensive catalog of open-source and proprietary MCP servers, complete with features, documentation links, and contributors.

    Reviews

    2 (1)
    Avatar
    user_PKPTjcBh
    2025-04-15

    As a dedicated MCP application user, I highly recommend the Remote MCP Server on Cloudflare by FrankGoortani. This innovative product has enhanced my workflow with its seamless performance and high reliability. Its integration with Cloudflare ensures top-notch security and speed, making it an essential tool for any developer. Check it out for a robust and efficient server solution!