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: Notebook MCP Server

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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.
    95
    2
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to read and write UpNote notes locally via SQLite and URL schemes, supporting search, creation, editing, and organization.
    19
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/VRurs1606/notekeeper-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server