MCP Hub
Back to servers

mcp-smart-notes

A sophisticated note-taking system that implements the Model Context Protocol (MCP) and features intelligent auto-tagging using local LLMs via Ollama. It enables AI-driven categorization and search across a JSON-based note repository.

Stars
3
Forks
1
Tools
6
Updated
Jun 29, 2025
Validated
Feb 9, 2026

mcp-smart-notes

Prototype Model Context Protocol (MCP) note-taking system with intelligent auto-tagging powered by local LLMs. Full MCP specification compliance, JSON-RPC 2.0 transport, and robust error handling with graceful fallbacks.

MCP Smart Note-Taking System

Python 3.8+ MCP Compatible Ollama

A sophisticated Model Context Protocol (MCP) compliant note-taking system with intelligent automatic tagging capabilities powered by local Large Language Models via Ollama.

Features

  • šŸ·ļø Intelligent Auto-Tagging: Uses LLM analysis to automatically categorize notes
  • šŸ“ Full MCP Compliance: Implements complete MCP specification for seamless AI integration
  • šŸ” Advanced Search: Full-text search across titles, content, and tags
  • šŸ—ƒļø Robust Data Management: JSON-based persistence with atomic operations
  • šŸ›”ļø Error Resilience: Multiple fallback mechanisms ensure reliability
  • šŸŽÆ Tag Categories: Predefined taxonomy: Greeting, Coding, Education, Finance
  • šŸ¤– Local AI: Privacy-focused with local Ollama integration

šŸ—ļø Architecture

graph TD
    A[Smart Tagging Bridge] --> B[Ollama LLM]
    A --> C[Note Storage]
    A --> D[MCP Protocol]
    D --> E[MCP Server]
    D --> F[MCP Client]
    G[CLI] --> A
    H[Auto-Tagging Engine] --> B
    H --> I[Keyword Fallback]

šŸš€ Quick Start

Prerequisites

  • Python 3.8+
  • Ollama installed and running
  • Compatible LLM model (recommended: qwen2.5:7b)

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/mcp-smart-notes.git
    cd mcp-smart-notes
    
  2. Install dependencies

    pip install -r requirements.txt
    
  3. Start Ollama (in another terminal)

    ollama serve
    
  4. Pull a compatible model

    ollama pull qwen2.5:7b
    

Usage

šŸŽÆ Smart Auto-Tagging System (Recommended)

python smart_tagging_bridge.py

šŸ’” Example Usage

You: Create a note about my Python web development project

šŸ”§ Using tool: create_note
šŸ·ļø Auto-assigned tags: ['Coding']
āœ… Created note 'Python Web Development Project' with ID: 20250629_223459_661 with tags: ['Coding']

šŸ“ Project Structure

MCP-Testing/
ā”œā”€ā”€ šŸ“„ smart_tagging_bridge.py      # Main system with intelligent auto-tagging
ā”œā”€ā”€ šŸ“„ note_server.py               # Full MCP server implementation
ā”œā”€ā”€ šŸ“„ ollama_mcp_client.py         # MCP client for Ollama integration
ā”œā”€ā”€ šŸ“„ simple_note_server.py        # Minimal MCP server for testing
ā”œā”€ā”€ šŸ“„ simple_bridge.py             # Direct integration layer
ā”œā”€ā”€ šŸ“„ test_auto_tagging.py         # Comprehensive test suite
ā”œā”€ā”€ šŸ“„ requirements.txt             # Python dependencies
ā”œā”€ā”€ šŸ“„ README.md                    # This file
ā”œā”€ā”€ šŸ“„ .gitignore                   # Git ignore patterns
└── šŸ“ Documentation/     # MCP protocol documentation

šŸ› ļø Available Tools

ToolDescriptionUsage
create_noteCreate notes with auto-taggingTitle, content, optional manual tags
search_notesFull-text searchQuery string matches title/content/tags
search_by_tagTag-specific searchFind all notes with specific tag
list_notesList all notesShows titles, IDs, and auto-tag indicators
update_noteModify existing notesUpdate title, content, or tags
delete_noteRemove notesPermanent deletion by note ID

šŸ·ļø Auto-Tagging Categories

  • šŸ¤ Greeting: Welcomes, introductions, social interactions
  • šŸ’» Coding: Programming, development, technical content
  • šŸ“š Education: Learning, courses, tutorials, studies
  • šŸ’° Finance: Budget, money, investments, financial planning

šŸ”§ Technical Details

MCP Protocol Compliance

  • āœ… JSON-RPC 2.0 over stdio transport
  • āœ… Tool registration with parameter schemas
  • āœ… Resource discovery and URI handling
  • āœ… Error handling and status codes
  • āœ… Session management and lifecycle

Error Handling

  • Ollama Offline: Graceful degradation with helpful messages
  • LLM Failures: Automatic keyword-based fallback tagging
  • File Corruption: Silent skip of corrupted JSON files
  • Network Issues: Retry mechanisms with exponential backoff

šŸ¤ Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

šŸ“š Documentation

For detailed MCP protocol information, see:

šŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

šŸ™ Acknowledgments

šŸ› Known Issues

  • Large note collections may experience slower search performance

⭐ Star this repository if you find it useful! ⭐

Reviews

No reviews yet

Sign in to write a review

mcp-smart-notes — MCP Server | MCP Hub