Skip to main content
Glama

NotePilot (Notes Assistant AI Chat App)

Turn thoughts into structured knowledge..!

A minimal Notes application built on the Model-Context-Protocol (MCP). A Python MCP server exposes note management tools over stdio; an async client connects Claude AI to those tools so you can create, search, and manage notes through a natural-language chat interface.

Overview

You ──► Claude AI (Anthropic) ──► MCP Client ──► MCP Server ──► SQLite
              (tool calls)          (stdio)       (FastMCP)     (notes.db)

Claude receives a set of note-management tools from the MCP server. When you ask it to "create a note about X" or "find notes mentioning Y", it invokes the appropriate tool, gets the result, and responds conversationally.

Tech Stack

Layer

Technology

Language

Python 3.12+

Package manager

uv

MCP framework

mcp[cli] (FastMCP)

AI / LLM

Anthropic SDK (AsyncAnthropic)

Database

SQLite via sqlite-utils

CLI formatting

colorama

Config

python-dotenv

Prerequisites

Configuration

Create a .env file in the project root:

ANTHROPIC_API_KEY="sk-ant-..."
CLAUDE_MODEL="claude-haiku-4-5-20251001"

Installation

# Clone the repo
git clone https://github.com/chaitanya-jadhav11/notes-mcp
cd notes-mcp

# Install dependencies
uv sync

Usage

# Start the interactive chat client
uv run -m client.client

You can then chat naturally with Claude. Examples:

You: Create a note titled "Shopping list" with milk, eggs, and bread.
You: Show me all my notes.
You: Search for notes about bread.
You: Update the shopping list to add butter.
You: Delete the shopping list note.

To inspect or develop the MCP server interactively:

uv run mcp dev server/server.py

Project Structure

notes-mcp/
├── .env                    # API key and model config (create this)
├── pyproject.toml          # Project metadata and dependencies
├── uv.lock                 # Pinned dependency lock file
├── notes.db                # SQLite database (auto-created on first run)
│
├── server/
│   ├── server.py           # FastMCP server — defines the 8 note tools
│   └── db.py               # SQLite CRUD layer (UUID keys, ISO timestamps)
│
└── client/
    ├── client.py           # MCPClient class + interactive REPL loop
    └── claude_client.py    # Anthropic API wrapper — manages conversation
                            # history, tool-call loops, and prompt caching

Available MCP Tools

The server exposes the following tools to Claude:

Tool

Description

list_notes

List all notes (id + title)

create_note

Create a note with a title and body

get_note_by_id

Fetch a single note by UUID

get_notes_by_title

Find notes by exact or partial title match

search_notes

Full-text search across note bodies

update_note

Update a note's title and/or body

delete_note_by_id

Delete a note by UUID

delete_notes_by_title

Delete all notes matching a title

App Screenshot

mcp-Notes-chat-example.jpg

Anthropic course certificate

Anthropic-MCP_cert.jpg

F
license - not found
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/chaitanya-jadhav11/notes-mcp'

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