Skip to main content
Glama
VRurs1606

NoteKeeper MCP

by VRurs1606

NoteKeeper MCP

An MCP (Model Context Protocol) server, built with FastMCP, that gives an AI assistant tools to capture, search, tag, and manage notes. Notes are stored in a local SQLite database.

Built to explore the Model Context Protocol: how to expose real, stateful functionality to an LLM through a clean, testable, deployable server.

Features

  • Four MCP tools for full note management (create, list, search, delete)

  • Persistent storage in SQLite — notes survive across sessions

  • Tag support — organize notes with comma-separated tags and search by them

  • Safe database access using parameterized queries (SQL-injection safe)

  • Fully tested with an isolated pytest suite

  • Installable package with a clean src/ layout

Related MCP server: MarkBox

Tools

Tool

Description

add_note

Save a new note with optional tags

list_notes

List all notes, newest first

search_notes

Find notes by keyword in content or tags

delete_note

Delete a note by its id

Installation

Requires Python 3.10+.

# Clone the repository
git clone https://github.com/VRurs1606/notekeeper-mcp.git
cd notekeeper-mcp

# Create and activate a virtual environment
python -m venv .venv
# Windows:
.venv\Scripts\activate
# macOS/Linux:
source .venv/bin/activate

# Install the package and its dependencies
pip install -e .

Usage

Run the tests

pytest

Try the demo

A demo client that exercises every tool in-memory:

python demo.py

Connecting to Claude Desktop

To use NoteKeeper with Claude Desktop, add it to your MCP config file:

Windows: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "notekeeper": {
      "command": "python",
      "args": ["/absolute/path/to/notekeeper-mcp/src/notekeeper_mcp/server.py"]
    }
  }
}

Restart Claude Desktop, and you can ask it to save and search notes in natural language.

Project Structure

notekeeper-mcp/ ├── src/notekeeper_mcp/ │ ├── init.py │ ├── server.py # MCP server and tool definitions │ └── database.py # SQLite storage layer ├── tests/ │ ├── conftest.py # Shared test fixtures │ └── test_database.py # Storage layer tests ├── demo.py # In-memory demo client ├── pyproject.toml # Package configuration └── README.md

Tech Stack

  • Python 3.10+

  • FastMCP — MCP server framework

  • SQLite — persistent storage (Python standard library)

  • pytest — testing

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to search, read, create, update, and remove personal markdown notes stored locally, providing persistent memory across sessions.
    7 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A local notes app that enables AI tools to manage notes via MCP (list, get, create, update, delete) using the same SQLite database as the GUI.
    8 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Provides an AI agent with a searchable markdown notes vault, offering tools to create, read, list, search, update, and delete notes stored as plain .md files.
    6
    MIT