Skip to main content
Glama
README.md
# AI Sticky Notes MCP Server

An [MCP](https://modelcontextprotocol.io/) server that lets an AI assistant save, read, and summarize personal notes. Notes are stored in a local `notes.txt` file next to the server.

## Features

- **`add_note` tool**: Append a new note.
- **`read_notes` tool**: Read all saved notes.
- **`notes://latest` resource**: Retrieve the most recently added note.
- **`note_summary_prompt` prompt**: Create a prompt containing the current notes for summarization.

## Requirements

- Python 3.12 or newer
- `pip` or [uv](https://docs.astral.sh/uv/)

## Run Locally

### Using uv

```powershell
uv sync
uv run python main.py
```

### Using pip

Create and activate a virtual environment, then install the dependency:

```powershell
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python main.py
```

The server communicates over MCP stdio, so it is normally launched by an MCP-compatible client rather than opened directly in a browser.

## Test the Server

With the MCP CLI installed, start the MCP Inspector with:

```powershell
mcp dev main.py
```

Use the Inspector to call `add_note`, `read_notes`, open the `notes://latest` resource, and run `note_summary_prompt`.

You can also verify the Python module and syntax directly:

```powershell
uv run python -c "import main; print('MCP server import ok')"
uv run python -m py_compile main.py
```

## Deploy with Smithery

The repository includes `smithery.yaml`, which configures Smithery to start the server with:

```yaml
startCommand:
	type: stdio
	command: python
	args: ["main.py"]
```

Push the deployment files to a GitHub repository and deploy that repository through Smithery. The important files are:

- `main.py`
- `requirements.txt`
- `smithery.yaml`

`notes.txt` is optional because the server creates it automatically when needed. Include it only if you want to ship the sample notes.

## Run with Docker

Build and start the included image:

```powershell
docker build -t ai-sticky-notes .
docker run --rm -i ai-sticky-notes
```

## Project Structure

```text
main.py          MCP server implementation
requirements.txt Python dependencies
smithery.yaml    Smithery stdio startup configuration
Dockerfile       Container build configuration
notes.txt        Local note storage, created automatically if absent
```

## Storage Note

Notes are stored in a plain text file. This is suitable for local use and demonstrations, but hosted containers may not preserve the file across restarts or redeployments. Durable production storage should use an external database or persistent volume.