Skip to main content
Glama
Aakash-Agrahari

AI Sticky Notes MCP Server

README.md
# AI Sticky Notes MCP Server

An AI-powered Sticky Notes application built using the **Model Context Protocol (MCP)** and **FastMCP**. This project allows AI assistants like **Claude Desktop** to interact with a local note-taking system through MCP tools, resources, and prompts.

The server enables users to create, retrieve, summarize, and organize notes directly through natural language conversations with Claude.

---

## Features

- šŸ“ Add new sticky notes
- šŸ“– Read all saved notes
- šŸ“Œ Retrieve the latest note
- šŸ¤– Generate AI summaries of stored notes
- šŸ“‚ Persistent local storage using a text file
- šŸ”Œ Works as an MCP server for Claude Desktop

---

## Tech Stack

- Python 3.12+
- FastMCP
- Model Context Protocol (MCP)
- Claude Desktop
- UV Package Manager

---

## Project Structure

```
.
ā”œā”€ā”€ main.py              # MCP server implementation
ā”œā”€ā”€ notes.txt            # Stores all sticky notes
ā”œā”€ā”€ pyproject.toml       # Project configuration
ā”œā”€ā”€ uv.lock              # Dependency lock file
ā”œā”€ā”€ .python-version
ā”œā”€ā”€ .gitignore
└── README.md
```

---

## MCP Components

### Tools

### 1. add_notes(message)

Adds a new note to the local notes file.

Example:

```
Add a note saying:
Finish the AI assignment tonight.
```

---

### 2. read_notes()

Returns all stored notes.

Example:

```
Show me all my notes.
```

---

### 3. show_latest_note_view()

Displays the latest note in a structured format.

Example:

```
Show my latest note.
```

---

## Resources

### notes://latest

Returns the most recently saved note.

Example:

```
Read the latest sticky note.
```

---

## Prompts

### note_summary_prompt()

Automatically creates a prompt that asks Claude to summarize all stored notes.

Example:

```
Summarize my notes.
```

Claude receives a prompt containing every saved note and generates an intelligent summary.

---

## Installation

Clone the repository

```bash
git clone https://github.com/yourusername/ai-sticky-notes-mcp.git

cd ai-sticky-notes-mcp
```

Install dependencies

```bash
uv sync
```

or

```bash
pip install "mcp[cli]"
```

---

## Running the MCP Server

```bash
python main.py
```

or

```bash
mcp dev main.py
```

---

## Connecting to Claude Desktop

Add the server configuration to Claude Desktop.

Example:

```json
{
  "mcpServers": {
    "sticky-notes": {
      "command": "python",
      "args": [
        "/absolute/path/to/main.py"
      ]
    }
  }
}
```

Restart Claude Desktop after saving the configuration.

---

## Example Usage

### Add a Note

```
Remember to submit my internship assignment tomorrow.
```

---

### Read Notes

```
Show all my notes.
```

---

### Latest Note

```
What was my latest note?
```

---

### AI Summary

```
Summarize all my notes.
```

---

## How It Works

1. Claude sends a request through the MCP protocol.
2. The MCP server receives the request.
3. FastMCP routes the request to the appropriate Tool, Resource, or Prompt.
4. Notes are stored or retrieved from `notes.txt`.
5. Claude receives the response and presents it naturally to the user.

---

## Future Improvements

- Semantic search using vector embeddings
- SQLite or MongoDB storage
- Note categories and tags
- Note editing and deletion
- AI-generated quizzes from notes
- Note importance ranking
- PDF note import
- Voice note support
- Multi-user authentication
- Cloud synchronization

---

## Learning Outcomes

Through this project, I learned:

- Model Context Protocol (MCP)
- Building custom AI tools
- FastMCP server development
- Claude Desktop integrations
- Tool, Resource, and Prompt architecture
- Local data persistence
- AI-assisted note management

---

## License

This project is intended for educational and learning purposes.